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:

NameMain PurposeDescription
swagger-jsJavaScript integrationA Swagger implementation for JavaScript.
swagger-uiSwagger description renderingA dependency-free collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
swagger-toolsNode.js middlewareA Node.js and browser module that provides tooling for validation and more around Swagger.
swagger-editorSwagger description editingSwagger 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-coreJava integrationA Swagger implementation for Java/Scala. Has integration with JAX-RS (Jersey, Resteasy, CXF…), Servlets and Play Framework.
swagger-parserJava integrationA reader of Swagger definitions in Java.
swagger-codegenClient/Server code generationA template-driven engine to generate client code in different languages by parsing your Swagger documentation.
swagger-nodeNode.js integrationTool for building APIs in Node.js with integration for Express, hapi, restify, and Sails.
validator-badgeValidation serviceValidate your Swagger definitions as a service.

Community-Driven Language Integrations

All the tools under this section support Swagger 2.0.

Clojure

NameDescription
ring-swaggerSwagger implementation for Clojure/Ring using Prismatic Schema for data models.
compojure-apiSwagger for Compojure.
fnhouse-swaggerSwagger for fnhouse.
pedestal-swaggerSwagger for pedestal.
swagger1stA Clojure/Ring handler that does parsing, validation and routing based on swagger definitions.
FribooUtility library for writing microservices in Clojure, with support for Swagger and OAuth.

ColdFusion

NameDescription
swagger-sdkThis module allows for software development using the Swagger/OpenAPI specification and utilizes the v3.0 OpenAPI Specification.
cbSwaggerThis module automatically generates OpenAPI (fka Swagger) documentation from your configured ColdBox MVC application and module routes.

C++

NameDescription
oatpp-swaggerSwagger-UI integration for oat++ applications. Utilizes OpenAPI 3.0.0 Specification.

D

NameDescription
swaggerizeSpecification parsing and structures, request validation and handler bindings.

Delphi

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

NameDescription
cowboy-swaggerAdd swagger compliant specifications to your cowboy web server. Available on hex.pm.

Elixir

NameDescription
PhoenixSwaggerPhoenixSwagger is the library that provides Swagger integration to the Phoenix web framework. It generates Swagger specification for Phoenix controllers and validates the requests.

Elm

NameDescription
swagger-toswagger-to generates Elm client code from a Swagger spec.

GitLab

NameDescription
swagger-templateA template project to automatically turn your YAML files into Swagger UI documentation.

Go

NameDescription
go-swaggerA toolkit to support your API development with Swagger.
goagoa is a framework for building RESTful microservices in Go with first class Swagger support.
grpc-gatewayGenerate a REST gateway and swagger definition from a gRPC protobuf definition.
swagger-toswagger-to generates Go server code from a Swagger spec.

Haskell

NameDescription
swagger2Express swagger 2.0 schemas in Haskell.
servant-swaggerServant is a framework for building RESTful microservices in Haskell with first class Swagger support via servant-swagger.

Java

NameDescription
assertj-swaggerassertj-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-javabinder-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-swaggerA dropwizard bundle that wraps Swagger-Core.
elideA framework for building JSON-API web services with generated Swagger documentation.
jooby-swaggerExport jooby apps to Swagger Spec 2.0.
restlet-frameworkRestlet Framework extension that supports auto-generation of Swagger 2.0 from Restlet API and JAX-API applications.
springfoxIntegrates with Spring MVC with support for Swagger 1.2 and Swagger 2.0 spec.
swagger-codegen-maven-pluginA maven build plugin which allows the codegen project to be triggered for generating clients, etc. during the build process.
swagger2markupSwagger2Markup 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-pluginA Swagger2Markup Gradle Plugin which converts a Swagger JSON or YAML file into AsciiDoc or Markdown documents.
swagger-maven-pluginSupport 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-pluginA Gradle Plugin which wraps swagger-codegen.
swagger-request-validatorA standalone library for validating request/response interactions against a Swagger / OpenAPI spec. Framework agnostic, with adapters for WireMock, Rest Assured and Pact.
Swagger Brake CLIA library with a CLI interface that checks 2 API specifications for breaking changes.
Swagger Brake Maven PluginA Maven plugin for Swagger Brake.
Swagger Brake Gradle PluginA Gradle plugin for Swagger Brake.

JavaScript

NameDescription
Swagger ParserParses, validates, and dereferences JSON/YAML Swagger specs in Node and browsers.

Jolie

NameDescription
Jester - Jolie rEST routERThe 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

NameDescription
lua-SporeA generic ReST client using Swagger 2.0 descriptions.

TypeScript

