Tool Types
We've organised everything into categories so you can jump to the section you're interested in.
- Auto Generators: Tools that will take your code and turn it into an OpenAPI Specification document
- Converters: Various tools to convert to and from OpenAPI and other API description formats.
- Data Validators: Check to see if API requests and responses are lining up with the API description.
- Description Validators: Check your API description to see if it is valid OpenAPI.
- Documentation: Render API Description as HTML (or maybe a PDF) so slightly less technical people can figure out how to work with the API.
- DSL: 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.
- Gateways: API Gateways and related tools that have integrated support for OpenAPI.
- GUI Editors: Visual editors help you design APIs without needing to memorize the entire OpenAPI specification.
- Learning: Whether you're trying to get documentation for a third party API based on traffic, or are trying to switch to design-first at an organization with no OpenAPI at all, learning can help you move your API spec forward and keep it up to date.
- Miscellaneous: Anything else that does stuff with OpenAPI but hasn't quite got enough to warrant its own category.
- Mock Servers: Fake servers that take description document as input, then route incoming HTTP requests to example responses or dynamically generates examples.
- Monitoring: Monitoring tools let you know what is going on in your API.
- Parsers: Loads and read OpenAPI descriptions, so you can work with them programmatically.
- SDK Generators: Generate code to give to consumers, to help them avoid interacting at a HTTP level.
- Security: By poking around your OpenAPI description, some tools can look out for attack vectors you might not have noticed.
- Server Implementations: Easily create and implement resources and routes for your APIs.
- Testing: Quickly execute API requests and validate responses on the fly through command line or GUI interfaces.
- Text Editors: Text editors give you visual feedback whilst you write OpenAPI, so you can see what docs might look like.
Auto Generators
Tools that will take your code and turn it into an OpenAPI Specification document
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
Fuego - Golang Fuego - web & API framework generating OpenAPI 3 spec from source code | Go | ❌ | ✅ | ❌ |
![]() |
GranthAi - NodeJs OpenAPI 3 based documentation generator which sits between server APIs and anyone calling the APIs | Javascript | ❌ | ✅ | ❌ |
![]() |
har-to-openapi - Automatically generate OpenAPI 3.0 Spec by using network requests captured in one or more HAR files | TypeScript | ❌ | ✅ | ❌ |
![]() |
har2openapi - Automatically generate OpenAPI 3.0 Spec by using network requests captured in one or more HAR files | TypeScript | ❌ | ✅ | ❌ |
![]() |
Huma - A modern, simple, fast & flexible micro framework for building HTTP REST/RPC APIs in Go backed by OpenAPI 3 and JSON Schema. | Go | ✅ | ✅ | ❌ |
![]() |
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. | Python | ❌ | ✅ | ❌ |
![]() |
OpenAPI AutoSpec - Proxy server that generates API descriptions for any app or website on localhost. | JavaScript | ❌ | ✅ | ❌ |
![]() |
OpenAPI DevTools - Browser extension that generates API specs for any app or website | TypeScript | ✅ | ✅ | ❌ |
![]() |
OpenApiSpecGeneratorPlugin - Built-in plugin for open-source DevProxy that automatically generates OpenAPI 3.0 Spec from captured network requests | C# | ❌ | ✅ | ❌ |
![]() |
Scramble - Modern Laravel OpenAPI documentation generator. No PHPDoc annotations required. | PHP | ✅ | ❌ | ❌ |
![]() |
TypeSpec - Emit OpenAPI specifications from API descriptions defined in the generic, interoperable, and extensible TypeSpec language. | TypeScript | ❌ | ✅ | ❌ |
![]() |
Converters
Various tools to convert to and from OpenAPI and other API description formats.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
allof-merge - Simplify your JsonSchema by combining allOf safely | TypeScript | ✅ | ✅ | ❌ |
![]() |
api - Magical SDK generation from an OpenAPI definition | JavaScript, TypeScript | ✅ | ✅ | ✅ |
![]() |
api-ref-bundler - Bundle all external $ref in Json based API document into single document | TypeScript | ✅ | ✅ | ✅ |
![]() |
APIMatic Transformer - Transform API Descriptions to and from RAML, API Blueprint, OAI v2/v3, WSDL, etc. | SaaS | ✅ | ✅ | ✅ | |
avantation - Generate OpenAPI 3.x specification from HAR. | TypeScript | 👷 | ✅ | ❌ |
![]() |
docs - A modern alternative to `go-swagger`. Offers generation and parsing of OpenAPI Specs, depending on the usage. | ✅ | ✅ | ❌ |
![]() |
|
go-swagger - Unmaintained v2.0 only project seeking new maintainer, or probably a fork. Parser, validator, generates descriptions from code, or code from descriptions! | Go | ❌ | ❌ | ✅ |
![]() |
Google Gnostic - Compile OpenAPI descriptions into equivalent Protocol Buffer representations | Go | ❌ | ✅ | ✅ |
![]() |
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. | TypeScript | ❌ | ✅ | ❌ |
![]() |
Karate-IDE - Generates KarateDSL Tests and Mocks from OpenAPI 3.0 documents and so you can quickly test/explore your API. | VSCode Extension | ❌ | ✅ | ❌ |
![]() |
laravel-openapi - Generate OpenAPI 3 specification for Laravel Applications. | PHP | ❌ | ✅ | ❌ |
![]() |
OAS RAML Converter - Converts between OpenAPI and RAML API specifications | Node.js | ❌ | ✅ | ✅ |
![]() |
oas-normalize - Comprehensive tooling for working with OpenAPI definitions. | JavaScript, TypeScript | ✅ | ✅ | ✅ |
![]() |
OData OpenAPI - OData 4.0, 3.0, and 2.0 to OpenAPI v3.1, v3.0, and v2.0 converter | Node.js / XSLT | ✅ | ✅ | ✅ |
![]() |
OData.OpenAPI - Convert an Edm (Entity Data Model) to OpenAPI 3.0 | .NET | ❌ | ✅ | ❌ |
![]() |
OpenAPI Filter - Filter internal components from OpenAPI Descriptions | Node.js | ✅ | ✅ | ✅ |
![]() |
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. | TypeScript | ❌ | ✅ | ❌ |
![]() |
OpenAPI TypeScript - Convert static OpenAPI schemas to TypeScript types quickly using pure Node.js. Fast, lightweight, (almost) dependency-free, and no Java/node-gyp/running OpenAPI servers necessary. | TypeScript | ✅ | ✅ | ✅ |
![]() |
openapi-format - A CLI to format an OpenAPI document by ordering fields in a hierarchical order, with the option to filter out flags, tags, methods, operationIDs; including the option to convert an OpenAPI 3.0 document to an OpenAPI version 3.1. | Node.js | ✅ | ✅ | ❌ |
![]() |
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. | TypeScript | ❌ | ✅ | ❌ |
![]() |
openapi-python-client - Generate modern Python clients from OpenAPI 3.0 documents. | Python | ✅ | ✅ | ❌ |
![]() |
openapi-to-postman - Convert OpenAPI and Swagger specs to the Postman Collection (v2) format | JavaScript | ✅ | ✅ | ✅ |
![]() |
portman - Port OpenAPI Spec to Postman Collection, with contract & variation tests included! | Node.js | ❌ | ✅ | ❌ |
![]() |
Step CI - Open-source framework for API Quality Assurance. Generate multi-step test-scenarios from OpenAPI. Validate responses against description documents and more. | CLI, Node.js | ❌ | ✅ | ❌ |
![]() |
swagger2openapi - Upgrade files from OpenAPI v2.0 to v3.0, bundling into one mega file or respecting $refs. Part of oas-kit. | Node.js / CLI | ❌ | ✅ | ✅ |
![]() |
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). | typescript | ❌ | ✅ | ❌ |
![]() |
Data Validators
Check to see if API requests and responses are lining up with the API description.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
api-codegen-ts - Generates TypeScript models, response validators, and operation controllers from OpenAPI descriptions | TypeScript | ❌ | ✅ | ✅ |
![]() |
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 | Python | ❌ | ✅ | ✅ |
![]() |
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). | Ruby | ❌ | ✅ | ✅ |
![]() |
django-contract-tester - Validate Django REST Framework (DRF) and Django Ninja APIs against their OpenAPI specification. | Python | ✅ | ✅ | ✅ |
![]() |
express-openapi-validator - 🦋 Auto-validate API requests and responses in ExpressJS. | JavaScript | ❌ | ✅ | ❌ |
![]() |
fastify-openapi-glue - A plugin for the Fastify webserver to autogenerate a Fastify configuration based on a OpenApi description. | Node.js | ✅ | ✅ | ✅ |
![]() |
Fitting - Library add improve test log for RSpec and WebMock, validate its according to API Blueprint and Open API, show the documentation coverage with log. | Ruby | ✅ | ✅ | ✅ |
![]() |
Fuego - Golang Fuego - web & API framework generating OpenAPI 3 spec from source code | Go | ❌ | ✅ | ❌ |
![]() |
Hot Potato - A reverse proxy that validates responses against an OpenAPI description. It can be used as either a standalone .NET tool, or installed as NuGet packages for an ASP.NET Core integration testing project. | C# | ❌ | ❌ | ❌ |
![]() |
Huma - A modern, simple, fast & flexible micro framework for building HTTP REST/RPC APIs in Go backed by OpenAPI 3 and JSON Schema. | Go | ✅ | ✅ | ❌ |
![]() |
JSONSchema::Validator - A Perl library which validates request/response according to an OpenAPI specification | Perl | ❌ | ✅ | ❌ |
![]() |
kin-openapi - OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more) | Go | ❌ | ✅ | ❌ |
![]() |
Mayhem for API - Probe your REST API with an infinite stream of test cases generated automatically from your OpenAPI specification. | Any | ✅ | ✅ | ✅ |
![]() |
oas-tools - NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Node.js | ❌ | ✅ | ❌ |
![]() |
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. | Node.js | ❌ | ✅ | ✅ |
![]() |
OpenAPI HttpFoundation Testing - Validate your HttpFoundation requests and responses (Symfony, Laravel, Drupal...) against OpenAPI definitions | PHP | ✅ | ✅ | ❌ |
![]() |
openapi-changes - The world's fastest, most beautiful, powerful and detailed OpenAPI change detection tool on earth. Explore every change in An OpenAPI spec. See changes over time, go back into history and see what changed with each commit. Identifies all breaking changes, Powered by libopenapi. | go | ✅ | ✅ | ✅ |
![]() |
openapi-core - Validate your requests and responses against an OpenAPI 3 specification and get very verbose and human-readable descriptions of errors. You will receive a deserialized object along with validation result, so you won't need to deserialize it twice. | Python | ✅ | ✅ | ❌ |
![]() |
openapi-data-validator - Validate API requests against an OpenAPI schema. Lightweight, focused, and integrates with any framework | Node.js/ Javascript | ❌ | ✅ | ❌ |
![]() |
openapi-examples-validator - Validates embedded JSON-examples in OpenAPI-specs | JavaScript | ❌ | ✅ | ✅ |
![]() |
openapi-psr7-validator - Using a PHP framework that supports PSR-7? Get free validation without writing a bunch of code, by registering this middleware and pointing it at your API description document. | PHP | ✅ | ✅ | ❌ |
![]() |
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. | Java | ❌ | ✅ | ✅ |
![]() |
openapi-spring-webflux-validator - A friendly kotlin library to validate API endpoints against an OpenAPI description document. | Java/Kotlin | ❌ | ✅ | ✅ |
![]() |
openapi-validator-bundle - Validates Request and Response using Symfony Framework | PHP | ❌ | ✅ | ❌ |
![]() |
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. | Node.js | ❌ | ✅ | ✅ |
![]() |
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. | Go | ❌ | ✅ | ❌ |
![]() |
OpenAPI::Modern - OpenAPI v3.1 validator and JSON Schema validator (draft7, draft2019-09, draft2020-12) | Perl | ✅ | ❌ | ❌ |
![]() |
openapi_first - It validates requests and responses against your API description using rack middlewares or a low-level interface. It gives you access to request parameters that are parsed exactly as described in your API description and produces useful customizable error responses if request validation fails. | Ruby | ✅ | ✅ | ❌ |
![]() |
openVALIDATION - Allows complex validation rules to be specified in openAPI spec files using natural language. | Java | ❌ | ✅ | ❌ |
![]() |
Step CI - Open-source framework for API Quality Assurance. Generate multi-step test-scenarios from OpenAPI. Validate responses against description documents and more. | CLI, Node.js | ❌ | ✅ | ❌ |
![]() |
vacuum - A blazing fast OpenAPI linter and validator that is compatible with Spectral rulesets, and designed for enterprise-grade speed and scale. | go | ✅ | ✅ | ✅ |
![]() |
Wiremock - WireMock Cloud is a managed, hosted version of WireMock, developed by the same team who wrote the open-source project. It is built on the same technology that powers open source WireMock and is 100% compatible with the WireMock API, with additional features that make it quick and easy to mock any API you depend on. WireMock Cloud also introduces advanced capabilities such as chaos engineering, OpenAPI generation, validation and documentation as well as better collaboration and user management. | SaaS | ✅ | ✅ | ✅ |
![]() |
wiretap - Wiretap is a feature packed OpenAPI compliance testing tool. Validate that a client and server are compliant with an OpenAPI spec. Rewrite paths, inject headers, and even host a UI locally to test an OpenAPI implementation. | go | ✅ | ✅ | ✅ |
![]() |
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 | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
🌿 Fern
Sponsored
|
TypeScript, Java, Python, Go, Ruby, C#, PHP, Swift, and Rust | ✅ | ✅ | ✅ |
![]() |
// Speakeasy
- Generate & publish SDKs in 10 languages, Terraform Providers, and docs from your OpenAPI
Sponsored
|
TypeScript, Python, Go, Java, Terraform, C#, PHP, Ruby, Swift, Unity | ✅ | ✅ | ❌ |
![]() |
api-diff-viewer - React component to view the difference between two Json based API documents. Supported specifications: JsonSchema, OpenAPI 3.x, AsyncAPI 2.x. | TypeScript | ✅ | ✅ | ✅ |
![]() |
APIGit - the native Git based collaboration platform for API design, document, mock, testing and share. | SaaS | ✅ | ✅ | ✅ |
![]() |
APIMatic Developer Experience Portal - Customizable developer portals packed with language specific documentation, client libraries, code samples, an API console and much more. | SaaS | ✅ | ✅ | ✅ | |
BlocklyAutomation - Input any OpenAPI document to have generated Blocks in Blockly form to test and generate documentation. | Javascript / .NET | ✅ | ✅ | ❌ |
![]() |
Bump.sh - Bump.sh generates elegant documentation and changelogs from your OpenAPI specifications. Git diff, for your API. Integrates with CI and Slack. | SaaS | ✅ | ✅ | ✅ |
![]() |
DeveloperHub - Collaboration platform for product and API documentation | SaaS | ✅ | ✅ | ✅ | |
Docuo - Docuo is a lightweight platform that transforms your static contents into a modern developer hub, API reference, product guides, and more. | SaaS | ✅ | ✅ | ❌ |
![]() |
Elements - Build beautiful, interactive API Docs with embeddable React or Web Components, powered by OpenAPI and Markdown | Javascript / Custom Element | ✅ | ✅ | ✅ |
![]() |
Frevo - Keep track of changes in your OpenAPI specifications & generate API references ⛱️ | SaaS | ✅ | ✅ | ❌ | |
GranthAi - NodeJs OpenAPI 3 based documentation generator which sits between server APIs and anyone calling the APIs | Javascript | ❌ | ✅ | ❌ |
![]() |
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. | TypeScript | ❌ | ✅ | ❌ |
![]() |
jekyll-openapi - An OpenAPI 3 documentation website generator built with Jekyll for use on GitHub Pages. | Jekyll | ❌ | ✅ | ❌ | |
Kong Enterprise Edition - Highly customizable developer portal with developer onboarding, integrated with the Kong API Gateway | Lua | ✅ | ✅ | ✅ | |
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. | Golang | ❌ | ✅ | ✅ | |
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. | Kubernetes | ❌ | ✅ | ✅ |
![]() |
MkDocs Redoc Tag - A MkDocs plugin supports adding Redoc to the page. | Python | ✅ | ✅ | ✅ |
![]() |
MkDocs Swagger UI Tag - A MkDocs plugin supports for add Swagger UI in page. | Python | ✅ | ✅ | ✅ |
![]() |
MrinDoc - OpenAPI description document viewer. | Vue.JS | ❌ | ✅ | ✅ |
![]() |
Nexmo OAS Renderer - Ruby OpenAPI docs rendering, use standalone or add to your Rails app | Ruby | ❌ | ✅ | ❌ |
![]() |
oas-tools - NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Node.js | ❌ | ✅ | ❌ |
![]() |
oas3-api-snippet-enricher - Enrich your existing description documents with generated code samples | JavaScript | ❌ | ✅ | ❌ |
![]() |
OpenAPI AutoSpec - Proxy server that generates API descriptions for any app or website on localhost. | JavaScript | ❌ | ✅ | ❌ |
![]() |
OpenAPI DevTools - Browser extension that generates API specs for any app or website | TypeScript | ✅ | ✅ | ❌ |
![]() |
OpenAPI Explorer - Generate and render fully customizable API documentation, then explore and execute API requests via the integrated console. | Javascript/Custom Element | ✅ | ✅ | ✅ |
![]() |
openapi-changes - The world's fastest, most beautiful, powerful and detailed OpenAPI change detection tool on earth. Explore every change in An OpenAPI spec. See changes over time, go back into history and see what changed with each commit. Identifies all breaking changes, Powered by libopenapi. | go | ✅ | ✅ | ✅ |
![]() |
openapi-dev-tool - OpenAPI Dev Tool proposes to developers a unique tool to address development and industrialization needs! | JavaScript | ✅ | ✅ | ✅ |
![]() |
OpenAPI-UI - Create simple and beautiful OpenAPI/Swagger documentation from OpenAPI files. Generate mock parameters and call APIs. Like Postman, but for OpenAPI specifications. | TypeScript | ❌ | ✅ | ✅ |
![]() |
openapi-viewer - Browse and test a REST API described with the OpenAPI 3.0 Specification | Vue.js | ❌ | ✅ | ❌ |
![]() |
OpenDocumenter - OpenDocumenter is a automatic documentation generator for OpenAPI v3 schemas. Simply provide your schema file in JSON or YAML, then sit back and enjoy the documentation. | Vue.js | 👷 | ✅ | ✅ | |
RapiDoc - Custom Element to view OpenAPI descriptions. | Web Component | ✅ | ✅ | ✅ |
![]() |
RapiPdf - Custom Element to generate PDF from OpenAPI descriptions. | Web Component | ❌ | ✅ | ✅ |
![]() |
ReadMe - Interactive developer hubs that help users succeed with your APIs 🦉 | SaaS | ✅ | ✅ | ✅ |
![]() |
ReDoc - Open source API reference docs from OpenAPI descriptions | React.js | ✅ | ✅ | ✅ |
![]() |
Redocly CLI - Bring versatile OpenAPI validation, linting & bundling to your command line with this open-source Swiss-army knife. | CLI & TypeScript | ✅ | ✅ | ✅ |
![]() |
RestCase Docs - An API-first and security-first management platform. Design visually and we will create a beautiful API documentation for your APIs. | SaaS | ❌ | ✅ | ✅ | |
Restish - A CLI for REST-ish APIs with HTTP/2, built-in auth, content negotiation, caching, and more that understands and can discover OpenAPI descriptions. | CLI / Go | ✅ | ✅ | ❌ |
![]() |
Scalar - Beautiful Open-Source API references from Swagger/OAS files ✨ | Vue.js | ✅ | ✅ | ✅ |
![]() |
Scramble - Modern Laravel OpenAPI documentation generator. No PHPDoc annotations required. | PHP | ✅ | ❌ | ❌ |
![]() |
Scribe - Generate API documentation for humans from your Laravel codebase. | PHP | ❌ | ✅ | ❌ |
![]() |
Stoplight Docs - Create beautiful, customizable, interactive API documentation generated from OpenAPI, integrated with Stoplight Studio. | SaaS | ✅ | ✅ | ✅ | |
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. | Go | ❌ | ✅ | ✅ |
![]() |
Treblle - Treblle is a lightweight SDK that helps Engineering and Product teams build, ship, and maintain REST based APIs faster. | ✅ | ✅ | ❌ | ||
VSCode OpenAPI Preview - Preview OpenAPI v3.0 & v3.1 documents in Visual Studio Code using Spotlight Elements. | TypeScript | ✅ | ✅ | ❌ |
![]() |
VSCode OpenAPI Viewer - Preview and edit JSON or YAML OpenAPI specifications in Visual Studio Code using RapiDoc. | TypeScript | ✅ | ✅ | ✅ |
![]() |
widdershins - Generate Slate/Shins markdown from OpenAPI 2.0/3.0.x | Node.js | ❌ | ✅ | ✅ |
![]() |
Wiremock - WireMock Cloud is a managed, hosted version of WireMock, developed by the same team who wrote the open-source project. It is built on the same technology that powers open source WireMock and is 100% compatible with the WireMock API, with additional features that make it quick and easy to mock any API you depend on. WireMock Cloud also introduces advanced capabilities such as chaos engineering, OpenAPI generation, validation and documentation as well as better collaboration and user management. | SaaS | ✅ | ✅ | ✅ |
![]() |
Zuplo (OpenAPI-based gateway and documentation) - Zuplo is an API gateway designed for developers. Natively powered by OpenAPI (3.1 or 3.0), zuplo offers an OpenAPI design surface, API documentation and a serverless, programmable edge gateway that includes request validation, auth, rate-limiting and more. | Web / SaaS | ✅ | ✅ | ❌ |
DSL
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 | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
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() $>. | Node.js | ❌ | ✅ | ✅ |
![]() |
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. | CUE | ❌ | ✅ | ❌ | |
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 | Go | ❌ | ✅ | ✅ | |
kotlin-openapi3-dsl - kotlin-openapi3-dsl is a DSL written in Kotlin to write OpenAPI descriptions in plain Kotlin. | Kotlin | ❌ | ✅ | ❌ | |
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. | OAL | ❌ | ✅ | ❌ |
![]() |
rswag - Rswag extends rspec-rails request specs with a Swagger-based DSL for describing and testing API operations. | ruby | 👷 | ✅ | ❌ |
![]() |
Spot - A concise, developer-friendly way to describe your API contract. | TypeScript | ❌ | ✅ | ✅ |
![]() |
Supermodel - Model your data using JSON Schema, refer and remix the models freely, convert to various formats including OAS v2/v3. | SaaS | ❌ | ✅ | ✅ |
Text Editors
Text editors give you visual feedback whilst you write OpenAPI, so you can see what docs might look like.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
42Crunch IntelliJ OpenAPI Editor - OpenAPI extension for Visual Studio Code - new file templates, navigation, intellisense, code snippets. | Any | ❌ | ✅ | ✅ |
![]() |
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. | TypeScript | ❌ | ✅ | ❌ |
![]() |
Fix My OpenAPI - A VSCode Extension by APIMatic - APIMatic's VSCode extension helps you validate, lint, and auto-fix your OpenAPI files, along with other capabilities such as API transformations, API audit report generation, SDKs generation, and more. | Any | ✅ | ✅ | ✅ | |
KaiZen-OpenAPI-Editor - Full-featured Eclipse editor for OpenAPI, also available on Eclipse Marketplace. | Java | ❌ | ✅ | ✅ |
![]() |
Redocly VSCode Extension - Redocly OpenAPI is a Visual Studio Code extension that helps you write, validate, preview, and maintain your OpenAPI documents. | Node.js | ✅ | ✅ | ✅ |
![]() |
Swagger Editor - Design, describe, and document your API on the first open source editor fully dedicated to OpenAPI-based APIs. | Node.js | ❌ | ✅ | ✅ |
![]() |
SwaggerHub - API design and documentation platform to improve collaboration, standardize development workflow and centralize their API discovery and consumption. | SaaS/On-Premise NodeJS | ❌ | ✅ | ✅ | |
VSCode OpenAPI Editor - OpenAPI extension for Visual Studio Code - new file templates, navigation, intellisense, code snippets. | Any | ❌ | ✅ | ✅ |
![]() |
VSCode OpenAPI Snippets - OpenAPI Snippets for Visual Studio Code editor, includes split file validation | Any | ❌ | ✅ | ❌ |
![]() |
VSCode OpenAPI Viewer - Preview and edit JSON or YAML OpenAPI specifications in Visual Studio Code using RapiDoc. | TypeScript | ✅ | ✅ | ✅ |
![]() |
Xapi Platform - Xapi is an integrated platform that enables you to implement a streamlined API-first design strategy with standardized API artifacts and collaborative teams. | Saas | ✅ | ❌ | ❌ |
GUI Editors
Visual editors help you design APIs without needing to memorize the entire OpenAPI specification.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
Api-Fiddle - Opinionated API design platform built for collaboration and exploration. Create API designs for technical documents, specifications, and reviews. | TypeScript / Saas | ✅ | ❌ | ❌ | |
ApiBldr - Web-Based API Designer for OpenAPI (swagger) and AsyncAPI specifications. | Angular 9.0 / Saas | ❌ | ✅ | ✅ | |
Apicurio Studio - Web-Based Open Source API Design via the OpenAPI specification. | Angular 7.0, Java / Saas | ❌ | ✅ | ✅ |
![]() |
APIGit - the native Git based collaboration platform for API design, document, mock, testing and share. | SaaS | ✅ | ✅ | ✅ |
![]() |
Flotiq - headless CMS with OpenAPI support - Visually define your Content Types, Flotiq automatically generates your own OpenAPI v3 compatible endpoints, SDKs and Postman collections. | ❌ | ✅ | ❌ | ||
Frogment Editor - A free openAPI spec editor and linter that breaks down your spec into fragments to make editing easier and more intuituve. | Desktop / SaaS | ✅ | ✅ | ❌ | |
Hackolade - A visual editor for OpenAPI v2/v3, from the pioneer in data modeling for NoSQL databases. | ReactJS | ✅ | ✅ | ✅ |
![]() |
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*. | Java, Python | ❌ | ✅ | ✅ | |
OAIE Sketch - Browser based OpenApi Integrated Editor with side-by side view of the yaml and an interactive graph. | Vue.js | ❌ | ✅ | ❌ |
![]() |
OpenAPI Designer - OpenAPI Designer is an easy-to-use, free, web-based, codeless description document editor with JSON and YAML outputs. | SaaS | ✅ | ✅ | ❌ | |
RestCase Designer - A design-first API managment platform with WYSIWYG API Designer for OpenAPI and AsyncAPI specifications. | Angular 9.0 / Saas | ❌ | ✅ | ✅ | |
Stoplight Studio - Stoplight Studio is a powerful GUI/text editor with linting and mocking built right in. The desktop version has been discontinued, but it runs in the browser, powered by your existing GitHub, GitLab, or BitBucket repos. | SaaS | ✅ | ✅ | ✅ | |
Xapi Platform - Xapi is an integrated platform that enables you to implement a streamlined API-first design strategy with standardized API artifacts and collaborative teams. | Saas | ✅ | ❌ | ❌ | |
Zuplo (OpenAPI-based gateway and documentation) - Zuplo is an API gateway designed for developers. Natively powered by OpenAPI (3.1 or 3.0), zuplo offers an OpenAPI design surface, API documentation and a serverless, programmable edge gateway that includes request validation, auth, rate-limiting and more. | Web / SaaS | ✅ | ✅ | ❌ |
Learning
Whether you're trying to get documentation for a third party API based on traffic, or are trying to switch to design-first at an organization with no OpenAPI at all, learning can help you move your API spec forward and keep it up to date.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
APIClarity - Reconstruct Open API Specifications from real-time workload traffic seamlessly. | Golang, JavaScript | ❌ | ✅ | ✅ |
![]() |
Fitting - Library add improve test log for RSpec and WebMock, validate its according to API Blueprint and Open API, show the documentation coverage with log. | Ruby | ✅ | ✅ | ✅ |
![]() |
InducOapi - A simple python module to generate OpenAPI Description Documents by supplying request/response bodies. | Python | ✅ | ✅ | ❌ |
![]() |
optic - Build your first OpenAPI description from traffic. Use Optic to patch the OpenAPI every time it detects new API behavior. | cli | ✅ | ✅ | ❌ |
![]() |
Response2Schema - Takes any JSON response and generates an OpenAPI definition document with the component schema and a default endpoint. | PHP | ❌ | ✅ | ❌ |
Mock Servers
Fake servers that take description document as input, then route incoming HTTP requests to example responses or dynamically generates examples.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
APIGit - the native Git based collaboration platform for API design, document, mock, testing and share. | SaaS | ✅ | ✅ | ✅ |
![]() |
Beeceptor - 🐝 An HTTP interceptor and rule-based mocking service for REST APIs. No coding required to create a mock endpoint. No sign-up required. | SaaS | ❌ | ✅ | ❌ | |
Counterfact - Counterfact is a revolutionary free and open source mock server. If you have Node installed, all you have to do is run `npx counterfact@latest path-or-url-to-your-openapi-document`. Out of the box, you'll get a mock server that returns random data. With a TypeScript API that's optimized for mocking, you can add more realistic behavior. It supports mix and matching mocks with calls to the real API (sans CORS headaches). With hot reloading and a REPL, you can change things up on the fly. | TypeScript / Node | ✅ | ✅ | ✅ |
![]() |
Fakeit - Create mock server from OpenAPI 3 specification with random response generation and request validation. | cli / Docker | ❌ | ✅ | ❌ |
![]() |
Falcon Heavy - The framework for building app backends and microservices via the API design-first workflow. | Python | ❌ | ✅ | ❌ |
![]() |
Karate-IDE - Generates KarateDSL Tests and Mocks from OpenAPI 3.0 documents and so you can quickly test/explore your API. | VSCode Extension | ❌ | ✅ | ❌ |
![]() |
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. | Kubernetes | ❌ | ✅ | ✅ |
![]() |
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. | SaaS | ❌ | ✅ | ❌ | |
Microcks - Open source Kubernetes-native tool for API Mocking and Testing. Turn your OAI contract examples into ready-to-use mocks. Use examples to test and validate implementations according to spec and schema elements. Microcks is a Cloud Native Computing Sandbox project 🚀 | Java | ✅ | ✅ | ✅ |
![]() |
Mockintosh - Mocks for CloudNative Environments - Converts OpenAPI files to Mocks and use them to develop in isolated environments and test edge cases, Async call to queues such as Kafka or RabbitMQ or simulate performance & chaos testing | CLI / Docker | ✅ | ✅ | ✅ | |
OpenAPI Mocker - Standalone nodejs based OpenAPI 3 mock server, docker-friendly with request validation and autoreload. | nodejs | ❌ | ✅ | ❌ |
![]() |
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. | PHP | ❌ | ✅ | ❌ |
![]() |
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. 🍺 | Typescript, React, Vue, Svelte, Angular | ❌ | ✅ | ✅ |
![]() |
Prism - Turn any OAI file into an API server with mocking, transformations, validations, and more. | cli | ✅ | ✅ | ✅ |
![]() |
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. | Any, CLI | ❌ | ✅ | ❌ |
![]() |
Wiremock - WireMock Cloud is a managed, hosted version of WireMock, developed by the same team who wrote the open-source project. It is built on the same technology that powers open source WireMock and is 100% compatible with the WireMock API, with additional features that make it quick and easy to mock any API you depend on. WireMock Cloud also introduces advanced capabilities such as chaos engineering, OpenAPI generation, validation and documentation as well as better collaboration and user management. | SaaS | ✅ | ✅ | ✅ |
![]() |
yii2-app-api - Generate Server side API code with routing, models, data validation and database schema from an OpenAPI description. Based on Yii Framework. | PHP | ❌ | ✅ | ❌ |
![]() |
Description Validators
Check your API description to see if it is valid OpenAPI.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
api - Magical SDK generation from an OpenAPI definition | JavaScript, TypeScript | ✅ | ✅ | ✅ |
![]() |
API Insights - 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. | ❌ | ✅ | ❌ |
![]() |
|
Cherrybomb - A CLI tool that helps avoid undefined user behaviour by validating your API descriptions, to make sure key parts are not missing or vague. | Rust | ✅ | ✅ | ❌ |
![]() |
express-openapi-validator - 🦋 Auto-validate API requests and responses in ExpressJS. | JavaScript | ❌ | ✅ | ❌ |
![]() |
Fix My OpenAPI - A VSCode Extension by APIMatic - APIMatic's VSCode extension helps you validate, lint, and auto-fix your OpenAPI files, along with other capabilities such as API transformations, API audit report generation, SDKs generation, and more. | Any | ✅ | ✅ | ✅ | |
Hot Potato - A reverse proxy that validates responses against an OpenAPI description. It can be used as either a standalone .NET tool, or installed as NuGet packages for an ASP.NET Core integration testing project. | C# | ❌ | ❌ | ❌ |
![]() |
oas-normalize - Comprehensive tooling for working with OpenAPI definitions. | JavaScript, TypeScript | ✅ | ✅ | ✅ |
![]() |
oas-tools - NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Node.js | ❌ | ✅ | ❌ |
![]() |
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. | Node.js | ❌ | ✅ | ✅ |
![]() |
OpenAPI Style Validator - A customizable style validator to make sure your OpenAPI description follows your organization's standards. | Java, CLI | ❌ | ✅ | ✅ |
![]() |
OpenAPI Validator - Configurable and extensible validator/linter for OpenAPI documents | Node.js | ✅ | ✅ | ✅ |
![]() |
openapi-examples-validator - Validates embedded JSON-examples in OpenAPI-specs | JavaScript | ❌ | ✅ | ✅ |
![]() |
openapi-schema-validator - OpenApi description validation | Javascript | ✅ | ✅ | ✅ |
![]() |
openapi-spec-validator - OpenAPI Description validator | Python | ✅ | ✅ | ✅ |
![]() |
openapi-spring-webflux-validator - A friendly kotlin library to validate API endpoints against an OpenAPI description document. | Java/Kotlin | ❌ | ✅ | ✅ |
![]() |
openapi-validator-junit - A JUnit extension for validating a wide range of properties of a specification. | Kotlin | ✅ | ✅ | ✅ |
![]() |
OpenAPI::Modern - OpenAPI v3.1 validator and JSON Schema validator (draft7, draft2019-09, draft2020-12) | Perl | ✅ | ❌ | ❌ |
![]() |
openVALIDATION - Allows complex validation rules to be specified in openAPI spec files using natural language. | Java | ❌ | ✅ | ❌ |
![]() |
php-openapi - A PHP library for manipulating and validating OpenAPI 3.0 Descriptions | PHP | 👷 | ✅ | ❌ |
![]() |
Rate My OpenAPI - Free and open source OpenAPI automated review and validation tool. | Go | ✅ | ✅ | ❌ |
![]() |
Redocly CLI - Bring versatile OpenAPI validation, linting & bundling to your command line with this open-source Swiss-army knife. | CLI & TypeScript | ✅ | ✅ | ✅ |
![]() |
Spectral - A flexible OpenAPI/AsyncAPI API linter, which can help you build anything from automated API Style Guides for API Governance workflows, or handle any other JSON/YAML object linting. functions. | CLI & TypeScript/JavaScript | ✅ | ✅ | ✅ |
![]() |
super-linter - GitHub Action to lint repositories as part of CI/CD. Implements the latest version of Spectral. | CLI / Docker | ❌ | ✅ | ✅ |
![]() |
vacuum - A blazing fast OpenAPI linter and validator that is compatible with Spectral rulesets, and designed for enterprise-grade speed and scale. | go | ✅ | ✅ | ✅ |
![]() |
Security
By poking around your OpenAPI description, some tools can look out for attack vectors you might not have noticed.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
42crunch - A unique set of integrated API security tools that allow discovery, remediation of OpenAPI vulnerabilities and runtime protection against API attacks. | SaaS | ❌ | ✅ | ✅ | |
API Insights - RestCase executes hundrends 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. | SaaS | ❌ | ✅ | ✅ | |
cats - CATS is a REST API Fuzzer and negative testing tool for OpenAPI endpoints. CATS automatically generates, runs and reports tests with minimum configuration and no coding effort. Tests are self-healing and do not require maintenance. | Java | ✅ | ✅ | ✅ | |
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. | SaaS | ❌ | ✅ | ✅ |
![]() |
Mayhem for API - Probe your REST API with an infinite stream of test cases generated automatically from your OpenAPI specification. | Any | ✅ | ✅ | ✅ |
![]() |
oas-tools - NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Node.js | ❌ | ✅ | ❌ |
![]() |
openapi-fuzzer - Based on OpenAPI specification, openapi-fuzzer provides random data as inputs to the API endpoints in order to find bugs. | Rust | ❌ | ✅ | ❌ | |
OpenAPI3 Fuzzer - Simple fuzzer for OpenAPI 3 specification based APIs. Verifies responses and sends various attack patterns. | Python | ❌ | ✅ | ❌ |
![]() |
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. | Java | ❌ | ✅ | ✅ |
![]() |
Rate My OpenAPI - Free and open source OpenAPI automated review and validation tool. | Go | ✅ | ✅ | ❌ |
![]() |
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. | Any | ❌ | ✅ | ✅ |
![]() |
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. | SaaS | ❌ | ✅ | ✅ |
![]() |
Treblle - Treblle is a lightweight SDK that helps Engineering and Product teams build, ship, and maintain REST based APIs faster. | ✅ | ✅ | ❌ |
SDK Generators
Generate code to give to consumers, to help them avoid interacting at a HTTP level.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
🌿 Fern
- Generate SDKs in popular languages and publish them to package managers (like npm).
Sponsored
|
TypeScript, Java, Python, Go, Ruby, C#, PHP, Swift, and Rust | ✅ | ✅ | ✅ |
![]() |
✨ Stainless
- Generate SDKs in popular languages and publish them to package managers (like npm).
Sponsored
|
TypeScript, Python, Go, Java, and Kotlin | ✅ | ✅ | ❌ |
![]() |
// Speakeasy
- Generate & publish SDKs in 10 languages, Terraform Providers, and docs from your OpenAPI
Sponsored
|
TypeScript, Python, Go, Java, Terraform, C#, PHP, Ruby, Swift, Unity | ✅ | ✅ | ❌ |
![]() |
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. | ABAP | ❌ | ✅ | ❌ |
![]() |
api-codegen-ts - Generates TypeScript models, response validators, and operation controllers from OpenAPI descriptions | TypeScript | ❌ | ✅ | ✅ |
![]() |
apigen-ts - Typed HTTP client generator as single file without extra dependencies | TypeScript | ✅ | ✅ | ✅ |
![]() |
APIMatic Generate - Bring in your API description (OAI v2/v3, RAML, API Blueprint, WSDL, etc.) to generate fully functional SDKs in over 10 languages. | SaaS | ✅ | ✅ | ✅ | |
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. | TypeScript | ❌ | ✅ | ✅ |
![]() |
BlocklyAutomation - Input any OpenAPI document to have generated Blocks in Blockly form to test and generate documentation. | Javascript / .NET | ✅ | ✅ | ❌ |
![]() |
Counterfact - Counterfact is a revolutionary free and open source mock server. If you have Node installed, all you have to do is run `npx counterfact@latest path-or-url-to-your-openapi-document`. Out of the box, you'll get a mock server that returns random data. With a TypeScript API that's optimized for mocking, you can add more realistic behavior. It supports mix and matching mocks with calls to the real API (sans CORS headaches). With hot reloading and a REPL, you can change things up on the fly. | TypeScript / Node | ✅ | ✅ | ✅ |
![]() |
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. | PHP | ❌ | ✅ | ❌ |
![]() |
docs - A modern alternative to `go-swagger`. Offers generation and parsing of OpenAPI Specs, depending on the usage. | ✅ | ✅ | ❌ |
![]() |
|
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. | Java | ❌ | ✅ | ❌ |
![]() |
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. | Kotlin | ❌ | ✅ | ❌ |
![]() |
Flotiq - headless CMS with OpenAPI support - Visually define your Content Types, Flotiq automatically generates your own OpenAPI v3 compatible endpoints, SDKs and Postman collections. | ❌ | ✅ | ❌ | ||
go-swagger - Unmaintained v2.0 only project seeking new maintainer, or probably a fork. Parser, validator, generates descriptions from code, or code from descriptions! | Go | ❌ | ❌ | ✅ |
![]() |
guardrail - Principled code generation from OpenAPI descriptions | Scala, Java, ... | ❌ | ✅ | ✅ |
![]() |
janephp/open-api - Generate a PHP Client API (PSR-7 compatible) given a OpenAPI specification. | PHP | ❌ | ✅ | ✅ |
![]() |
Kiota Api Client Generator - Kiota is a cross platform API Client code generator that is small, fast, and optimized for API consumers to find APIs and generate client code for just the parts of the API that they need. One tool, for any OpenAPI described API, that delivers a consistent client experience in multiple languages. | C# | ❌ | ✅ | ✅ |
![]() |
NSwag - OpenAPI toolchain for .NET, Web API and TypeScript | .NET | ❌ | ✅ | ✅ |
![]() |
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! | TypeScript | ❌ | ✅ | ❌ |
![]() |
oazapfts! - Generate TypeScript clients from a given OpenAPI description document. | TypeScript | ❌ | ✅ | ✅ |
![]() |
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. | C# | ❌ | ✅ | ✅ |
![]() |
OpenAPI Commander - Generate a Node.js command line tool from an OpenAPI definition. | Node.js / CLI | ✅ | ✅ | ❌ |
![]() |
OpenAPI Generator - A template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI Description (community-driven fork of swagger-codegen) | Java | 👷 | ✅ | ✅ |
![]() |
OpenAPI JSON Schema Generator - A template-driven engine to generate API client code documentation by parsing your OpenAPI Description | Python, Java | ✅ | ✅ | ❌ |
![]() |
OpenAPI Qraft - Generate a type-safe TanStack Query client for React from an OpenAPI Document. | TypeScript | ✅ | ✅ | ❌ |
![]() |
openapi-ts-sdk-builder - Generate a TypeScript SDK from OpenAPI 3 definitions. | Javascript / TypeScript | ✅ | ✅ | ❌ |
![]() |
restful-react - Generate React hooks with appropriate type-signatures from OpenAPI descriptions | React (Typescript) | ❌ | ✅ | ✅ |
![]() |
spring-openapi - OpenAPI v3 generator for Java Spring. Includes also client generation. Supports inheritance with discriminators, Jackson annotations and custom interceptors. | Java | ❌ | ✅ | ❌ |
![]() |
Swift OpenAPI Generator - Generate Swift client and server code from an OpenAPI document. Includes support for type-safe JSON event streaming, multipart, Swift concurrency, customizable middlewares, and pluggable HTTP libraries. | Swift | ✅ | ✅ | ❌ |
![]() |
Typoas - Fully typed OpenAPI Typescript generator | Typescript | ❌ | ✅ | ❌ |
![]() |
Unchase.OpenAPI.Connectedservice - Visual Studio extension to generate C# (TypeScript) HttpClient (or C# Controllers) code for OpenAPI web service with NSwag. | .NET | ❌ | ✅ | ✅ |
![]() |
Server Implementations
Easily create and implement resources and routes for your APIs.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
🌿 Fern
- Generate server-side boilerplate code from OpenAPI and then implement your business logic.
Sponsored
|
Express.js, FastAPI, Spring Boot | ✅ | ✅ | ✅ |
![]() |
@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. | Node.js | ❌ | ✅ | ❌ |
![]() |
@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. | Node.js | ❌ | ✅ | ❌ |
![]() |
@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 | Node.js | ❌ | ✅ | ❌ |
![]() |
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. | ABAP | ❌ | ✅ | ❌ |
![]() |
API Platform - REST and GraphQL framework to build modern API-driven projects | PHP | ❌ | ✅ | ✅ |
![]() |
BaucisJS baucis-openapi3 - Create REST resources with persistence on MongoDB and expose OpenAPI v.3 contracts | Node.js | ❌ | ✅ | ❌ |
![]() |
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. | Python | ❌ | ✅ | ✅ |
![]() |
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. | TypeScript | ❌ | ✅ | ❌ |
![]() |
express-openapi - An unopinionated OpenAPI framework for Express, which supports Promise based middleware, response handlers and Security Filtering. | Node.js / Typescript | 👷 | ✅ | ✅ |
![]() |
Falcon Heavy - The framework for building app backends and microservices via the API design-first workflow. | Python | ❌ | ✅ | ❌ |
![]() |
Fuego - Golang Fuego - web & API framework generating OpenAPI 3 spec from source code | Go | ❌ | ✅ | ❌ |
![]() |
Fusio - Open source API management platform | PHP | ❌ | ✅ | ❌ |
![]() |
Hot Potato - A reverse proxy that validates responses against an OpenAPI description. It can be used as either a standalone .NET tool, or installed as NuGet packages for an ASP.NET Core integration testing project. | C# | ❌ | ❌ | ❌ |
![]() |
Huma - A modern, simple, fast & flexible micro framework for building HTTP REST/RPC APIs in Go backed by OpenAPI 3 and JSON Schema. | Go | ✅ | ✅ | ❌ |
![]() |
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. | Node.js TypeScript | ❌ | ✅ | ❌ |
![]() |
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.' | Perl | ❌ | ✅ | ✅ |
![]() |
Mojolicious::Plugin::OpenAPI::Modern - Mojolicious plugin for OpenAPI::Modern | Perl | ✅ | ❌ | ❌ |
![]() |
oas-tools - NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Node.js | ❌ | ✅ | ❌ |
![]() |
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. | Node.js | ❌ | ✅ | ✅ |
![]() |
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. | Node.js | ❌ | ✅ | ✅ |
![]() |
openapi-backend - Build, Validate, Route, and Mock using OpenAPI specification. Framework-agnostic | Node.js Typescript | ✅ | ✅ | ❌ |
![]() |
openapi-processor - Generates java interfaces & model classes for Spring Boot (annotation based, MVC & WebFlux) or Micronaut (annotation based) from an OpenAPI yaml description. Provides powerful type mapping capabilities to adjust the generated code. Gradle & Maven support. Playground. | Java | ✅ | ✅ | ❌ |
![]() |
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. | Node.js | ❌ | ✅ | ✅ |
![]() |
SpringFox - Automated JSON API documentation for APIs built with Spring and SpringBoot | Java, Kotlin, Groovy, or Ruby | ❌ | ✅ | ✅ |
![]() |
Swift OpenAPI Generator - Generate Swift client and server code from an OpenAPI document. Includes support for type-safe JSON event streaming, multipart, Swift concurrency, customizable middlewares, and pluggable HTTP libraries. | Swift | ✅ | ✅ | ❌ |
![]() |
tsoa - Creates OpenAPI docs and provides free runtime validation for your Koa, Express, Hapi (and more) services | Node.js / TypeScript | ❌ | ✅ | ✅ |
![]() |
Vert.x Web Api Contract - Create API endpoints with Vert.x 3 and OpenAPI 3 with automatic requests validation | Java, Kotlin, JavaScript, Groovy, Ruby, Ceylon or Scala | ❌ | ✅ | ❌ |
![]() |
Whook - OpenAPI 3 based NodeJS server. | Javascript / TypeScript | ✅ | ✅ | ❌ |
![]() |
yii2-app-api - Generate Server side API code with routing, models, data validation and database schema from an OpenAPI description. Based on Yii Framework. | PHP | ❌ | ✅ | ❌ |
![]() |
Miscellaneous
Anything else that does stuff with OpenAPI but hasn't quite got enough to warrant its own category.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
allof-merge - Simplify your JsonSchema by combining allOf safely | TypeScript | ✅ | ✅ | ❌ |
![]() |
api-diff-viewer - React component to view the difference between two Json based API documents. Supported specifications: JsonSchema, OpenAPI 3.x, AsyncAPI 2.x. | TypeScript | ✅ | ✅ | ✅ |
![]() |
api-ref-bundler - Bundle all external $ref in Json based API document into single document | TypeScript | ✅ | ✅ | ✅ |
![]() |
api-smart-diff - Compare two Json based API documents (OpenAPI, AsyncAPI, JsonSchema, GraphAPI) | TypeScript | ✅ | ✅ | ✅ |
![]() |
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. | Python | ❌ | ✅ | ❌ |
![]() |
express-openapi-validator - 🦋 Auto-validate API requests and responses in ExpressJS. | JavaScript | ❌ | ✅ | ❌ |
![]() |
Flotiq - headless CMS with OpenAPI support - Visually define your Content Types, Flotiq automatically generates your own OpenAPI v3 compatible endpoints, SDKs and Postman collections. | ❌ | ✅ | ❌ | ||
Frevo - Keep track of changes in your OpenAPI specifications & generate API references ⛱️ | SaaS | ✅ | ✅ | ❌ | |
go-openapi-spec-code-diffs - A golang validation tool that compares given OpenAPI specs (e.g. openapi.yaml) vis-a-vis routes (e.g. /api/v1/customer/:id) defined in golang source code and reports differences. This is useful in scenarios where you want to keep the OpenAPI specs and Code in synch. | go | ✅ | ✅ | ❌ |
![]() |
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. | TypeScript | ❌ | ✅ | ❌ |
![]() |
laravel-openapi - Generate OpenAPI 3 specification for Laravel Applications. | PHP | ❌ | ✅ | ❌ |
![]() |
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! | TypeScript | ❌ | ✅ | ❌ |
![]() |
oas - Comprehensive tooling for working with OpenAPI definitions | JavaScript, TypeScript | ✅ | ✅ | ✅ |
![]() |
oasdiff - Golang module for deep comparison of two OpenAPI specifications. Available also as a command-line. | Go | ❌ | ✅ | ❌ |
![]() |
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. | Any | ❌ | ✅ | ❌ |
![]() |
OpenAPI CRUD Wizard - This wizard is an IntelliJ Plugin to create a new OpenAPI document including all CRUD operations based only on a Yaml object. No knowledge about OpenAPI specification needed. | Yaml | ✅ | ✅ | ❌ |
![]() |
OpenAPI Server Code Generator (oapi-codegen) - Generate a client, server, and HTTP types for various Go HTTP servers, from an OpenAPI v3 specification | Go | ❌ | ✅ | ❌ |
![]() |
openapi-cli-tool - Can list up defined API paths and bundle multi-file into one. Supports multiple file extensions. | Python | ❌ | ✅ | ❌ |
![]() |
openapi-comparator - C# library for comparing two OpenAPI specifications. | C# | ❌ | ✅ | ❌ |
![]() |
openapi-dev-tool - OpenAPI Dev Tool proposes to developers a unique tool to address development and industrialization needs! | JavaScript | ✅ | ✅ | ✅ |
![]() |
openapi-diff - Utility for comparing two OpenAPI specifications. | Java | ❌ | ✅ | ❌ |
![]() |
openapi-examples-validator - Validates embedded JSON-examples in OpenAPI-specs | JavaScript | ❌ | ✅ | ✅ |
![]() |
openapi-format - A CLI to format an OpenAPI document by ordering fields in a hierarchical order, with the option to filter out flags, tags, methods, operationIDs; including the option to convert an OpenAPI 3.0 document to an OpenAPI version 3.1. | Node.js | ✅ | ✅ | ❌ |
![]() |
openapi-spring-webflux-validator - A friendly kotlin library to validate API endpoints against an OpenAPI description document. | Java/Kotlin | ❌ | ✅ | ✅ |
![]() |
openVALIDATION - Allows complex validation rules to be specified in openAPI spec files using natural language. | Java | ❌ | ✅ | ❌ |
![]() |
optic diff - Diff the effective API contract between any two versions of your OpenAPI description. Exit 1 on breaking changes. | Node | ✅ | ✅ | ❌ |
![]() |
php-openapi-faker - Library to generate fake data for OpenAPI 3.x requests, responses and schemas. | PHP | ❌ | ✅ | ❌ |
![]() |
Rate My OpenAPI - Free and open source OpenAPI automated review and validation tool. | Go | ✅ | ✅ | ❌ |
![]() |
Restish - A CLI for REST-ish APIs with HTTP/2, built-in auth, content negotiation, caching, and more that understands and can discover OpenAPI descriptions. | CLI / Go | ✅ | ✅ | ❌ |
![]() |
schema2dts - Create types definitions from an OpenAPI schema. | Javascript / TypeScript | ❌ | ✅ | ❌ |
![]() |
Treblle - Treblle is a lightweight SDK that helps Engineering and Product teams build, ship, and maintain REST based APIs faster. | ✅ | ✅ | ❌ | ||
vacuum - A blazing fast OpenAPI linter and validator that is compatible with Spectral rulesets, and designed for enterprise-grade speed and scale. | go | ✅ | ✅ | ✅ |
![]() |
wiretap - Wiretap is a feature packed OpenAPI compliance testing tool. Validate that a client and server are compliant with an OpenAPI spec. Rewrite paths, inject headers, and even host a UI locally to test an OpenAPI implementation. | go | ✅ | ✅ | ✅ |
![]() |
Parsers
Loads and read OpenAPI descriptions, so you can work with them programmatically.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
api - Magical SDK generation from an OpenAPI definition | JavaScript, TypeScript | ✅ | ✅ | ✅ |
![]() |
APIDevTools/swagger-parser - OpenAPI 2.0 and 3.0 parser and validator. Can also bundle multiple documents into one via `$ref`. | Node.js | ❌ | ✅ | ✅ |
![]() |
KaiZen OpenAPI Parser - High-performance Parser, Validator, and Java Object Model for OpenAPI 3.x | Java | ❌ | ✅ | ❌ |
![]() |
kin-openapi - OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more) | Go | ❌ | ✅ | ✅ |
![]() |
libopenapi - Enterprise grade, fully featured OpenAPI 3.1, 3.0 and Swagger parser library for go. A complete toolset for reading and parsing OpenAPI and Swagger specifications. Comes complete with high and low-level APIs, diff engine, index and resolver. | go | ✅ | ✅ | ✅ |
![]() |
Microsoft/OpenAPI.NET - C# based parser with OpenAPI Description validation and migration support from V2 | .NET | ❌ | ✅ | ✅ |
![]() |
oas-normalize - Comprehensive tooling for working with OpenAPI definitions. | JavaScript, TypeScript | ✅ | ✅ | ✅ |
![]() |
oas-tools - NodeJS module to manage RESTful APIs defined with OpenAPI 3.0 Description over Express servers, including security validations | Node.js | ❌ | ✅ | ❌ |
![]() |
oas_parser - A Ruby parser for OpenAPI 3.0 descriptions. | Ruby | ❌ | ✅ | ❌ |
![]() |
Object Oriented OpenAPI Specification - An object oriented approach to generating OpenAPI Descriptions, implemented in PHP | PHP | ❌ | ✅ | ❌ |
![]() |
openapi-filter - OpenAPI 2.0 and 3.0 filter utility. A CLI/module to filter out internal/private paths, operations, parameters, schemas etc from OpenAPI v1/OpenAPI v2/AsyncAPI definitions. Simply flag any OpenAPI object within the definition with an `x-internal` specification extension or target a OpenAPI property (tags, methods, OperationId), and it will be removed from the output. | Node.js | ❌ | ✅ | ✅ |
![]() |
openapi-format - A CLI to format an OpenAPI document by ordering fields in a hierarchical order, with the option to filter out flags, tags, methods, operationIDs; including the option to convert an OpenAPI 3.0 document to an OpenAPI version 3.1. | Node.js | ✅ | ✅ | ❌ |
![]() |
openapi-processor/openapi-parser - OpenAPI parser with (json schema) validation (currently 3.0 only). Separate apis for OpenAPI 3.0 & 3.1. Easily get resolved $ref objects. Pluggable document reader & json/yaml converter. Minimal dependencies. | Java | ✅ | ✅ | ❌ |
![]() |
openapi-snippet - Generates code snippets in various languages & tools (cURL, Node, Python, Ruby, Java, Go, C#...), from OpenAPI documents. | Node.js | ❌ | ✅ | ✅ |
![]() |
openapi-snippet-cli - Adds code snippets in redoc style (x-codeSamples) to OpenAPI documents. This is a CLI wrapper for the "openapi-snippet". | Node.js | ❌ | ✅ | ✅ |
![]() |
OpenAPI-TS - TS Model & utils for OpenAPI 3.0.x contracts | TypeScript | ❌ | ✅ | ❌ |
![]() |
openapi3 - An OpenAPI 3 Specification client, and validator, covering both description validation and limited data validation for Python 3. | Python | ❌ | ✅ | ❌ |
![]() |
OpenAPI3-Rust - Rust serialization library for OpenAPI v3 | Rust | ❌ | ✅ | ❌ |
![]() |
openapi3_parser - A Ruby implementation of parser and validator for the OpenAPI 3 Specification. | Ruby | ❌ | ✅ | ❌ |
![]() |
php-openapi - A PHP library for manipulating and validating OpenAPI 3.0 Descriptions | PHP | 👷 | ✅ | ❌ |
![]() |
psx-api - Parse and generate API specification formats | PHP | ❌ | ✅ | ✅ |
![]() |
swagger-parser - Swagger Parser reads OpenAPI definitions into current Java POJOs. | Java | ✅ | ✅ | ✅ |
![]() |
Testing
Quickly execute API requests and validate responses on the fly through command line or GUI interfaces.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
APIGit - the native Git based collaboration platform for API design, document, mock, testing and share. | SaaS | ✅ | ✅ | ✅ |
![]() |
Assertible - Import an OpenAPI specification into Assertible to generate tests that validate JSON Schema responses and status codes on every endpoint. | SaaS | ❌ | ✅ | ✅ | |
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... | Java | ❌ | ✅ | ✅ |
![]() |
BlocklyAutomation - Input any OpenAPI document to have generated Blocks in Blockly form to test and generate documentation. | Javascript / .NET | ✅ | ✅ | ❌ |
![]() |
Chai OpenAPI Response Validator - Simple Chai support for asserting that HTTP responses satisfy an OpenAPI spec. | Node.js | ❌ | ✅ | ✅ |
![]() |
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. | TypeScript | ❌ | ✅ | ❌ |
![]() |
Dredd - Language-agnostic command-line tool for validating API description document against backend implementation of the API | Javascript | ❌ | ✅ | ✅ |
![]() |
EvoMaster - A tool for automatically generating system-level test cases for RESTful APIs, using Evolutionary Algorithms and Dynamic Program Analysis. | Java/Kotlin | ❌ | ✅ | ✅ |
![]() |
Fitting - Library add improve test log for RSpec and WebMock, validate its according to API Blueprint and Open API, show the documentation coverage with log. | Ruby | ✅ | ✅ | ✅ |
![]() |
hikaku - A library that tests if the implementation of a REST-API meets its specification. | Kotlin | ❌ | ✅ | ❌ |
![]() |
Hot Potato - A reverse proxy that validates responses against an OpenAPI description. It can be used as either a standalone .NET tool, or installed as NuGet packages for an ASP.NET Core integration testing project. | C# | ❌ | ❌ | ❌ |
![]() |
jest-openapi - Additional Jest matchers for asserting that HTTP responses satisfy an OpenAPI spec. | Node.js | ❌ | ✅ | ✅ |
![]() |
Karate-IDE - Generates KarateDSL Tests and Mocks from OpenAPI 3.0 documents and so you can quickly test/explore your API. | VSCode Extension | ❌ | ✅ | ❌ |
![]() |
Mayhem for API - Probe your REST API with an infinite stream of test cases generated automatically from your OpenAPI specification. | Any | ✅ | ✅ | ✅ |
![]() |
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. | SaaS | ❌ | ✅ | ❌ | |
Microcks - Open source Kubernetes-native tool for API Mocking and Testing. Turn your OAI contract examples into ready-to-use mocks. Use examples to test and validate implementations according to spec and schema elements. Microcks is a Cloud Native Computing Sandbox project 🚀 | Java | ✅ | ✅ | ✅ |
![]() |
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. | Node.js | ❌ | ✅ | ✅ |
![]() |
openapi-changes - The world's fastest, most beautiful, powerful and detailed OpenAPI change detection tool on earth. Explore every change in An OpenAPI spec. See changes over time, go back into history and see what changed with each commit. Identifies all breaking changes, Powered by libopenapi. | go | ✅ | ✅ | ✅ |
![]() |
openapi-dev-tool - OpenAPI Dev Tool proposes to developers a unique tool to address development and industrialization needs! | JavaScript | ✅ | ✅ | ✅ |
![]() |
portman - Port OpenAPI Spec to Postman Collection, with contract & variation tests included! | Node.js | ❌ | ✅ | ❌ |
![]() |
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. | Java | ❌ | ✅ | ✅ | |
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. | Java | ❌ | ✅ | ✅ |
![]() |
Restish - A CLI for REST-ish APIs with HTTP/2, built-in auth, content negotiation, caching, and more that understands and can discover OpenAPI descriptions. | CLI / Go | ✅ | ✅ | ❌ |
![]() |
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. | Any | ❌ | ✅ | ✅ |
![]() |
Schemathesis - Reads the description document and generates test cases that will ensure that your application is compliant with its description. | Python | ❌ | ✅ | ✅ |
![]() |
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. | Any, CLI | ❌ | ✅ | ❌ |
![]() |
Spectator - Spectator provides light-weight OpenAPI testing tools you can use within your existing Laravel test suite. | PHP | 👷 | ✅ | ❌ |
![]() |
Step CI - Open-source framework for API Quality Assurance. Generate multi-step test-scenarios from OpenAPI. Validate responses against description documents and more. | CLI, Node.js | ❌ | ✅ | ❌ |
![]() |
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. | Java | ❌ | ✅ | ❌ |
![]() |
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. | JavaScript | ❌ | ✅ | ✅ | |
Wiremock - WireMock Cloud is a managed, hosted version of WireMock, developed by the same team who wrote the open-source project. It is built on the same technology that powers open source WireMock and is 100% compatible with the WireMock API, with additional features that make it quick and easy to mock any API you depend on. WireMock Cloud also introduces advanced capabilities such as chaos engineering, OpenAPI generation, validation and documentation as well as better collaboration and user management. | SaaS | ✅ | ✅ | ✅ |
![]() |
wiretap - Wiretap is a feature packed OpenAPI compliance testing tool. Validate that a client and server are compliant with an OpenAPI spec. Rewrite paths, inject headers, and even host a UI locally to test an OpenAPI implementation. | go | ✅ | ✅ | ✅ |
![]() |
Xapi Platform - Xapi is an integrated platform that enables you to implement a streamlined API-first design strategy with standardized API artifacts and collaborative teams. | Saas | ✅ | ❌ | ❌ |
Gateways
API Gateways and related tools that have integrated support for OpenAPI.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
Fusio - Open source API management platform | PHP | ❌ | ✅ | ❌ |
![]() |
Kong Enterprise Edition - Highly customizable developer portal with developer onboarding, integrated with the Kong API Gateway | Lua | ✅ | ✅ | ✅ | |
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. | Golang | ❌ | ✅ | ✅ | |
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. | Kubernetes | ❌ | ✅ | ✅ |
![]() |
Serverless API Gateway - Serverless API Gateway is a serverless, open-source, and free API Gateway that is designed to be used with any HTTP source. | TypeScript | ✅ | ✅ | ✅ |
![]() |
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. | Go | ❌ | ✅ | ✅ |
![]() |
wiretap - Wiretap is a feature packed OpenAPI compliance testing tool. Validate that a client and server are compliant with an OpenAPI spec. Rewrite paths, inject headers, and even host a UI locally to test an OpenAPI implementation. | go | ✅ | ✅ | ✅ |
![]() |
Zuplo (OpenAPI-based gateway and documentation) - Zuplo is an API gateway designed for developers. Natively powered by OpenAPI (3.1 or 3.0), zuplo offers an OpenAPI design surface, API documentation and a serverless, programmable edge gateway that includes request validation, auth, rate-limiting and more. | Web / SaaS | ✅ | ✅ | ❌ |
Monitoring
Monitoring tools let you know what is going on in your API.
Name | Language | v3.1 | v3.0 | v2.0 | GitHub |
---|---|---|---|---|---|
API Insights - 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. | ❌ | ✅ | ❌ |
![]() |
|
Apitally - Simple REST API monitoring tool that helps engineering and product teams understand their APIs. Tracks usage, errors, response times and more using middleware for Python and Node.js frameworks. Also offers uptime monitoring and logging of individual requests. | SaaS | ✅ | ✅ | ✅ |
![]() |
Treblle - Treblle is a lightweight SDK that helps Engineering and Product teams build, ship, and maintain REST based APIs faster. | ✅ | ✅ | ❌ |