Legacy OpenAPI Tools
Tools for historic OpenAPI versions
This is the legacy list of old OpenAPI tools, covering v3.0 and v2.0 tools that have not yet added support for v3.1 or v3.2. Please visit the main site for the latest tools.
Categories
Auto Generators
Tools that will take your code and turn it into an OpenAPI Specification document
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| FastMCP FastMCP can automatically generate an MCP server from an OpenAPI specification. Users only need to provide an OpenAPI specification (3.0 or 3.1) and an API client. | Yes | No | ||
| Fuego Golang Fuego - web & API framework generating OpenAPI 3 spec from source code | Yes | No | ||
| GranthAi NodeJs OpenAPI 3 based documentation generator which sits between server APIs and anyone calling the APIs | Yes | No | ||
| har-to-openapi Automatically generate OpenAPI 3.0 Spec by using network requests captured in one or more HAR files | Yes | No | ||
| har2openapi Automatically generate OpenAPI 3.0 Spec by using network requests captured in one or more HAR files | Yes | No | ||
| mitmproxy2swagger A tool for automatically converting mitmproxy captures to OpenAPI 3.0 specifications. Automatically reverse-engineer REST APIs by just running the apps and capturing the traffic. | Yes | No | ||
| OpenAPI AutoSpec Proxy server that generates API descriptions for any app or website on localhost. | Yes | No | ||
| OpenApiSpecGeneratorPlugin Built-in plugin for open-source DevProxy that automatically generates OpenAPI 3.0 Spec from captured network requests | Yes | No | ||
| Rage A Ruby web framework for building APIs with first-class OpenAPI support. | Yes | No |
Code generators
Tools to generate code from your OpenAPI Spec, or to generate an OpenAPI Spec from your code.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| FabriKt A sophisticated Kotlin code generation library capable of generating Jackson-annotated data classes, Spring Controller interfaces, and fault-tolerant OkHttp clients. Written in Kotlin, this library programatically generates code and is capable of handling advanced OpenApi3 specification features such as polymorphism. | Yes | No | ||
| generator-openapi-repo Generate the repository structure for a scalable OpenAPI Description | No | Yes | ||
| OpenAPI Client Generators .NET Core command line program to generate strongly typed client API codes in C# on .NET Frameworks and .NET Core, and in TypeScript for Angular 5+, Aurelia, jQuery, AXIOS and Fetch API. | Yes | Yes | ||
| OpenAPI Server Code Generator (oapi-codegen) Generate a client, server, and HTTP types for various Go HTTP servers, from an OpenAPI v3 specification | Yes | No | ||
| orval orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. Generate, valid, cache and mock in your frontend applications all with your OpenAPI specification. 🍺 | Yes | Yes | ||
| Python OpenAPI Generator This library facilitates creating OpenAPI document for Python projects. | Yes | No | ||
| Swagger-Codegen Swagger Codegen enables generating server stubs and client SDKs for APIs described in OpenAPI | Yes | Yes | ||
| Unchase.OpenAPI.Connectedservice Visual Studio extension to generate C# (TypeScript) HttpClient (or C# Controllers) code for OpenAPI web service with NSwag. | Yes | Yes |
Converters
Various tools to convert to and from OpenAPI and other API description formats.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| avantation Generate OpenAPI 3.0 specification from HAR. | Yes | No | ||
| go-swagger Unmaintained v2.0 only project seeking new maintainer, or probably a fork. Parser, validator, generates descriptions from code, or code from descriptions! | No | Yes | ||
| Google Gnostic Compile OpenAPI descriptions into equivalent Protocol Buffer representations | Yes | Yes | ||
| JSON Schema to OpenAPI Schema Due to the OpenAPI v3.0 and JSON Schema discrepancy, you can use this JS library to convert JSON Schema objects to OpenAPI Schema. | Yes | No | ||
| Karate-IDE Generates KarateDSL Tests and Mocks from OpenAPI 3.0 documents and so you can quickly test/explore your API. | Yes | No | ||
| laravel-openapi Generate OpenAPI 3 specification for Laravel Applications. | Yes | No | ||
| OAS RAML Converter Converts between OpenAPI and RAML API specifications | Yes | Yes | ||
| OData.OpenAPI (.NET) Convert an Edm (Entity Data Model) to OpenAPI 3.0 | Yes | No | ||
| OpenAPI Schema to JSON Schema Due to the OpenAPI v3.0 and JSON Schema discrepancy, you can use this JS library to convert OpenAPI Schema objects to proper JSON Schema. | Yes | No | ||
| openapi-merge A simple tool to merge multiple independent OpenAPI description files into one file. Useful when you have a number of microservices and you decide to expose them through a gateway. | Yes | No | ||
| Step CI Open-source framework for API Quality Assurance. Generate multi-step test-scenarios from OpenAPI. Validate responses against description documents and more. | Yes | No | ||
| swagger2openapi Upgrade files from OpenAPI v2.0 to v3.0, bundling into one mega file or respecting $refs. Part of oas-kit. | Yes | Yes | ||
| typeconv typeconv is an extremely fast silver bullet type conversion utility. It converts between any of its supported types, bidirectionally. typeconv lets you convert between type systems which have core-types converters, such as JSON Schema, TypeScript, GraphQL, Open API and SureType. This package can be used as an API programatically or as an application (installed in node_modules/.bin or by using e.g. npx). | Yes | No |
Data Validators
Check to see if API requests and responses are lining up with the API description.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| api-codegen-ts Generates TypeScript models, response validators, and operation controllers from OpenAPI descriptions | Yes | Yes | ||
| APIFuzzer Fuzz test your application using your OpenAPI definition without coding. Integrate into CI/CD, get Junit XML test result and JSON report of failures | Yes | Yes | ||
| committee Validation middleware for Rack server. This gem validates request and response using an OpenAPI Description. And convert parameter string to specific Ruby object (e.g. convert datetime string to DateTime class). | Yes | Yes | ||
| Fuego Golang Fuego - web & API framework generating OpenAPI 3 spec from source code | Yes | No | ||
| JSONSchema::Validator A Perl library which validates request/response according to an OpenAPI specification | Yes | No | ||
| kin-openapi OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more) | Yes | Yes | ||
| oas-tools NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Yes | No | ||
| OpenAPI Enforcer Validate your OpenAPI document, serialize, deserialize, and validate incoming requests and outgoing responses, and simplify response building. You can even produce mock data. | Yes | Yes | ||
| OpenAPI Enforcer Middleware An express middleware that makes it easy to write web services that follow an OpenAPI specification by leveraging the tools provided in the openapi-enforcer package. | Yes | Yes | ||
| openapi-examples-validator Validates embedded JSON-examples in OpenAPI-specs | Yes | Yes | ||
| openapi-request-response-validation Runtime validation of requests and responses of your API according to the OpenAPI specs, returning (if any) the list of errors found. It is integrated via a simple REST API therefore usable by Java and non-Java applications and CI/CD. | Yes | Yes | ||
| openapi-spring-webflux-validator A friendly kotlin library to validate API endpoints against an OpenAPI description document. | Yes | Yes | ||
| openapi-validator-bundle Validates Request and Response using Symfony Framework | Yes | No | ||
| openapi-validator-middleware Provides data validation within an Express, Koa or Fastify app according to a OpenAPI definition. It uses Ajv under the hood for validation. | Yes | Yes | ||
| openapi.tanna.dev/go/validator A Go library for making it easier to validate that your OpenAPI contracts match your HTTP request/responses used in your tests. Based on kin-openapi. | Yes | No | ||
| Step CI Open-source framework for API Quality Assurance. Generate multi-step test-scenarios from OpenAPI. Validate responses against description documents and more. | Yes | No |
Documentation
Render API Description as HTML (or maybe a PDF) so slightly less technical people can figure out how to work with the API
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| GranthAi NodeJs OpenAPI 3 based documentation generator which sits between server APIs and anyone calling the APIs | Yes | No | ||
| HopFront HopFront automatically builds an user friendly UI from a collection of OpenAPI specifications. You can setup custom dashboard tailored to the way your interact with your APIs. | Yes | No | ||
| jekyll-openapi An OpenAPI 3 documentation website generator built with Jekyll for use on GitHub Pages. | Yes | No | ||
| KrakenD API Gateway KrakenD is a high-performance, stateless API Gateway, seamlessly integrated with OpenAPI. It facilitates automatic API documentation and provides the capability to import existing specifications for generating configuration and mock servers. | Yes | Yes | ||
| Kusk Gateway Kusk-Gateway is an OpenAPI-driven API Gateway for Kubernetes. It empowers you to develop, validate, mock and deploy your APIs in a matter of minutes using both manual and automated GitOps/APIOps workflows. | Yes | Yes | ||
| MrinDoc OpenAPI description document viewer. | Yes | Yes | ||
| Nexmo OAS Renderer Ruby OpenAPI docs rendering, use standalone or add to your Rails app | Yes | No | ||
| oas-tools NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Yes | No | ||
| oas3-api-snippet-enricher Enrich your existing description documents with generated code samples | Yes | No | ||
| OpenAPI AutoSpec Proxy server that generates API descriptions for any app or website on localhost. | Yes | No | ||
| openapi-viewer Browse and test a REST API described with the OpenAPI 3.0 Specification | Yes | No | ||
| OpenDocumenter OpenDocumenter is a automatic documentation generator for OpenAPI v3.0 schemas. Simply provide your schema file in JSON or YAML, then sit back and enjoy the documentation. | Yes | Yes | ||
| RapiPdf Custom Element to generate PDF from OpenAPI descriptions. | Yes | Yes | ||
| RestCase Docs An API-first and security-first management platform. Design visually and we will create a beautiful API documentation for your APIs. | Yes | Yes | ||
| Traefik Hub Traefik Hub is a Kubernetes-native API Management solution for publishing, securing, and managing APIs. Configuration is driven by Kubernetes CRDs, labels, and selectors for effective GitOps. | Yes | Yes | ||
| widdershins Generate Slate/Shins markdown from OpenAPI 2.0/3.0.x | Yes | Yes |
Domain-Specific Languages (DSLs)
Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain Specific Language to write OpenAPI in your language of choice.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| BOATS BOATS allows for larger teams to contribute to multi-file OpenAPI definitions by writing Nunjucks tpl syntax in YAML with a few important helpers to ensure stricter consistency, eg operationId: <$ uniqueOpId() $>. | Yes | Yes | ||
| CUE CUE is an open source language, with a rich set of APIs and tooling, for defining, generating, and validating all kinds of data configuration, APIs, database schemas, code, etc. CUE currently supports generating OpenAPI through its API. | Yes | No | ||
| Goa Goa provides a holistic approach for developing remote APIs and microservices in Go. implementers don't have to worry about the documentation getting out of sync as Goa takes care of generating OpenAPI specifications for HTTP based services and gRPC protocol buffer files for gRPC based services | Yes | Yes | ||
| kotlin-openapi3-dsl kotlin-openapi3-dsl is a DSL written in Kotlin to write OpenAPI descriptions in plain Kotlin. | Yes | No | ||
| Oxlip API Language Oxlip is a high-level functional programming language for designing OpenAPI definitions. It defines algebraic abstractions over REST concepts to alleviate the pain of managing OpenAPI in JSON or YAML by hand and at scale. | Yes | No | ||
| Spot A concise, developer-friendly way to describe your API contract. | Yes | Yes | ||
| Supermodel Model your data using JSON Schema, refer and remix the models freely, convert to various formats including OAS v2/v3. | Yes | Yes |
Gateways
API Gateways and related tools that have integrated support for OpenAPI.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| Fusio Open source API management platform | Yes | No | ||
| KrakenD API Gateway KrakenD is a high-performance, stateless API Gateway, seamlessly integrated with OpenAPI. It facilitates automatic API documentation and provides the capability to import existing specifications for generating configuration and mock servers. | Yes | Yes | ||
| Kusk Gateway Kusk-Gateway is an OpenAPI-driven API Gateway for Kubernetes. It empowers you to develop, validate, mock and deploy your APIs in a matter of minutes using both manual and automated GitOps/APIOps workflows. | Yes | Yes | ||
| Traefik Hub Traefik Hub is a Kubernetes-native API Management solution for publishing, securing, and managing APIs. Configuration is driven by Kubernetes CRDs, labels, and selectors for effective GitOps. | Yes | Yes |
IDEs and GUI Editors
Visual editors help you design APIs without needing to memorize the entire OpenAPI specification.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| ApiBldr Web-Based API Designer for OpenAPI (swagger) and AsyncAPI specifications. | Yes | Yes | ||
| Apicurio Studio Web-Based Open Source API Design via the OpenAPI specification. | Yes | Yes | ||
| JetBrains tools (IntelliJ IDEA, PyCharm etc.) JetBrains development tools like IntelliJ IDEA, PyCharm and others come with a bundled *OpenAPI Specifications* plugin. The plugin allows you to write the OpenAPI specifications and supports you with validations, formatting, code-completion etc. It supports a *text view* as well as a rendered SwaggerUI-like *graphical interface*. | Yes | Yes | ||
| OAIE Sketch Browser based OpenApi Integrated Editor with side-by side view of the yaml and an interactive graph. | Yes | No | ||
| RestCase Designer A design-first API managment platform with WYSIWYG API Designer for OpenAPI and AsyncAPI specifications. | Yes | Yes |
Learning
Whether generating documentation for a third-party API based on traffic, or are trying to "catch up on design-first" at an organization with no OpenAPI at all, these "learning" (or traffic sniffing) tools can help you get there.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| APIClarity Reconstruct Open API Specifications from real-time workload traffic seamlessly. | Yes | Yes | ||
| Response2Schema Takes any JSON response and generates an OpenAPI definition document with the component schema and a default endpoint. | Yes | No |
Miscellaneous
Anything else that does stuff with OpenAPI but hasn't quite got enough to warrant its own category.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| CodeMirror OAS support Plugin for text editor https://codemirror.net/ running in your browser that can fetch and parse your OpenAPI schema definition and provide auto-completion support (for large and complex JSON message payloads), error highlighting and access to schema documentation. It is capable of parsing megabytes of OpenAPI schema definition in a second and providing auto-completion support in milliseconds. The work is an MVP of a plugin with basic functionality made as part of a master thesis at ČVUT. | Yes | No | ||
| Django REST Framework Automates generation of OpenAPI 3 description documents either as a static file (via CLI command) or a dynamic view within the Django REST Framework (DRF) application. | Yes | No | ||
| HopFront HopFront automatically builds an user friendly UI from a collection of OpenAPI specifications. You can setup custom dashboard tailored to the way your interact with your APIs. | Yes | No | ||
| laravel-openapi Generate OpenAPI 3 specification for Laravel Applications. | Yes | No | ||
| oa-client Flexible client helper for making and validating calls to OpenAPI backends. For Node and the browser. Runtime lib - no need for code generation! | Yes | No | ||
| oasdiff Golang module for deep comparison of two OpenAPI specifications. Available also as a command-line. | Yes | No | ||
| OAuth2 as OpenAPI Spec 3.0 components OAuth2 token endpoint described with OAS3 schema. All grants documented. Can be installed as NPM or Composer package. | Yes | No | ||
| OpenAPI Server Code Generator (oapi-codegen) Generate a client, server, and HTTP types for various Go HTTP servers, from an OpenAPI v3 specification | Yes | No | ||
| openapi-cli-tool Can list up defined API paths and bundle multi-file into one. Supports multiple file extensions. | Yes | No | ||
| openapi-comparator C# library for comparing two OpenAPI specifications. | Yes | No | ||
| openapi-diff Utility for comparing two OpenAPI specifications. | Yes | No | ||
| openapi-examples-validator Validates embedded JSON-examples in OpenAPI-specs | Yes | Yes | ||
| openapi-spring-webflux-validator A friendly kotlin library to validate API endpoints against an OpenAPI description document. | Yes | Yes | ||
| php-openapi-faker Library to generate fake data for OpenAPI 3.x requests, responses and schemas. | Yes | No | ||
| schema2dts Create types definitions from an OpenAPI schema. | Yes | No |
Mock Servers
Fake servers that take description document as input, then route incoming HTTP requests to example responses or dynamically generates examples.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| Beeceptor OpenAPI Mock Server 🐝 A free service that transforms your OpenAPI description documents into instant mock servers with AI-generated realistic responses. Upload your YAML/JSON files to get schema-compliant mocks without writing any code. Helps with early integration testing and simulating various API behaviors. | Yes | No | ||
| Fakeit Create mock server from OpenAPI 3 specification with random response generation and request validation. | Yes | No | ||
| Falcon Heavy The framework for building app backends and microservices via the API design-first workflow. | Yes | No | ||
| Karate-IDE Generates KarateDSL Tests and Mocks from OpenAPI 3.0 documents and so you can quickly test/explore your API. | Yes | No | ||
| Kusk Gateway Kusk-Gateway is an OpenAPI-driven API Gateway for Kubernetes. It empowers you to develop, validate, mock and deploy your APIs in a matter of minutes using both manual and automated GitOps/APIOps workflows. | Yes | Yes | ||
| Meeshkan Meeshkan is an automated testing and mocking tool. It offers first-class support for GraphQL APIs, but Meeshkan is also built to handle REST APIs and third-party dependencies. | Yes | No | ||
| OpenAPI Mocker Standalone nodejs based OpenAPI 3 mock server, docker-friendly with request validation and autoreload. | Yes | No | ||
| openapi-data-mocker Tiny library to generate basic OpenAPI Data Types. Consider it as extended Faker package. First version able to mock most of the data formats. It doesn't support polymorphism yet, but work in progress. May be useful for writing custom unit tests. | Yes | No | ||
| orval orval is able to generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. Generate, valid, cache and mock in your frontend applications all with your OpenAPI specification. 🍺 | Yes | Yes | ||
| Specmatic Specmatic enables teams to practice Contract-Driven Development by leveraging OpenAPI specifications as Executable Contracts to reduce time-to-market by allowing teams to build, test and deploy their MicroServices and MicroFrontends independently and Shift-Left the identification of compatibility issues between Components / Services in complex interdependent systems such as those built with MicroServices architecture. In the process it reduces / removes the need for Integration Testing. | Yes | No | ||
| yii2-app-api Generate Server side API code with routing, models, data validation and database schema from an OpenAPI description. Based on Yii Framework. | Yes | No |
Monitoring
Monitoring tools let you know what is going on in your API.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| API Insights (Treblle) API Insights is a web application and native Mac application that allows you get real time insights into your API using your OpenAPI specification. Think of it like a static analysis tool for your API, using your OpenAPI Specification file. | Yes | No |
Parsers
Loads and read OpenAPI descriptions, so you can work with them programmatically.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| APIDevTools/swagger-parser OpenAPI 2.0 and 3.0 parser and validator. Can also bundle multiple documents into one via `$ref`. | Yes | Yes | ||
| go-swagger Unmaintained v2.0 only project seeking new maintainer, or probably a fork. Parser, validator, generates descriptions from code, or code from descriptions! | No | Yes | ||
| KaiZen OpenAPI Parser High-performance Parser, Validator, and Java Object Model for OpenAPI 3.x | Yes | No | ||
| kin-openapi OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more) | Yes | Yes | ||
| oas_parser A Ruby parser for OpenAPI 3.0+ descriptions. | Yes | No | ||
| oas-tools NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Yes | No | ||
| Object Oriented OpenAPI Specification An object oriented approach to generating OpenAPI Descriptions, implemented in PHP | Yes | No | ||
| openapi-snippet Generates code snippets in various languages & tools (cURL, Node, Python, Ruby, Java, Go, C#...), from OpenAPI documents. | Yes | Yes | ||
| openapi-snippet-cli Adds code snippets in redoc style (x-codeSamples) to OpenAPI documents. This is a CLI wrapper for the "openapi-snippet". | Yes | Yes | ||
| OpenAPI-TS TS Model & utils for OpenAPI 3.0.x contracts | Yes | No | ||
| openapi.tanna.dev/go/validator A Go library for making it easier to validate that your OpenAPI contracts match your HTTP request/responses used in your tests. Based on kin-openapi. | Yes | No | ||
| openapi3 An OpenAPI 3 Specification client, and validator, covering both description validation and limited data validation for Python 3. | Yes | No | ||
| openapi3_parser A Ruby implementation of parser and validator for the OpenAPI 3 Specification. | Yes | No | ||
| OpenAPI3-Rust Rust serialization library for OpenAPI v3 | Yes | No | ||
| php-openapi A PHP library for manipulating and validating OpenAPI 3.0 Descriptions | Yes | No | ||
| psx-api Parse and generate API specification formats | Yes | Yes |
Schema Validators
Check your API description or schema to see if it is valid OpenAPI.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| API Insights (Treblle) API Insights is a web application and native Mac application that allows you get real time insights into your API using your OpenAPI specification. Think of it like a static analysis tool for your API, using your OpenAPI Specification file. | Yes | No | ||
| oas-tools NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Yes | No | ||
| OpenAPI Enforcer Validate your OpenAPI document, serialize, deserialize, and validate incoming requests and outgoing responses, and simplify response building. You can even produce mock data. | Yes | Yes | ||
| OpenAPI Style Validator A customizable style validator to make sure your OpenAPI description follows your organization's standards. | Yes | Yes | ||
| openapi-examples-validator Validates embedded JSON-examples in OpenAPI-specs | Yes | Yes | ||
| openapi-spring-webflux-validator A friendly kotlin library to validate API endpoints against an OpenAPI description document. | Yes | Yes | ||
| php-openapi A PHP library for manipulating and validating OpenAPI 3.0 Descriptions | Yes | No | ||
| super-linter GitHub Action to lint repositories as part of CI/CD. Implements the latest version of Spectral. | Yes | Yes |
SDK Generators
Generate code to give to consumers, to help them avoid interacting at a HTTP level.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| ABAP OpenAPI Client & Server Generator ABAP OpenAPI Client & Server Generator written in ABAP. Code generation runs also in the Browser and on command line using NodeJS. | Yes | No | ||
| api-codegen-ts Generates TypeScript models, response validators, and operation controllers from OpenAPI descriptions | Yes | Yes | ||
| Azure AutoRest Generates client libraries for accessing RESTful web services from an OpenAPI document. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python, and Ruby. | Yes | Yes | ||
| docler-labs/api-client-generator API client generator is a console application capable of auto-generating a PSR18/PSR7 API client based on OpenAPI specification according to PHP best practices and your code style standards. | Yes | No | ||
| draig DRAIG is an OpenAPI3 based design-first custom generator that creates fully functional microservices from an OAS API description document. You can use DRAIG with openapi-generator as a backend generator or use DRAIG CLI or REPL to generate your microservices. With simple user-customizable templates, you can extended and improve implementation code so that generated code can be compiled and deployed immediatelly. | Yes | No | ||
| FabriKt A sophisticated Kotlin code generation library capable of generating Jackson-annotated data classes, Spring Controller interfaces, and fault-tolerant OkHttp clients. Written in Kotlin, this library programatically generates code and is capable of handling advanced OpenApi3 specification features such as polymorphism. | Yes | No | ||
| go-swagger Unmaintained v2.0 only project seeking new maintainer, or probably a fork. Parser, validator, generates descriptions from code, or code from descriptions! | No | Yes | ||
| guardrail Principled code generation from OpenAPI descriptions | Yes | Yes | ||
| janephp Generate a PHP Client API (PSR-7 compatible) given a OpenAPI specification. | Yes | Yes | ||
| NSwag OpenAPI toolchain for .NET, Web API and TypeScript | Yes | Yes | ||
| oa-client Flexible client helper for making and validating calls to OpenAPI backends. For Node and the browser. Runtime lib - no need for code generation! | Yes | No | ||
| oazapfts! Generate TypeScript clients from a given OpenAPI description document. | Yes | Yes | ||
| OpenAPI Client Generators .NET Core command line program to generate strongly typed client API codes in C# on .NET Frameworks and .NET Core, and in TypeScript for Angular 5+, Aurelia, jQuery, AXIOS and Fetch API. | Yes | Yes | ||
| restful-react Generate React hooks with appropriate type-signatures from OpenAPI descriptions | Yes | Yes | ||
| spring-openapi OpenAPI v3 generator for Java Spring. Includes also client generation. Supports inheritance with discriminators, Jackson annotations and custom interceptors. | Yes | No | ||
| Typoas Fully typed OpenAPI Typescript generator | Yes | No | ||
| Unchase.OpenAPI.Connectedservice Visual Studio extension to generate C# (TypeScript) HttpClient (or C# Controllers) code for OpenAPI web service with NSwag. | Yes | Yes |
Security
By poking around your OpenAPI description, some tools can look out for attack vectors you might not have noticed.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| 42crunch A unique set of integrated API security tools that allow discovery, remediation of OpenAPI vulnerabilities and runtime protection against API attacks. | Yes | Yes | ||
| API Insights (RestCase) RestCase executes hundreds of security and quality checks against the API definition, the API insights report provides detailed security scoring for prioritization, and remediation advice to help developers define the best API definition possible. | Yes | Yes | ||
| FireTail FireTail provides discovery, logging, posture management and in-line enforcement of APIs using OpenAPI. API governance is backed by cloud provider integrations and a suite of open-source application libraries. | Yes | Yes | ||
| oas-tools NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Yes | No | ||
| openapi-fuzzer Based on OpenAPI specification, openapi-fuzzer provides random data as inputs to the API endpoints in order to find bugs. | Yes | No | ||
| OpenAPI3 Fuzzer Simple fuzzer for OpenAPI 3 specification based APIs. Verifies responses and sends various attack patterns. | Yes | No | ||
| OWASP ZAP OWASP ZAP is a free and open source web security tool that can be used manually or completely automated. It supports importing OpenAPI v2 and v3 definitions to allow an API to be thoroughly security tested. | Yes | Yes | ||
| RESTler RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services. RESTler analyzes the OpenAPI description of a cloud service, and then generates and executes tests that exercise the service through its REST API. During testing, it checks for specific classes of bugs and dynamically learns how the service behaves from prior service responses. | Yes | Yes | ||
| StackHawk HawkScan StackHawk is an application vulnerability scanner purpose built for developers to use in the DevOps pipeline. It leverages a provided OpenAPI v2 or v3 spec file for route discovery and enhanced scanning. | Yes | Yes | ||
| WuppieFuzz WuppieFuzz is a coverage-guided REST API fuzzer developed on top of LibAFL, targeting a wide audience of end-users, with a strong focus on ease-of-use, explainability of the discovered flaws and modularity. WuppieFuzz supports all three settings of testing (black box, grey box and white box). | Yes | Yes |
Server Implementations
Easily create and implement resources and routes for your APIs.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| @eropple/nestjs-openapi3 Integrates tightly with a NestJS application to infers complex descriptions and expresses them in its generated OpenAPI document. It then presents that document via ReDoc, and validates inputs for conformance to spec. | Yes | No | ||
| @nestjs/swagger Official OpenAPI (Swagger) module for NestJS. Use decorators to define OpenAPI endpoint documentation, parameters and return types. Integrates tightly with a NestJS application. Ships with Swagger UI and serves OpenAPI v3 spec. | Yes | No | ||
| @smartrecruiters/openapi-first Initializes your API express application with the description in OpenAPI 3.0 format using provided middlewares (parsers, validators, controller, defaults setting) or custom ones | Yes | No | ||
| ABAP OpenAPI Client & Server Generator ABAP OpenAPI Client & Server Generator written in ABAP. Code generation runs also in the Browser and on command line using NodeJS. | Yes | No | ||
| API Platform REST and GraphQL framework to build modern API-driven projects | Yes | Yes | ||
| BaucisJS + baucis-openapi3 Create REST resources with persistence on MongoDB and expose OpenAPI v.3 contracts | Yes | No | ||
| Connexion Connexion is a modern Python web framework that makes spec-first and api-first development easy. No code is generated. With Connexion, you write your server-side API handlers according to a naming convention, and the Connexion engine, given a spec, invokes your code after any input has been validated. | Yes | Yes | ||
| draig-car This is a REPL OpenAPI3 description document text editor. It provides both a CLI and and a REPL you can use to test your APIs, but you can also test database queries, start and stop database (containers), generate fake data automatically, start your test microservice and much more. You don't have to exit from your REPL! Or you can use the CLI to do the same if you want, giving you the option to automatize your contract-first based dev cycles. | Yes | No | ||
| Falcon Heavy The framework for building app backends and microservices via the API design-first workflow. | Yes | No | ||
| FastMCP FastMCP can automatically generate an MCP server from an OpenAPI specification. Users only need to provide an OpenAPI specification (3.0 or 3.1) and an API client. | Yes | No | ||
| Fuego Golang Fuego - web & API framework generating OpenAPI 3 spec from source code | Yes | No | ||
| Fusio Open source API management platform | Yes | No | ||
| LoopBack 4 A highly extensible object-oriented Node.js and TypeScript framework for building APIs and microservices with tight OpenAPI 3 integration. Serves Swagger UI and OpenAPI 3 spec out of the box. Generate code to interact with other OpenAPI-compliant APIs, or generate new API endpoints based on existing OpenAPI specs. | Yes | No | ||
| Mojolicious::Plugin::OpenApi Mojolicious::Plugin::OpenAPI is a plugin for Mojolicious framework that add routes and input/output validation to your Mojolicious application based on OpenAPI description documents.' | Yes | Yes | ||
| oas-tools NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Yes | No | ||
| OpenAPI Enforcer Validate your OpenAPI document, serialize, deserialize, and validate incoming requests and outgoing responses, and simplify response building. You can even produce mock data. | Yes | Yes | ||
| OpenAPI Enforcer Middleware An express middleware that makes it easy to write web services that follow an OpenAPI specification by leveraging the tools provided in the openapi-enforcer package. | Yes | Yes | ||
| openapi-validator-middleware Provides data validation within an Express, Koa or Fastify app according to a OpenAPI definition. It uses Ajv under the hood for validation. | Yes | Yes | ||
| Rage A Ruby web framework for building APIs with first-class OpenAPI support. | Yes | No | ||
| SpringFox Automated JSON API documentation for APIs built with Spring and SpringBoot | Yes | Yes | ||
| Vert.x Web Api Contract Create API endpoints with Vert.x 3 and OpenAPI 3 with automatic requests validation | Yes | No | ||
| yii2-app-api Generate Server side API code with routing, models, data validation and database schema from an OpenAPI description. Based on Yii Framework. | Yes | No |
Testing
Quickly execute API requests and validate responses on the fly through command line or GUI interfaces.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| Assertible Import an OpenAPI specification into Assertible to generate tests that validate JSON Schema responses and status codes on every endpoint. | Yes | Yes | ||
| Atlassian OpenAPI Request Validators A set of Java libraries which allow you to integrate OpenAPI Description Document validation into your testing or clients with tools like WireMock/RestAssured/MockMVC/etc... | Yes | Yes | ||
| Chai OpenAPI Response Validator Simple Chai support for asserting that HTTP responses satisfy an OpenAPI spec. | Yes | Yes | ||
| draig-car This is a REPL OpenAPI3 description document text editor. It provides both a CLI and and a REPL you can use to test your APIs, but you can also test database queries, start and stop database (containers), generate fake data automatically, start your test microservice and much more. You don't have to exit from your REPL! Or you can use the CLI to do the same if you want, giving you the option to automatize your contract-first based dev cycles. | Yes | No | ||
| Dredd Language-agnostic command-line tool for validating API description document against backend implementation of the API | Yes | Yes | ||
| EvoMaster A tool for automatically generating system-level test cases for RESTful APIs, using Evolutionary Algorithms and Dynamic Program Analysis. | Yes | Yes | ||
| hikaku A library that tests if the implementation of a REST-API meets its specification. | Yes | No | ||
| jest-openapi Additional Jest matchers for asserting that HTTP responses satisfy an OpenAPI spec. | Yes | Yes | ||
| Karate-IDE Generates KarateDSL Tests and Mocks from OpenAPI 3.0 documents and so you can quickly test/explore your API. | Yes | No | ||
| Meeshkan Meeshkan is an automated testing and mocking tool. It offers first-class support for GraphQL APIs, but Meeshkan is also built to handle REST APIs and third-party dependencies. | Yes | No | ||
| OpenAPI Enforcer Validate your OpenAPI document, serialize, deserialize, and validate incoming requests and outgoing responses, and simplify response building. You can even produce mock data. | Yes | Yes | ||
| ReadyAPI an end to end API functional, security, performance and virtualization tool where OAS description documents can be utilized to automate the creation and validation of end to end tests, running them manually or at any point in your CI/CD pipeline. pipelines. | Yes | Yes | ||
| RESTest RESTest is a framework for automated black-box testing of RESTful web APIs. It follows a model-based approach, where test cases are automatically derived from the OpenAPI description document (OAS) of the API under test. | Yes | Yes | ||
| RESTler RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services. RESTler analyzes the OpenAPI description of a cloud service, and then generates and executes tests that exercise the service through its REST API. During testing, it checks for specific classes of bugs and dynamically learns how the service behaves from prior service responses. | Yes | Yes | ||
| Schemathesis Reads the description document and generates test cases that will ensure that your application is compliant with its description. | Yes | Yes | ||
| Specmatic Specmatic enables teams to practice Contract-Driven Development by leveraging OpenAPI specifications as Executable Contracts to reduce time-to-market by allowing teams to build, test and deploy their MicroServices and MicroFrontends independently and Shift-Left the identification of compatibility issues between Components / Services in complex interdependent systems such as those built with MicroServices architecture. In the process it reduces / removes the need for Integration Testing. | Yes | No | ||
| Step CI Open-source framework for API Quality Assurance. Generate multi-step test-scenarios from OpenAPI. Validate responses against description documents and more. | Yes | No | ||
| Tcases for OpenAPI Generates test cases directly from an OpenAPI v3 description of your API. Creates tests executable using various test frameworks. Bonus: Semantic linter reports elements that are inconsistent, superfluous, or dubious. | Yes | No | ||
| vREST NG vREST NG is a simple and powerful application for API Automation. It Allows to use OpenAPI specification into vREST NG to drive your API testing that validates the API responses against JSON Schema and also provides powerful response validation capabilities. | Yes | Yes | ||
| WuppieFuzz WuppieFuzz is a coverage-guided REST API fuzzer developed on top of LibAFL, targeting a wide audience of end-users, with a strong focus on ease-of-use, explainability of the discovered flaws and modularity. WuppieFuzz supports all three settings of testing (black box, grey box and white box). | Yes | Yes |
Text Editors
Text editors give you visual feedback whilst you write OpenAPI, so you can see what docs might look like.
| Name | Languages | v3.0 | v2.0 | Links |
|---|---|---|---|---|
| 42Crunch IntelliJ OpenAPI Editor OpenAPI extension for Visual Studio Code - new file templates, navigation, intellisense, code snippets. | Yes | Yes | ||
| CodeMirror OAS support Plugin for text editor https://codemirror.net/ running in your browser that can fetch and parse your OpenAPI schema definition and provide auto-completion support (for large and complex JSON message payloads), error highlighting and access to schema documentation. It is capable of parsing megabytes of OpenAPI schema definition in a second and providing auto-completion support in milliseconds. The work is an MVP of a plugin with basic functionality made as part of a master thesis at ČVUT. | Yes | No | ||
| draig-car This is a REPL OpenAPI3 description document text editor. It provides both a CLI and and a REPL you can use to test your APIs, but you can also test database queries, start and stop database (containers), generate fake data automatically, start your test microservice and much more. You don't have to exit from your REPL! Or you can use the CLI to do the same if you want, giving you the option to automatize your contract-first based dev cycles. | Yes | No | ||
| KaiZen-OpenAPI-Editor Full-featured Eclipse editor for OpenAPI, also available on Eclipse Marketplace. | Yes | Yes | ||
| Swagger Editor Design, describe, and document your API on the first open source editor fully dedicated to OpenAPI-based APIs. | Yes | Yes | ||
| VSCode OpenAPI Editor OpenAPI extension for Visual Studio Code - new file templates, navigation, intellisense, code snippets. | Yes | Yes | ||
| VSCode OpenAPI Snippets OpenAPI Snippets for Visual Studio Code editor, includes split file validation | Yes | No |
Looking for more modern tools? Check out the main list.