NameDescription
NSwagThe toolset generates TypeScript client classes and DTO interfaces to call web service operations (supports JQuery, AngularJS, Angular 2 and more).
swagger-toswagger-to generates Angular 2+ client code from a Swagger spec.

.NET

NameDescription
SwashbuckleAdds some Swagger to your WebApi.
Swashbuckle.AspNetCoreSwagger tools for documenting API’s built on ASP.NET Core.
AutoRestThe AutoRest tool generates client libraries for accessing RESTful web services from a Swagger specification.
SwaggerProviderF# Type Provider for Swagger.
NSwagThe toolchain generates Swagger specifications from Web API controllers and client code to access them via C#.
QSwagFast & Light Swagger generator for .NET Core.
SwaggerWcfGenerates Swagger (2.0) for WCF services and also provides swagger-ui.
Nancy.SwaggerGenerates Swagger for Nancy services on .Net Framework/Core/Standard.
Unchase OpenAPI Connected ServiceVisual Studio 2017/2019 extension to generate C# (TypeScript) HttpClient (or C# Controllers) code for OpenAPI (formerly Swagger API) web service with NSwag.

Node.js

NameDescription
a127a127 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-converterA tool for converting from other API specification formats (e.g. I/O Docs and API Blueprint) to Swagger.
blueoak-serverBlueOak Server maximizes the value of your Swagger API by using it to drive runtime behavior.
express-openapiAn unopinionated openapi framework for express.
fleek-parserA simple parser integrated with swagger on top of Koa.js.
fleek-responseA simple response library integrated with swagger on top of Koa.js.
fleek-routerA simple router integrated with swagger on top of Koa.js.
fleek-validatorA simple validator integrated with swagger on top of Koa.js.
fury-adapter-swaggerFury.js provides a uniform interface to API description formats such as API Blueprint and Swagger. fury-adapter-swagger is an adapter for Swagger.
generator-swaggerizeYeoman generator for krakenjs/swaggerize tools.
got-swagA CLI and lib to run automated tests on Swagger-powered APIs. Supports monkey testing and customized test suites.
hapi-swaggeredA hapi.js plugin to generate swagger v2.0 compliant specifications based on hapi routes and joi schemas.
hippie-swaggerAPI testing tool with automatic swagger assertions.
oas-nodegenA library for generating completely customizable code from the Open API Specification using the scripting power of Node.js.
openapi-mockA CLI to start a mock server based upon a Swagger/OpenAPI JSON or YAML spec file.
pokemockA mock server generated from an arbitrary Swagger file. Exports a set of customizable Express middlewares.
sails-swaggerA Sails.js plugin that generates Swagger (v2.0) API documentation.
serverless_swaggerA Serverless plugin that generates serverless configuration, API gateway events, and basic handler stub functions from a Swagger specification.
swagger-jsdocTakes 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-mongodbA lightweight swagger-ui CRUD API backed by MongoDB.
swagger-toolsVarious Swagger tools for JavaScript including an API/CLI (conversion, validation, …) and Connect middleware for routing, validation, security and swagger-ui.
swaggerize-expressDesign-driven RESTful APIs with Swagger and Express.
swaggerize-hapiDesign-driven RESTful APIs with Swagger and hapi.
swagmockMock data generator for Swagger APIs. Generates mock requests and responses according to the Swagger API specification of your application.
Swagger Express MiddlewareSwagger middleware and mocks for Express.js.
Swagger ParserParses, validates, and dereferences JSON/YAML Swagger specs in Node and browsers.
test2doc.jsAutogenerate Swagger specification from your tests/specs.
koa-joi-swaggerUsing joi schema to validate and generate Swagger UI, for koa.
swagger-statsAPI telemetry based on the Swagger (OpenAPI) specification. Trace API calls and monitor API performance, health, and usage statistics in Node.js microservices.

Perl

NameDescription
RaisinA framework with a built-in Swagger support.
MojoliciousPluginOpenAPIGenerates Mojolicious routes and input/output validation rules.
OpenAPI::ClientPerl generator for user agent code.

PHP

NameDescription
cakephp-swaggerCakePHP 3.x plugin that adds auto-generated Swagger 2.0 documentation to your projects using swagger-php and swagger-ui.
Swagger-PHPA 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.
SwaggerAssertionsSwagger 2 test assertions to validate your API requests and responses.
php-swaggerize-fastroute-libraryA package to automatically generate FastRoute from a swagger json definition. Compatible with Lumen when using controller classes.
SwaggerGenA Swagger 2.0 documentation generator for existing PHP source code, using human-writeable PHP-Documentor style comments.
Jane OpenAPIGenerate a PHP Client API (PSR7 compatible) from an OpenAPI (Swagger) specification.
gossi/swaggerA php library to manipulate swagger specifications.
calcinai/strutA complete OpenAPI manipulation library. Allows full creation/loading, modification and serialization of specifications.
byjg/swagger-testA set of tools for testing your REST calls based on the swagger documentation using PHPUnit.

