Tools and Integrations
Here you can find a list of libraries and frameworks serving the Swagger ecosystem.
The main list consists of tools that provide support for the latest Swagger 2.0. Below, you can find a list of tools that have not yet been updated.
Swagger-Group Projects
These are the projects that were created by the same people who authored the Swagger Specification:
| Name | Main Purpose | Description |
|---|---|---|
| swagger-js | JavaScript integration | A Swagger implementation for JavaScript. |
| swagger-ui | Swagger description rendering | A dependency-free collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. |
| swagger-tools | Node.js middleware | A Node.js and browser module that provides tooling for validation and more around Swagger. |
| swagger-editor | Swagger description editing | Swagger Editor lets you edit API specifications in YAML inside your browser and preview documentation in real time. Valid Swagger JSON descriptions can then be generated and used with the full Swagger tooling (code generation, documentation, etc). |
| swagger-core | Java integration | A Swagger implementation for Java/Scala. Has integration with JAX-RS (Jersey, Resteasy, CXF…), Servlets and Play Framework. |
| swagger-parser | Java integration | A reader of Swagger definitions in Java. |
| swagger-codegen | Client/Server code generation | A template-driven engine to generate client code in different languages by parsing your Swagger documentation. |
| swagger-node | Node.js integration | Tool for building APIs in Node.js with integration for Express, hapi, restify, and Sails. |
| validator-badge | Validation service | Validate your Swagger definitions as a service. |
Community-Driven Language Integrations
All the tools under this section support Swagger 2.0.
Clojure
| Name | Description |
|---|---|
| ring-swagger | Swagger implementation for Clojure/Ring using Prismatic Schema for data models. |
| compojure-api | Swagger for Compojure. |
| fnhouse-swagger | Swagger for fnhouse. |
| pedestal-swagger | Swagger for pedestal. |
| swagger1st | A Clojure/Ring handler that does parsing, validation and routing based on swagger definitions. |
| Friboo | Utility library for writing microservices in Clojure, with support for Swagger and OAuth. |
ColdFusion
| Name | Description |
|---|---|
| swagger-sdk | This module allows for software development using the Swagger/OpenAPI specification and utilizes the v3.0 OpenAPI Specification. |
| cbSwagger | This module automatically generates OpenAPI (fka Swagger) documentation from your configured ColdBox MVC application and module routes. |
C++
| Name | Description |
|---|---|
| oatpp-swagger | Swagger-UI integration for oat++ applications. Utilizes OpenAPI 3.0.0 Specification. |
D
| Name | Description |
|---|---|
| swaggerize | Specification parsing and structures, request validation and handler bindings. |
Delphi
| Name | Description |
|---|---|
| SwagDoc | SwagDoc is a Delphi library to generate swagger.json file for Swagger Spec version 2.0. Create a public documentation REST API using Swagger 2.0 for Delphi Language. |
Erlang
| Name | Description |
|---|---|
| cowboy-swagger | Add swagger compliant specifications to your cowboy web server. Available on hex.pm. |
Elixir
| Name | Description |
|---|---|
| PhoenixSwagger | PhoenixSwagger is the library that provides Swagger integration to the Phoenix web framework. It generates Swagger specification for Phoenix controllers and validates the requests. |
Elm
| Name | Description |
|---|---|
| swagger-to | swagger-to generates Elm client code from a Swagger spec. |
GitLab
| Name | Description |
|---|---|
| swagger-template | A template project to automatically turn your YAML files into Swagger UI documentation. |
Go
| Name | Description |
|---|---|
| go-swagger | A toolkit to support your API development with Swagger. |
| goa | goa is a framework for building RESTful microservices in Go with first class Swagger support. |
| grpc-gateway | Generate a REST gateway and swagger definition from a gRPC protobuf definition. |
| swagger-to | swagger-to generates Go server code from a Swagger spec. |
Haskell
| Name | Description |
|---|---|
| swagger2 | Express swagger 2.0 schemas in Haskell. |
| servant-swagger | Servant is a framework for building RESTful microservices in Haskell with first class Swagger support via servant-swagger. |
Java
| Name | Description |
|---|---|
| assertj-swagger | assertj-swagger is a library which compares a design-first Swagger YAML with an implementation-first Swagger JSON output (e.g. from springfox). assertj-swagger allows to validate that the implementation is in compliance with the design specification. |
| binder-swagger-java | binder-swagger-java was designed to help construct the swagger object, corresponding to swagger.json, and let it accessible from swagger ui or other http visitors. |
| dropwizard-swagger | A dropwizard bundle that wraps Swagger-Core. |
| elide | A framework for building JSON-API web services with generated Swagger documentation. |
| jooby-swagger | Export jooby apps to Swagger Spec 2.0. |
| restlet-framework | Restlet Framework extension that supports auto-generation of Swagger 2.0 from Restlet API and JAX-API applications. |
| springfox | Integrates with Spring MVC with support for Swagger 1.2 and Swagger 2.0 spec. |
| swagger-codegen-maven-plugin | A maven build plugin which allows the codegen project to be triggered for generating clients, etc. during the build process. |
| swagger2markup | Swagger2Markup converts a Swagger JSON or YAML file into AsciiDoc or Markdown documents which can be combined with hand-written documentation. The AsciiDoc documents can be converted into HTML5, PDF and EPUB. |
| swagger2markup-gradle-plugin | A Swagger2Markup Gradle Plugin which converts a Swagger JSON or YAML file into AsciiDoc or Markdown documents. |
| swagger-maven-plugin | Support Swagger Spec 2.0, integrate with JAX-RS & Spring MVC project, and easily generate swagger.json & a static document during build phase. |
| swagger-codegen-gradle-plugin | A Gradle Plugin which wraps swagger-codegen. |
| swagger-request-validator | A standalone library for validating request/response interactions against a Swagger / OpenAPI spec. Framework agnostic, with adapters for WireMock, Rest Assured and Pact. |
| Swagger Brake CLI | A library with a CLI interface that checks 2 API specifications for breaking changes. |
| Swagger Brake Maven Plugin | A Maven plugin for Swagger Brake. |
| Swagger Brake Gradle Plugin | A Gradle plugin for Swagger Brake. |
JavaScript
| Name | Description |
|---|---|
| Swagger Parser | Parses, validates, and dereferences JSON/YAML Swagger specs in Node and browsers. |
Jolie
| Name | Description |
|---|---|
| Jester - Jolie rEST routER | The toolset allows for the deployment of existing Jolie services as REST microservices. It generates Swagger descriptors to be used in a SwaggerUI. Starting from an existing Swagger descriptor it generates the Jolie client stubs for performing all the available APIs. |
Lua
| Name | Description |
|---|---|
| lua-Spore | A generic ReST client using Swagger 2.0 descriptions. |
TypeScript
| Name | Description |
|---|---|
| NSwag | The toolset generates TypeScript client classes and DTO interfaces to call web service operations (supports JQuery, AngularJS, Angular 2 and more). |
| swagger-to | swagger-to generates Angular 2+ client code from a Swagger spec. |
.NET
| Name | Description |
|---|---|
| Swashbuckle | Adds some Swagger to your WebApi. |
| Swashbuckle.AspNetCore | Swagger tools for documenting API’s built on ASP.NET Core. |
| AutoRest | The AutoRest tool generates client libraries for accessing RESTful web services from a Swagger specification. |
| SwaggerProvider | F# Type Provider for Swagger. |
| NSwag | The toolchain generates Swagger specifications from Web API controllers and client code to access them via C#. |
| QSwag | Fast & Light Swagger generator for .NET Core. |
| SwaggerWcf | Generates Swagger (2.0) for WCF services and also provides swagger-ui. |
| Nancy.Swagger | Generates Swagger for Nancy services on .Net Framework/Core/Standard. |
| Unchase OpenAPI Connected Service | Visual Studio 2017/2019 extension to generate C# (TypeScript) HttpClient (or C# Controllers) code for OpenAPI (formerly Swagger API) web service with NSwag. |
Node.js
| Name | Description |
|---|---|
| a127 | a127 is a toolkit for modeling & building rich, enterprise-class APIs in Node.js on your laptop. The focal point of a127 is the Swagger 2.0 specification for defining and describing an API model. From the Swagger model you can generate clients, servers and interactive documentation for your API. |
| api-spec-converter | A tool for converting from other API specification formats (e.g. I/O Docs and API Blueprint) to Swagger. |
| blueoak-server | BlueOak Server maximizes the value of your Swagger API by using it to drive runtime behavior. |
| express-openapi | An unopinionated openapi framework for express. |
| fleek-parser | A simple parser integrated with swagger on top of Koa.js. |
| fleek-response | A simple response library integrated with swagger on top of Koa.js. |
| fleek-router | A simple router integrated with swagger on top of Koa.js. |
| fleek-validator | A simple validator integrated with swagger on top of Koa.js. |
| fury-adapter-swagger | Fury.js provides a uniform interface to API description formats such as API Blueprint and Swagger. fury-adapter-swagger is an adapter for Swagger. |
| generator-swaggerize | Yeoman generator for krakenjs/swaggerize tools. |
| got-swag | A CLI and lib to run automated tests on Swagger-powered APIs. Supports monkey testing and customized test suites. |
| hapi-swaggered | A hapi.js plugin to generate swagger v2.0 compliant specifications based on hapi routes and joi schemas. |
| hippie-swagger | API testing tool with automatic swagger assertions. |
| oas-nodegen | A library for generating completely customizable code from the Open API Specification using the scripting power of Node.js. |
| openapi-mock | A CLI to start a mock server based upon a Swagger/OpenAPI JSON or YAML spec file. |
| pokemock | A mock server generated from an arbitrary Swagger file. Exports a set of customizable Express middlewares. |
| sails-swagger | A Sails.js plugin that generates Swagger (v2.0) API documentation. |
| serverless_swagger | A Serverless plugin that generates serverless configuration, API gateway events, and basic handler stub functions from a Swagger specification. |
| swagger-jsdoc | Takes JSDoc comments from any set of JavaScript files and generates a Swagger specification file that can be consumed by Swagger UI. Works also with CLI. |
| swagger-mongodb | A lightweight swagger-ui CRUD API backed by MongoDB. |
| swagger-tools | Various Swagger tools for JavaScript including an API/CLI (conversion, validation, …) and Connect middleware for routing, validation, security and swagger-ui. |
| swaggerize-express | Design-driven RESTful APIs with Swagger and Express. |
| swaggerize-hapi | Design-driven RESTful APIs with Swagger and hapi. |
| swagmock | Mock data generator for Swagger APIs. Generates mock requests and responses according to the Swagger API specification of your application. |
| Swagger Express Middleware | Swagger middleware and mocks for Express.js. |
| Swagger Parser | Parses, validates, and dereferences JSON/YAML Swagger specs in Node and browsers. |
| test2doc.js | Autogenerate Swagger specification from your tests/specs. |
| koa-joi-swagger | Using joi schema to validate and generate Swagger UI, for koa. |
| swagger-stats | API telemetry based on the Swagger (OpenAPI) specification. Trace API calls and monitor API performance, health, and usage statistics in Node.js microservices. |
Perl
| Name | Description |
|---|---|
| Raisin | A framework with a built-in Swagger support. |
| MojoliciousPluginOpenAPI | Generates Mojolicious routes and input/output validation rules. |
| OpenAPI::Client | Perl generator for user agent code. |
PHP
| Name | Description |
|---|---|
| cakephp-swagger | CakePHP 3.x plugin that adds auto-generated Swagger 2.0 documentation to your projects using swagger-php and swagger-ui. |
| Swagger-PHP | A library implementing the swagger.io specification to describe web services, operations/actions and models enabling a uniform means of producing, consuming, and visualizing RESTful web services. |
| SwaggerAssertions | Swagger 2 test assertions to validate your API requests and responses. |
| php-swaggerize-fastroute-library | A package to automatically generate FastRoute from a swagger json definition. Compatible with Lumen when using controller classes. |
| SwaggerGen | A Swagger 2.0 documentation generator for existing PHP source code, using human-writeable PHP-Documentor style comments. |
| Jane OpenAPI | Generate a PHP Client API (PSR7 compatible) from an OpenAPI (Swagger) specification. |
| gossi/swagger | A php library to manipulate swagger specifications. |
| calcinai/strut | A complete OpenAPI manipulation library. Allows full creation/loading, modification and serialization of specifications. |
| byjg/swagger-test | A set of tools for testing your REST calls based on the swagger documentation using PHPUnit. |
Python
| Name | Description |
|---|---|
| falsy | With FAL.S.Y, you can use falcon, swagger-ui, and yml together, which makes writing APIs easy. |
| pyramid-swagger | Convenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp. |
| pyramid-openapi3 | Validate Pyramid views and responses against an OpenAPI 3.0 document. |
| flask-restplus | Helpers, syntactic sugar and Swagger documentation for Flask-Restful. |
| pyswagger | A type-safe, dynamic, spec-compliant Swagger client. |
| flex | Swagger 2.0 schema validation, and tooling for validating arbitrary request/response objects. |
| Flasgger | Flask Extension to provide Swagger 2.0 to any view using docstrings (embeds swagger UI). |
| flask-swagger | A Swagger 2.0 extractor for Flask via YAML in docstrings. |
| bravado | Swagger 2.0 client with support for both synchronous and asynchronous http. |
| bravado-core | Library for Swagger 2.0 schema ingestion, validation, request/response validation, etc. |
| swagger-spec-validator | Library for validating Swagger 1.2 and 2.0 schemas. |
| swagger-py-codegen | Generate Flask-RESTful application code from a Swagger Specification doc. |
| Connexion | Swagger-first REST framework on top of Flask with validation and OAuth 2 support. |
| pecan-swagger | Partial swagger extractor for pecan. |
| swagger-parser | Gives useful information about your swagger files. |
| swagger-tester | Automatic swagger API tester. |
| swagger-aggregator | Aggregate several swagger APIs in one. |
| swagger-stub | Generate a stub from a swagger file. |
| bottle-swagger | Swagger integration for the Bottle web framework. |
| prance | Swagger parser that resolves JSON references. |
| spec-synthase | A tool to help deal with big swagger 2.0 files, by building the swagger specification file from small yaml files. |
| FastAPI | High performance, easy to learn, fast to code, ready for production. Powered by Starlette and Pydantic. Based on OpenAPI 3. Includes Swagger UI as a frontend. All using Python 3.6+ types. |
| swagger-to | swagger-to generates Python client code with type annotations from a Swagger spec. |
R
| Name | Description |
|---|---|
| plumber | Create an API powered by the R language whose default OpenAPI documentation is served by swagger. |
| swagger | Dynamically Generate Documentation from a ‘Swagger’ Compliant R API. |
Ruby
| Name | Description |
|---|---|
| Apivore | RSpec based tool to test your API against its Swagger 2.0 specification. |
| grape-swagger | Add Swagger compliant documentation to your grape API. |
| MiniApivore | MiniTest based revision of Apivore gem, a tool to test your API against its Swagger 2.0 specification. |
| oas_parser | A Ruby Open API Spec 3 Definition Parser. |
| swagger-blocks | Define and serve live-updating Swagger JSON for Ruby apps. |
| swagger_engine | Include Swagger-ui as a mountable rails engine. |
| svelte | Dynamic Ruby client generator for Swagger 2.0 compliant APIs. |
| rspec-rails-swagger | Generate Swagger 2.0 docs for Rails apps using RSpec request specs. Test results can be captured as response examples. |
| rswag | Swagger tooling for Rails APIs. Generate beautiful API documentation, including a UI to explore and test operations, directly from your rspec integration tests. |
Scala
| Name | Description |
|---|---|
| sbt-swagger-codegen | Models, Client and Server code generation integrated as an SBT plugin. Generate code from your Swagger files. Client and server depends on playframework. |
| play-swagger | Plugin that with Play Framework makes it easy to build RESTful web services from a Swagger API specification as the single source of truth. |
| Fintrospect | Finagle-based web framework which generates typesafe endpoint Swagger documentation out of the box, including generation of JSON-schema for models descriptions. |
| swagger-akka-http | Support for generating OpenAPI documentation for akka-http based applications. |
Swift
| Name | Description |
|---|---|
| SwagGen | Swift command line tool for generating client side code from a Swagger spec. Built in support for Swift target. |
Community-Driven Tools
These are third party tools generated by the Swagger community:
| Name | Description |
|---|---|
| APIs.guru | Wikipedia for Web APIs. Directory of REST API specs in OpenAPI (fka Swagger) 2.0 format. |
| API Spots | A collection of ‘human-friendly’ tools for anyone interested in discovering, exploring and interacting with APIs without the need for a technology background. |
| bootprint-swagger | A tool for creating static documentation from Swagger definitions, with customizable styles and templates using Handlebars, LessCss and Bootstrap. |
| Dredd | Language-agnostic command-line tool for validating Swagger document against backend implementation of the API. |
| ember-swagger-ui | An ember-cli addon for quickly and easily adding swagger-ui to your EmberJS application. |
| generator-openapi-repo | Yeoman generator to setup GitHub repo with spec, documentation (ReDoc + swagger-ui) and live-editing with swagger-editor. |
| intellij-swagger | Swagger Plugin helps you to easily edit OpenAPI/Swagger specification files inside IntelliJ IDEA. |
| linter-swagger | Atom Package for linting Swagger spec. |
| ReDoc | OpenAPI/Swagger-generated API Reference Documentation. |
| swagger-commander | Plug & play command line interface to Swagger APIs. |
| swagger-confluence | A tool for parsing a Swagger Schema and publishing API documentation to an Atlassian Confluence wiki. Includes a Java library, a command line executor, and a Gradle plugin. |
| swagger-diff | A command-line utility, RSpec matcher, and Ruby library for comparing two Swagger specifications. |
| swagger-style-validator | A customizable style validator to make sure your Swagger/OpenApi spec follows your organization’s standards. |
| SwagDefGen | JSON request/response mocks to Swagger definitions converter. |
| vscode-apielements | A Visual Studio Code extension which will bring interactivity into your swagger documents. |
| ember-swagger-ui | An ember-cli addon for quickly and easily adding swagger-ui to your EmberJS application. |
| commandcar | cURL on steroids. Invoke any API from the commandline. |
| SwagGen | Swift command line tool for generating client side code from a Swagger spec. |
| swagger-mock-validator | Language-agnostic command-line tool for validating a Swagger document against a mock file, such as a Pact file. |
| Spectacle | A beautiful static HTML5 documentation generator for OpenAPI/Swagger 2.0. |
| Swagger-ui-themes | A collection of css themes to spice up your Swagger docs. |
| APIFuzzer | Fuzz test your application using your Swagger definition without coding. |
| swagger-to-flowtype | A CLI tool for generating type definitions of Flow from a given Swagger file. |
| swagger_style | Checks the style (naming conventions, descriptions etc.) of a Swagger spec. Part of the swagger-to set of tools. |
Tools for Previous Swagger Versions
The tools below do not produce Swagger 2.0 yet. They are listed here as they may still have value for users. Feel free to contribute to these projects and help them move to Swagger 2.0!
Clojure
| Name | Description |
|---|---|
| octohipster | A hypermedia REST HTTP API library for Clojure. |
ColdFusion / CFML
| Name | Description |
|---|---|
| swagger-docs-cfml | Swagger documentation for ColdFusion/CFML applications. |
Eiffel
| Name | Description |
|---|---|
| swagger | Swagger protocol implementation in Eiffel. |
Go
| Name | Description |
|---|---|
| go-restful | Library to build REST based Web Services using Google Go. |
| Sashay | A Go code generator for REST services that expose a Swagger specification. |
| beego | A framework that supports auto generating swagger spec from comments. |
| Swagger spec generator | A swagger spec auto generator. Doesn’t depend on any framework. |
Groovy
| Name | Description |
|---|---|
| springfox | SpringFox Grails integration library that produces swagger specification documentation for Grails 3.x. |
| restapidoc | A simple RESTful API documentation plugin for the Grails web application framework. |
| swaggydoc | Swagger Documentation for Grails Controllers. |
Java
| Name | Description |
|---|---|
| swagger4spring-web | Integration with Spring MVC. |
| swagger-jaxrs-doclet | A JavaDoc Doclet that can be used to generate a Swagger resource listing suitable for feeding to swagger-ui. |
| swaggerj4 | A parsing library to turn swagger specifications into POJOs. |
| swaggerapi | Creates a Swagger resource listing suitable for feeding to swagger-ui by annotating your classes and methods and handles API calls to those methods. |
| swagger-validator | Validates that definitions in a swagger.yaml match the actual Java code. |
JavaScript
| Name | Description |
|---|---|
| swagger-ajax-client | Swagger client to communicate with a Swagger server using XHR requests from browsers. Includes client-side validation of requests against the given Swagger spec. |
| swagger-angular-client | Angular service Swagger client to communicate with a Swagger server using the Angular-specific services (such as $http). Includes client-side validation of requests against the given Swagger spec. |
| swagger-client-generator | Client library generator which can be used to create framework or platform-specific Swagger clients given a transport method (e.g. swagger-angular-client or swagger-node-client). |
| swagger-validate | Validation utility to validate Swagger models or requests against a given spec, useful for writing Swagger client libraries. |
.Net
| Name | Description |
|---|---|
| ServiceStack | A high-performance .NET web services platform that simplifies the development of high-performance REST (JSON, XML, JSV, HTML, MsgPack, ProtoBuf, CSV) and WCF SOAP Web Services. Has support for Swagger integration. |
| fubumvc-swagger | This project helps your FubuMVC web application generate API documentation via Swagger. |
| dotswaggen | .Net application that generates code (or anything else, e.g. markdown) from a swagger specification file. |
Node.js
| Name | Description |
|---|---|
| Swagger Framework | A module for creating Swagger-based apis using the standard HTTP request listener interface (including Express). It supports request normalization/validation, pluggable consumes/produces, spec validation, and more. |
| swagger-jack | Express middleware to automatically create route and validate inputs from a swagger descriptor (for NodeJS). |
| hapi-swagger | A Swagger interface for HAPI. |
| Swagger Validation | A library to validate a request that integrates with swagger-node-express. |
| swagger-node-client | Node client to communicate with Swagger servers. Includes detailed client-side validation against the API spec. |
| ratify | A Hapi plugin that automatically creates Swagger documentation AND validates request/response parameters using the JSON Schema spec. |
| swagger-express | A simple and clean solution to integrate swagger with express straight away from jsdoc or a yaml file. |
PHP
| Name | Description |
|---|---|
| NelmioApiDocBundle | A Symfony Bundle. |
| Restler | PHP framework, swagger support in 3.0. |
| swagger-assert | Enable to assert keys in swagger document and API response. |
| Swaggervel | A package for Laravel that uses Swagger-PHP and swagger-ui to auto-generate docs for your project. |
Python
| Name | Description |
|---|---|
| django-rest-swagger | Swagger Documentation Generator for Django REST Framework. |
| django-tastypie-swagger | An adapter to use Swagger with django-tastypie. |
| flask-restful-swagger | A Swagger spec extractor for flask-restful. |
| tornado-swagger | A Swagger-v1.2 specification extractor for Tornado Restful Framework. |
Ruby
| Name | Description |
|---|---|
| swagger-docs | Generates Swagger files for Rails APIs with a simple DSL. |
| source2swagger | Builds a swagger compliant JSON specification from annotations on the comments of your source code. |
| swagger_engine | Include Swagger-ui as a mountable rails engine. |
Scala
| Name | Description |
|---|---|
| Scalatra | See the Swagger Guide. |
| spray-swagger | Spray-Swagger brings Swagger support for Spray Apis. |
| Api-doc | Creates swagger docs from easily readable ascii text placed in the code. Depends on playframework, but may also be used in other frameworks. |
Community-Driven Tools
| Name | Description |
|---|---|
| gform-admin | An alternative UI client for Swagger. |
| swagger-cli-client | Command-line interface generator to communicate with Swagger servers. |
| Swagger2Postman | Creates a Postman collection from live Swagger documentation. |