This is a collection of useful resources for building RESTful HTTP+JSON APIs. There are a lot of good tools and entire ecosystems out there! It can be overwhelming not knowing what options are available, so you can use this as a reference starting point.
Contributions are most welcome. Categories are also open to suggestions!
- API Specification Languages
- API Specification Tools
- API Specifications
- API Frameworks
- API Client Development Tools
- API Documentation
- API Clients
- API Debugging and Mocking
- API Design Guides
- API Publishing
- API Gateways
- API Security
- API Monitoring
- API Testing
- JSON Format Standards
- Learning Resources
- Blogs
- References
- Swagger Editor: An editor for designing Swagger specifications.
- Swagger Tools and Integrations: A list of libraries and frameworks serving the Swagger ecosystem.
- OpenAPI Spec Tooling: A list of libraries and frameworks serving the OpenAPI ecosystem.
- API Studio. Write, mock, and share your Swagger specifications online.
- Dredd: Validate API documentation written in API Blueprint against its backend implementation.
- APITransformer: Transform API Descriptions from/to various formats e.g., Swagger, API Blueprint, RAML, WADL, Google Discovery, I/O Docs.
- Restlet Studio: Web IDE for API Design.
- API Spec Converter: Convert between different API spec formats.
- Prism: Supercharge any OAS file with mocking, transformations, validations, and more.
- Apimatic: Supports API description formats including Swagger, OAI format, RAML, API Blueprint, IO Docs, WADL, Postman Collections and HAR 1.4 and more
- Mulesoft Anypoint: Design and publish enterprise-grade APIs using RAML
- Sandbox: Quick and easy mock RESTful API from API definitions
- Restunited: Generate SDK, Documentation with Testing and Debugging
- APIS.guru: Directory of API specs in OpenAPI(aka Swagger) 2.0 format.
- AnyAPI: Documentation and Test Consoles for Public APIs.
- rails-api: Rails for API only applications.
- pliny: Opinionated template Sinatra app for writing APIs in Ruby.
- grape: An opinionated micro-framework for creating REST-like APIs in Ruby.
- ActiveModel::Serializer: Brings convention over configuration to your JSON generation.
- rabl: Generate JSON and XML from any ruby object.
- jbuilder: Create JSON structures via a Builder-style DSL.
- roar: Parse and render REST API documents using representers.
- Django REST framework: Toolkit that makes it easy to build Web APIs.
- Tastypie: Webservice API framework for Django.
- restless: A lightweight REST miniframework for Python.
- flask-restful: Simple framework for creating REST APIs.
- Falcon: Falcon is a low-level, high-performance Python framework for building HTTP APIs, app backends, and higher-level frameworks.
- Connexion: Swagger/OpenAPI First framework for Python on top of Flask with automatic endpoint validation and OAuth2 support
- hapi.js: Web and services application framework for Node.js.
- Restify: Node.js REST framework specifically meant for web service APIs.
- Express: Fast, unopinionated, minimalist web framework for Node.js.
- sailsjs: Realtime MVC Framework for Node.js.
- Actionhero: Multi-transport Node.js API server with integrated cluster capabilities and delayed tasks.
- Baucis: To build
- Koa: Next generation web framework for Node.js
- Loopback: Node.js framework for creating APIs and easily connecting to backend data sources.
- Seneca: A microservices toolkit for Node.js.
- Feathers: Build RESTful and real-time APIs through Socket.io or Primus.
- Deployd: Deployd is the simplest way to build realtime APIs for web and mobile apps
- Nest: A modern node.js framework for efficient and scalable web applications built on top of TypeScript
- Go-Json-Rest: Thin layer on top of
net/http
that helps building RESTful APIs easily - gocrud: Go library to simplify creating, updating and deleting arbitrary depth structured data — to make building REST services fast and easy.
- sleepy: RESTful micro-framework written in Go.
- restit: Go micro framework to help writing RESTful API integration test.
- go-relax: Framework of pluggable components to build RESTful API's.
- go-rest: Small and evil REST framework for Go.
- go-restful: A declarative highly readable framework for building restful API's.
- Goat: Minimalistic REST API server in Go.
- Resoursea: REST framework for quickly writing resource based services.
- Zerver: Zerver is a expressive, modular, feature completed RESTful framework.
- Colossus: I/O and microservice library for Scala.
- Finatra: Fast, testable, Scala HTTP services built on Twitter-Server and Finagle.
- Play: The high velocity web framework for Java and Scala.
- Scalatra: Simple, accessible and free web micro-framework.
- Skinny Micro: Micro-web framework to build servlet applications in Scala.
- Spray: Open-source toolkit for building REST/HTTP-based integration layers on top of Scala and Akka.
- Akka HTTP: The Akka HTTP modules implement a full server- and client-side HTTP stack on top of akka-actor and akka-stream.
- Swagger Akka HTTP: Swagger-Akka-Http brings Swagger support for Akka-Http Apis.
- Rest.li: REST framework using type-safe bindings and asynchronous, non-blocking IO.
- Dropwizard: Framework for developing ops-friendly, high-performance, RESTful web services.
- Jersey: RESTful web services in Java.
- Spring Boot: RESTful Web Service using Spring, high-performance and little configuration needed.
- Scotty: Micro web framework inspired by Ruby's Sinatra, using WAI and Warp.
- Yesod: The Haskell RESTful web framework.
- Phoenix: Framework for building HTML5 apps, API backends and distributed systems.
- Plug: A specification and conveniences for composable modules between web applications.
- Cowboy: Small, fast, modular HTTP server written in Erlang.
- Gen Microservice: This library solves the problem of implementing microservices with Erlang.
- Mochiweb: Erlang library for building lightweight HTTP servers.
- PostgREST: Serve a RESTful API from any existing PostgreSQL database.
- API Platform: API framework on top of Symfony with JSON-LD, Schema.org and Hydra support
- Dingo API: A RESTful API package for the Laravel and Lumen frameworks
- Fractal: Fractal provides a presentation and transformation layer for complex data output, the like found in RESTful APIs, and works really well with JSON
- Yii2 Framework: Provides a whole set of tools to simplify the task of implementing RESTful Web Service APIs
- Dream Factory: Turn any database into an API platform.
- Swagger CodeGen: Generate client libraries automatically from a Swagger-compliant server.
- sdks.io: Explore Automatically Generated SDKs.
- AutoRest: Generate client libraries for RESTful web services
- Unirest: Lightweight HTTP-Request client libraries for several languages
- heroics: Ruby HTTP client for APIs represented with JSON schema.
- blanket: A Ruby API wrapper.
- nestful: Ruby HTTP/REST client.
- Retrofit: A type-safe HTTP client for Android and Java.
- Restangular: Restangular is an AngularJS service that simplifies common GET, POST, DELETE, and UPDATE requests with a minimum of client code
- Refit: The automatic type-safe REST library for .NET Core, Xamarin and .NET
- ReDoc: OpenAPI/Swagger-generated API Reference Documentation.
- Swagger UI: Dynamically generate documentation from a Swagger-compliant API.
- Slate: Static site generated documentation for your API.
- prmd: JSON Schema tooling: scaffold, verify, and generate documentation from JSON Schema documents.
- Aglio: An API Blueprint renderer with theme support that outputs static HTML.
- Apiary: Collaborative design, instant API mock, generated documentation, integrated code samples, debugging and automated testing.
- Readme: API Documentation Hosting.
- Embed curl: Embeddable curl commands on the web.
- Gelato: Create developer portals for your API.
- API Docs: Hosted public API documentation for OAS (Swagger) and RAML specs.
- Docula: Documentation using Github and OpenAPI standards.
- Docbox: REST API documentation generator, using Markdown.
- Hurl.it: Web-based HTTP client.
- JSON Generator: Generate and host mock JSON data.
- HTTPie: Command line HTTP client.
- HttpMaster: Desktop tool for REST API testing.
- Paw: REST client for Mac.
- Postman: Desktop API testing tool.
- Insomnia: REST API client for Mac, Windows, and Linux.
- Jsonium: Free REST client for JSON over HTTP protocols
- I'm only Resting: Windows GUI tool for REST API testing
- Beeceptor: An HTTP-proxy for rest APIs - inspect and build mock APIs.
- MockBin: Generate mock HTTP endpoints.
- RequestBin: Inspect and debug webhook POST requests.
- httpbin: Templated responses for testing various scenarios for HTTP requests.
- Json-Server Full fake REST API with zero coding.
- Mockoon: Desktop API mocking tool.
- Postman: Desktop API client and mocking tool.
- Google API Design Guide
- PayPal API Style Guide
- Heroku Platform HTTP API Design Guide
- Haufe API Style Guide
- Microsoft REST API Guidelines
- 18F API Standards
- The RESTed NARWHL
- White House Web API Standards
- Zalando REST API Guidelines
- API Stylebook Design Guidelines
- API Stylebook Design Topics
- Mashape: API Marketplace.
- AWS API Gateway: Traffic management, authorization and access control, monitoring, and API version management.
- API Umbrella: Proxy that sits in front of your APIs.
- APIAxle: Proxy that sits in front of your APIs.
- APIGrove: API manager built in Java on top of Fuse ESB.
- Apigee127: nodejs based API Gateway
- Pushpin: Proxy for both request/response or streaming (long poll) of responses
- Strongloop: nodejs based API Gateway
- Fusio: PHP based open source API management platform
- Camel: Empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based fluent API, Spring or Blueprint XML configuration files, and a Scala DSL.
- HAProxy: Reliable, high Performance TCP/HTTP load balancer.
- OpenResty: Fast web application server built on top of Nginx.
- Tengine: A distribution of Nginx with some advanced features.
- Tyk: Open-source, fast and scalable API gateway, portal and API management platform.
- Vulcand: Programmatic load balancer backed by Etcd.
- Zuul: An edge service that provides dynamic routing, monitoring, resiliency, security, and more.
- Kong: An open-source management layer for APIs, delivering high performance and reliability.
- Janus: A lightweight API Gateway written in Go by Hello Fresh.
- fabio: A fast, modern, zero-conf load balancing HTTP(S) router for deploying microservices managed by consul by eBay.
- API Security checklist: Checklist of the most important security countermeasures when designing, testing, and releasing your API.
- Runscope: API Performance Monitoring.
- Galileo: API Monitoring Platform.
- Ping-API: Automated API Testing.
- Assertible: Continuously test and monitor your APIs after deployments and across environments.
- Pyresttest: YAML based REST testing and API microbenchmarking tool
- Choosing an HTTP Status Code
- REST in Practice
- Roy Fielding's dissertation on REST
- Best Practices for Designing a Pragmatic RESTful API
- How to Design a REST API
- Automated API Development
- Nordic APIs
- Undisturbed REST
- Build APIs You Won't Hate
- Irresistible APIs
- How to build an API
- API University
- RESTful Web Services
- RESTful Web APIs
- The Ten Essentials for Good API Documentation
Pull Requests are most welcome!
Please write a brief one-sentence summary when adding a new resource.
api-development-tools © 2016+, Yos Riady. Released under the MIT License.
Authored and maintained by Yos Riady with help from contributors (list).