Python

NameDescription
falsyWith FAL.S.Y, you can use falcon, swagger-ui, and yml together, which makes writing APIs easy.
pyramid-swaggerConvenient tools for using Swagger to define and validate your interfaces in a Pyramid webapp.
pyramid-openapi3Validate Pyramid views and responses against an OpenAPI 3.0 document.
flask-restplusHelpers, syntactic sugar and Swagger documentation for Flask-Restful.
pyswaggerA type-safe, dynamic, spec-compliant Swagger client.
flexSwagger 2.0 schema validation, and tooling for validating arbitrary request/response objects.
FlasggerFlask Extension to provide Swagger 2.0 to any view using docstrings (embeds swagger UI).
flask-swaggerA Swagger 2.0 extractor for Flask via YAML in docstrings.
bravadoSwagger 2.0 client with support for both synchronous and asynchronous http.
bravado-coreLibrary for Swagger 2.0 schema ingestion, validation, request/response validation, etc.
swagger-spec-validatorLibrary for validating Swagger 1.2 and 2.0 schemas.
swagger-py-codegenGenerate Flask-RESTful application code from a Swagger Specification doc.
ConnexionSwagger-first REST framework on top of Flask with validation and OAuth 2 support.
pecan-swaggerPartial swagger extractor for pecan.
swagger-parserGives useful information about your swagger files.
swagger-testerAutomatic swagger API tester.
swagger-aggregatorAggregate several swagger APIs in one.
swagger-stubGenerate a stub from a swagger file.
bottle-swaggerSwagger integration for the Bottle web framework.
pranceSwagger parser that resolves JSON references.
spec-synthaseA tool to help deal with big swagger 2.0 files, by building the swagger specification file from small yaml files.
FastAPIHigh 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-toswagger-to generates Python client code with type annotations from a Swagger spec.

R

NameDescription
plumberCreate an API powered by the R language whose default OpenAPI documentation is served by swagger.
swaggerDynamically Generate Documentation from a ‘Swagger’ Compliant R API.

Ruby

NameDescription
ApivoreRSpec based tool to test your API against its Swagger 2.0 specification.
grape-swaggerAdd Swagger compliant documentation to your grape API.
MiniApivoreMiniTest based revision of Apivore gem, a tool to test your API against its Swagger 2.0 specification.
oas_parserA Ruby Open API Spec 3 Definition Parser.
swagger-blocksDefine and serve live-updating Swagger JSON for Ruby apps.
swagger_engineInclude Swagger-ui as a mountable rails engine.
svelteDynamic Ruby client generator for Swagger 2.0 compliant APIs.
rspec-rails-swaggerGenerate Swagger 2.0 docs for Rails apps using RSpec request specs. Test results can be captured as response examples.
rswagSwagger tooling for Rails APIs. Generate beautiful API documentation, including a UI to explore and test operations, directly from your rspec integration tests.

Scala

NameDescription
sbt-swagger-codegenModels, Client and Server code generation integrated as an SBT plugin. Generate code from your Swagger files. Client and server depends on playframework.
play-swaggerPlugin that with Play Framework makes it easy to build RESTful web services from a Swagger API specification as the single source of truth.
FintrospectFinagle-based web framework which generates typesafe endpoint Swagger documentation out of the box, including generation of JSON-schema for models descriptions.
swagger-akka-httpSupport for generating OpenAPI documentation for akka-http based applications.

Swift

NameDescription
SwagGenSwift 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:

