Swagger 2.0 and OpenAPI 3.0 parser/validator
- Parses Swagger specs in JSON or YAML format
- Validates against the Swagger 2.0 schema or OpenAPI 3.0 Schema
- Resolves all
$refpointers, including external files and URLs
- Can bundle all your Swagger files into a single file that only has internal
- Can dereference all
- Tested in Node.js and all modern web browsers on Mac, Windows, and Linux
- Tested on over 1,500 real-world APIs from Google, Instagram, Spotify, etc.
- Supports circular references, nested references, back-references, and cross-references
- Maintains object reference equality —
$refpointers to the same value always resolve to the same object instance
await or Promise syntax instead. The following example is the same as above:
trylet api = await SwaggerParser;console;catcherrconsole;
For more detailed examples, please see the API Documentation
Install using npm:
npm install @apidevtools/swagger-parser
When using Swagger Parser in Node.js apps, you'll probably want to use CommonJS syntax:
const SwaggerParser = ;
To use Swagger Parser in a browser, you'll need to use a bundling tool such as Webpack, Rollup, Parcel, or Browserify. Some bundlers may require a bit of configuration, such as setting
browser: true in rollup-plugin-resolve.
Full API documentation is available right here
To build/test the project locally on your computer:
Clone this repo
git clone https://github.com/APIDevTools/swagger-parser.git
Run the build script
npm run build
Run the tests
Swagger Parser is 100% free and open-source, under the MIT license. Use it however you want.
This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.
Big Thanks To
Thanks to these awesome companies for their support of Open Source developers ❤