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 to preview documentations 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.

D

Name Description
swaggerize Specification parsing and structures, request validation and handler bindings.

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.

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

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 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.
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. The Swagger2MarkupConverter supports the Swagger 1.2 and 2.0 specification.
swagger2markup-gradle-plugin A Swagger2Markup Gradle Plugin which 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.
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.

JavaScript

Name Description
Swagger Parser Parses, validates, and dereferences JSON/YAML Swagger specs in Node and browsers

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).

.NET

Name Description
Swashbuckle Adds some Swagger to your WebApi.
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

Node.js

Name Description
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.
hapi-swaggered A hapi.js plugin to generate swagger v2.0 compliant specifications based on hapi routes and joi schemas.
fleek-router A simple router integrated of swagger with Koa.js
fleek-validator A simple validator integrated with swagger on top of Koa.js
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
hippie-swagger API testing tool with automatic swagger assertions
swaggerize-express Design-driven RESTful apis with swagger and express from @PayPalDev.
swaggerize-hapi Design-driven RESTful apis with swagger and hapi from @PayPalDev.
generator-swaggerize Yeoman generator for krakenjs/swaggerize tools from @PayPalDev.
swagmock Mock data generator for swagger api. Generates mock request and response according to swagger api specification of your application. Examples
a127 a127 is 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. From @apigee
swagger-tools Various Swagger tools for JavaScript including an API/CLI (conversion, validation, ...) and Connect middleware for routing, validation, security and swagger-ui.
Swagger Parser Parses, validates, and dereferences JSON/YAML Swagger specs in Node and browsers
Swagger Express Middleware Swagger middleware and mocks for Express.js
swagger-mongodb lightweight swagger-ui crud-api backed by mongodb
api-spec-converter A tool for converting from other API specification formats (e.g. I/O Docs and API Blueprint) to Swagger
sails-swagger A Sails.js plugin that generates a Swagger (v2.0) document from your application Models, Controllers, and Routes. Also see swagger.balderdash.io for a Sails-themed Swagger UI.

Perl

Name Description
Raisin A framework with a built-in Swagger support.
Swagger2 Perl Swagger validator and documentation generator
Swagger2::Client Perl generator for user agent code
Mojolicious::Plugin::Swagger2 Generates Mojolicious routes and input/output validation rules.

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 for validate your API requests and responses
php-swaggerize-fastroute-library a package to automatically generate FastRoute from swagger json definition. It's compatible with Lumen as long as you use controller class
SwaggerGen a Swagger 2.0 documentation generator for existing PHP source code, using human-writeable PHP-Documentor style comments like @rest\form int[0,123> age Age of the person. With builtin preprocessor.
Jane OpenAPI An API client generator compatible with PSR7 and HTTPlug
gossi/swagger A php library to manipulate swagger specifications

Python

Name Description
pyramid-swagger Convenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp.
flask-restplus Helpers, syntaxic 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 Give useful informations 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.

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.
swagger-blocks Define and serve live-updating Swagger JSON for Ruby apps.
swagger_engine include Swagger-ui as mountable rails engine.
svelte Dynamic Ruby client generator for Swagger 2.0 compliant APIs.
swagger_rails Adds a "swagger" to Rails-based API's by generating swagger descriptions from your api/integration test specs.

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.

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. https://APIs.guru
bootprint-swagger A tool for creating static documentation from Swagger definitions, with customizable styles and templates using Handlebars, LessCss and Bootstrap.
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 Swagger specification files inside IntelliJ IDEA
linter-swagger Atom Package for linting Swagger spec
ReDoc OpenAPI/Swagger-generated API Reference Documentation. Demo
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.ed A Chrome extenstion that will change the way you look at APIs.

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 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 create swagger docs from CFML (Railo) ReST components.

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 support support auto generate swagger spec from comments
Swagger spec generator A swagger spec auto generator. Doesn't depends on any framework

Groovy

Name Description
restapidoc A simple RESTful API documentation plugin for the Grails web application framework.
swaggydoc Swagger Documentation for Grails Controllers. [Source]

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.

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 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

These are third party tools generated by the Swagger community:

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

View Source on GitHub