NameDescription
APIs.guruWikipedia for Web APIs. Directory of REST API specs in OpenAPI (fka Swagger) 2.0 format.
API SpotsA collection of ‘human-friendly’ tools for anyone interested in discovering, exploring and interacting with APIs without the need for a technology background.
bootprint-swaggerA tool for creating static documentation from Swagger definitions, with customizable styles and templates using Handlebars, LessCss and Bootstrap.
DreddLanguage-agnostic command-line tool for validating Swagger document against backend implementation of the API.
ember-swagger-uiAn ember-cli addon for quickly and easily adding swagger-ui to your EmberJS application.
generator-openapi-repoYeoman generator to setup GitHub repo with spec, documentation (ReDoc + swagger-ui) and live-editing with swagger-editor.
intellij-swaggerSwagger Plugin helps you to easily edit OpenAPI/Swagger specification files inside IntelliJ IDEA.
linter-swaggerAtom Package for linting Swagger spec.
ReDocOpenAPI/Swagger-generated API Reference Documentation.
swagger-commanderPlug & play command line interface to Swagger APIs.
swagger-confluenceA 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-diffA command-line utility, RSpec matcher, and Ruby library for comparing two Swagger specifications.
swagger-style-validatorA customizable style validator to make sure your Swagger/OpenApi spec follows your organization’s standards.
SwagDefGenJSON request/response mocks to Swagger definitions converter.
vscode-apielementsA Visual Studio Code extension which will bring interactivity into your swagger documents.
ember-swagger-uiAn ember-cli addon for quickly and easily adding swagger-ui to your EmberJS application.
commandcarcURL on steroids. Invoke any API from the commandline.
SwagGenSwift command line tool for generating client side code from a Swagger spec.
swagger-mock-validatorLanguage-agnostic command-line tool for validating a Swagger document against a mock file, such as a Pact file.
SpectacleA beautiful static HTML5 documentation generator for OpenAPI/Swagger 2.0.
Swagger-ui-themesA collection of css themes to spice up your Swagger docs.
APIFuzzerFuzz test your application using your Swagger definition without coding.
swagger-to-flowtypeA CLI tool for generating type definitions of Flow from a given Swagger file.
swagger_styleChecks 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

NameDescription
octohipsterA hypermedia REST HTTP API library for Clojure.

ColdFusion / CFML

NameDescription
swagger-docs-cfmlSwagger documentation for ColdFusion/CFML applications.

Eiffel

NameDescription
swaggerSwagger protocol implementation in Eiffel.

Go

NameDescription
go-restfulLibrary to build REST based Web Services using Google Go.
SashayA Go code generator for REST services that expose a Swagger specification.
beegoA framework that supports auto generating swagger spec from comments.
Swagger spec generatorA swagger spec auto generator. Doesn’t depend on any framework.

Groovy

NameDescription
springfoxSpringFox Grails integration library that produces swagger specification documentation for Grails 3.x.
restapidocA simple RESTful API documentation plugin for the Grails web application framework.
swaggydocSwagger Documentation for Grails Controllers.

Java

NameDescription
swagger4spring-webIntegration with Spring MVC.
swagger-jaxrs-docletA JavaDoc Doclet that can be used to generate a Swagger resource listing suitable for feeding to swagger-ui.
swaggerj4A parsing library to turn swagger specifications into POJOs.
swaggerapiCreates a Swagger resource listing suitable for feeding to swagger-ui by annotating your classes and methods and handles API calls to those methods.
swagger-validatorValidates that definitions in a swagger.yaml match the actual Java code.

JavaScript

NameDescription
swagger-ajax-clientSwagger 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-clientAngular 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-generatorClient 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-validateValidation utility to validate Swagger models or requests against a given spec, useful for writing Swagger client libraries.

.Net

NameDescription
ServiceStackA 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-swaggerThis 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

NameDescription
Swagger FrameworkA 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-jackExpress middleware to automatically create route and validate inputs from a swagger descriptor (for NodeJS).
hapi-swaggerA Swagger interface for HAPI.
Swagger ValidationA library to validate a request that integrates with swagger-node-express.
swagger-node-clientNode client to communicate with Swagger servers. Includes detailed client-side validation against the API spec.
ratifyA Hapi plugin that automatically creates Swagger documentation AND validates request/response parameters using the JSON Schema spec.
swagger-expressA simple and clean solution to integrate swagger with express straight away from jsdoc or a yaml file.

PHP

NameDescription
NelmioApiDocBundleA Symfony Bundle.
RestlerPHP framework, swagger support in 3.0.
swagger-assertEnable to assert keys in swagger document and API response.
SwaggervelA package for Laravel that uses Swagger-PHP and swagger-ui to auto-generate docs for your project.

Python

NameDescription
django-rest-swaggerSwagger Documentation Generator for Django REST Framework.
django-tastypie-swaggerAn adapter to use Swagger with django-tastypie.
flask-restful-swaggerA Swagger spec extractor for flask-restful.
tornado-swaggerA Swagger-v1.2 specification extractor for Tornado Restful Framework.

Ruby

NameDescription
swagger-docsGenerates Swagger files for Rails APIs with a simple DSL.
source2swaggerBuilds a swagger compliant JSON specification from annotations on the comments of your source code.
swagger_engineInclude Swagger-ui as a mountable rails engine.

Scala

NameDescription
ScalatraSee the Swagger Guide.
spray-swaggerSpray-Swagger brings Swagger support for Spray Apis.
Api-docCreates 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

NameDescription
gform-adminAn alternative UI client for Swagger.
swagger-cli-clientCommand-line interface generator to communicate with Swagger servers.
Swagger2PostmanCreates a Postman collection from live Swagger documentation.