REST
Contents_Index
- DESIGN10
- GUIDELINES7
- STANDARDS9
- PHP CLIENTS3
- JAVASCRIPT CLIENTS4
- NODE.JS CLIENTS2
- RUBY CLIENTS6
- GO CLIENTS2
- .NET CLIENTS7
- GENERATORS1
- DIRECTLY ON TOP OF A RMDB3
- NODE.JS9
- PHP9
- SYMFONY29
- POWERSHELL1
- PYTHON13
- RUBY2
- GO8
- JAVA3
- SCALA1
- HASKELL1
- QUERYING14
- MOCKING10
- VALIDATING1
- PUBLIC REST APIS TO USE IN TESTS3
- DOCUMENTATION7
- API GATEWAY8
- SAAS TOOLS11
- MISCELLANEOUS5
Design
10_ENTRIES- Architectural Styles and the Design of Network-based Software Architectures
Roy Fielding's dissertation defining REST
- How to design a REST API?
Full guide tackling security, pagination, filtering, versioning, partial answers, CORS, etc.
- Richardson Maturity Model
Explained by Martin Fowler, originally presented by Leonard Richardson at the QCon 2008.
- Enterprise Integration Using REST
Discusses the constraints and flexibility that you have with nonpublic APIs, and lessons learned from doing large scale RESTful integration across multiple teams.
- HATEOAS
Clear explanation on what HATEOAS is, and why you should use it.
- REST API Tutorial
RestApiTutorial.com is dedicated to tracking REST API best practices and making resources available to enable quick reference and self education for the development crafts-person.
- API-Security-Checklist
Best practices about REST API security
Guidelines
7_ENTRIES- Adidas REST API Guidelines
Adidas REST API Guidelines define standards and guidelines for building REST APIs at adidas.
- Atlassian REST API design guidelines version 1
This document provides guidelines to Atlassian developers who are designing REST APIs for Atlassian applications.
- Cisco REST API Guide
Guidelines for designing REST APIs at Cisco.
- Google Cloud API design guide
Guidelines Google follows when designing Cloud APIs and other Google APIs (REST APIs and gRPC APIs).
- Haufe API Style Guide
Guidelines created by Haufe-Lexware CTO team.
- Microsoft REST API Guidelines
The Microsoft REST API Guidelines, as a design principle, encourages application developers to have resources accessible to them via a RESTful HTTP interface.
- Restful API Guidelines by Zalando
Developing Restful APIs: A Comprehensive Set of Guidelines.
Standards
9_ENTRIES- JSON API
Standard for building APIs in JSON.
- RAML
Simple and succinct way to describe RESTful API.
- JSend
Simple specification that lays down some rules for how JSON responses from web servers should be formatted.
- OData
Open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs. Quite complex.
- HAL
Simple format that gives a consistent and easy way to hyperlink between resources in your API.
- JSON-LD
Standard for describing Linked Data and hypermedia relations in JSON (W3C).
- Hydra
Vocabulary for Hypermedia-Driven Web APIs (W3C).
- Schema.org
Collection of schemas describing common data models.
- OpenAPI
Formerly known as the Swagger Specification, OpenAPI specifcation is the worldβs most popular description format for defining Restful APIs.
PHP Clients
3_ENTRIES- Guzzle
HTTP client and framework for consuming RESTful web services.
- Buzz
Another lightweight HTTP client.
- unirest for PHP
Simplified, lightweight HTTP client library.
JavaScript Clients
4_ENTRIES- restangular
AngularJS service to handle REST API properly and easily.
- restful.js
JS client for interacting with server-side RESTful resources.
- traverson
A Hypermedia API/HATEOAS Client for Node.js and the Browser
- raml-client-generator
Generates static client libs for js.
Node.js Clients
2_ENTRIES- restler
REST client library for node.js.
- unirest for Node.js
Simplified, lightweight HTTP client library.
Ruby Clients
6_ENTRIES- RESTClient
Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions.
- Spyke
Interact with REST services in an ActiveRecord-like manner.
- excon
Usable, fast, simple Ruby HTTP 1.1. It works great as a general HTTP(s) client and is particularly well suited to usage in API clients.
- httparty
Makes HTTP fun again!
- Net::HTTP
Net::HTTP provides a rich library which can be used to build HTTP user-agents.
- raml-ruby-client-generator
Auto generate API client from a RAML file.
Go Clients
2_ENTRIES.NET Clients
7_ENTRIES- RestSharp
Simple REST and HTTP API client for .NET
- Refit
The automatic type-safe REST library for Xamarin and .NET
- Flurl
Fluent, portable, testable REST/HTTP client library
- RestEase
Easy-to-use typesafe REST API client library, which is simple and customisable. Heavily inspired by Refit
- Tiny.RestClient
Simpliest Fluent REST client for .NET.
- RestLess
The automatic type-safe-reflectionless REST API client library for .Net Standard.
- Apizr
Refit-based web api client, but resilient (retry, connectivity, cache, auth, log, priority, etc...).
Generators
1_ENTRIES- openapi-generator
OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3).
Directly On Top Of A RMDB
3_ENTRIES- postgrest
Serve a fully RESTful API directly from an existing PostgreSQL database.
- MySQL HTTP plugin
Simple REST-like / CRUD server for any MySQL database.
- pREST
A fully RESTful API from any existing PostgreSQL database written in Go.
Node.js
9_ENTRIES- node-restify
Framework specifically meant for REST API.
- Sails.js
Node.js Web framework embedding a command to generate automatically a REST API.
- mers
Express service exposing Mongoose finders as RESTful API.
- flatiron/resourceful
Isomorphic Resource engine for JavaScript.
- loopback
Powerful Node.js framework for creating APIs and easily connecting to backend data sources.
- Feathers
is a real-time, micro-service web framework that gives you control over your data via RESTful resources, sockets and flexible plug-ins.
- Expressa
Express middleware for creating APIs from JSON schemas with a simple admin editor and permissions model.
- rest-hapi
Generate RESTful API based on mongoose models that supports relational data.
- Nestjsx/crud
Generate CRUD controllers and services for RESTful API with NestJS and TypeORM.
PHP
9_ENTRIES- Microrest
Micro-web application providing a REST API on top of any relational database.
- Negotiation
Content negotiation library.
- Drest
Library for exposing Doctrine entities as REST resource endpoints.
- Restler
Lightweight framework to expose PHP methods as RESTful web API.
- HAL
Hypertext Application Language (HAL) builder library.
- Apigility
API builder built with Zend Framework 2.
- phprest
Specialized REST microframework for PHP.
- Hateoas
PHP library to support implementing representations for HATEOAS REST web services.
- Fusio
Open source API management platform.
Symfony2
9_ENTRIES- REST APIs with Symfony2: the Right Way
Complete guide to build a state-of-the-art REST API with Symfony2 framework.
- FOSRestBundle
Bundle handling view, routing, error handling, etc. for your REST API.
- stanlemon/rest-bundle
Build a REST API based on Doctrine entities using conventions over configuration.
- BazingaHateoasBundle
Integrate the Hateoas library into a Symfony2 application.
- Symfony REST Edition
Start with a Symfony2 application with all REST-friendly bundles pre-configured.
- NgAdminGeneratorBundle
Boostrap ng-admin configuration based on
stanlemon/rest-bundle. - DunglasApiBundle
Build a REST API which follow Hydra/JSON-LD specification.
- API Platform
Specialize Symfony edition for the creation of hypermedia REST APIs.
- NelmioApiDocBundle
Generate documentation for your REST API from annotations.
PowerShell
1_ENTRIES- Pode
Pode is an cross-platform, open-source, community-supported web server and REST API framework for PowerShell developers
Python
13_ENTRIES- Django REST framework
Powerful and flexible toolkit that makes it easy to build Web APIs.
- django-tastypie
Creating delicious APIs for Django apps.
- flask-restful
Extension for Flask that adds support for quickly building REST APIs.
- flask-restless
Flask extension for generating ReSTful APIs for database models defined with SQLAlchemy (or Flask-SQLAlchemy).
- sandman
Automated REST APIs for existing database-driven systems.
- restless
Framework agnostic REST framework based on lessons learned from TastyPie.
- Python Eve
Eve is an open source Python REST API framework designed for human beings. It allows to effortlessly build and deploy highly customizable, fully featured RESTful Web Services.
- Ramses
Makes RAML files executable by generating production-ready APIs from them at runtime.
- Flask-Potion
Flask-Potion is a powerful Flask extension for building RESTful JSON APIs. It also provides several Clients for easier access to the API.
- apistar
A smart Web API framework, designed for Python 3.
- Falcon
Falcon is a bare-metal Python web API framework for building high-performance microservices, app backends, and higher-level frameworks.
- FastAPI
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. With automatic API documentation using Swagger UI and ReDoc, based on OpenAPI and JSON Schema.
- Zato
Platform for building server-side integrations, automations and API backends in Python.
Ruby
2_ENTRIESGo
8_ENTRIES- gocrud
Go library to simplify creating, updating and deleting arbitrary depth structured data β to make building REST services fast and easy.
- go-json-rest
Thin layer on top of
net/httpthat helps building RESTful APIs easily. - 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.
- Resoursea
REST framework for quickly writing resource based services.
Java
3_ENTRIES- RestExpress
Netty-based, highly performant, lightweight, container-less, plugin-extensible, framework that is ideal for microservice architectures.
- Vertx-Web
Vert.x-Web is a set of building blocks for building web applications with Vert.x, a toolkit for building reactive applications on the JVM.
- Dropwizard
A framework for developing ops-friendly, high-performance, RESTful web services.
Scala
1_ENTRIES- Chaos
A lightweight framework for writing REST services in Scala.
Haskell
1_ENTRIES- Rest for Haskell
This package allows you to create REST APIs in Haskell. These APIs can be run in different web frameworks. They can also be used to automatically generate documentation as well as client libraries.
Querying
14_ENTRIES- httpie
Command line HTTP client, far more dev-friendly than
curl. - resty
Little command line REST client that you can use in pipelines (bash or zsh).
- jq
Command line JSON processor, to use in combination with a command-line HTTP client like cURL.
- HttpMaster
GUI tool for testing REST APIs and services. Windows OS only.
- Http-console
Command line interface for HTTP that let you speak HTTP like a local
- HTTP Prompt
HTTP Prompt is an interactive command-line HTTP client featuring autocomplete and syntax highlighting, built on HTTPie and prompt_toolkit.
- rest-assured
Java DSL for easy testing of REST services.
- Insomnia
Cross-platform HTTP and GraphQL Client
- ExtendsClass
Make HTTP requests with a simple web-based HTTP client.
- TestMace
Cross-platform simple but powerful IDE for API automation testing.
- Milkman
Extensible cross-platform request/response workbench, not only for http calls.
- Schemathesis
Property-based testing tool for web applications built with Open API and GraphQL specifications.
- Step CI
Open-source framework for API Quality Assurance, which tests REST, GraphQL and gRPC automated and from Open API spec.
- RestQA
A REST API testing Framework based on BDD / Gherkin to manage microservice local testing.
Mocking
10_ENTRIES- FakeRest
Redirect fetch() calls to a client-side fake REST API.
- json-server
Serve a REST API from fixture files using quick prototyping.
- RequestBin
Inspect and debug webhook requests sent by your clients or third-party APIs.
- httpbin
HTTP request and response service - a/k/a Swiss Army Knife for HTTP.
- MockServer
Easy mocking of any system you integrate with via HTTP or HTTPS.
- Request Baskets
Service to collect HTTP requests and inspect them via RESTful API or web UI.
- DuckRails
Mock quickly & dynamically API endpoints.
- Mockoon
Easily create mock APIs locally. No remote deployment, no account required, open source.
- Mockintosh
A mock server generator that's capable to generate RESTful APIs and communicate with the message queues to mimick asynchronous tasks.
- Mockae
Fake REST API powered by Lua.
Validating
1_ENTRIES- JSON Schema
Declarative language that allows you to annotate and validate JSON documents
Public REST APIs To Use In Tests
3_ENTRIES- Public APIS
Explore The Largest API Directory In The Galaxy.
- APIs.guru
Wikipedia for Web APIs, each API has OpenAPI/Swagger description.
- JSON Placeholder
Fake REST API abput posts, users and comments
Documentation
7_ENTRIES- Swagger
Documentation/querying web interface for REST APIs.
- API doc
Inline Documentation for RESTful web APIs.
- raml2html
Generates HTML documentation from a RAML file.
- ReDoc
OpenAPI/Swagger-powered three-panel documentation.
- Slate
Beautiful and responsive three-panel API documentation using Middleman.
- Optic
Maintain an accurate API specification without writing OpenAPI/Swagger. Works with any Stack
- Zudoku
Create clean, consistent API docs with Zudoku β open source, extensible, and developer-first
API Gateway
8_ENTRIES- Kong
Scalable, distributed, and plugin oriented API gateway backed by Nginx.
- Tyk API Gateway
Lightweight API gateway with analytics logging, written in Go.
- API Umbrella
API management platform for exposing web services, with web interface and analytics, written in Lua.
- WSO2 API Management
API management tool with lightweight gateway and API lifecycle management, written in Java.
- Express Gateway
Microservices API Gateway built on top of ExpressJS (Node.js).
- KrakenD
Ultra performant API Gateway with middleware. Written in Go.
- AWS API Gateway
Fully managed service that helps developers to create, publish, maintain, monitor, and secure APIs at any scale.
- Zuplo
OpenAPI-Powered API & MCP Management platform for Security, Deployment, and Documentation. Add auth, rate-limiting, and monetization to your API or MCP Server in minutes, written in TypeScript & Go.
SaaS Tools
11_ENTRIES- Nango
Native integrations framework to consume REST APIs (open-source).
- Runscope
Automated API Monitoring & Testing.
- Ping-API
Automated API Monitoring & Testing.
- Apiary
Collaborative design, instant API mock, generated documentation, integrated code samples, debugging and automated testing.
- Amazon API Gateway
Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.
- Apigee
Apigee is the leading provider of API technology and services for enterprises and developers.
- 3scale
Nginx based API gateway to integrate internal and external API services with 3scale's API Management Platform.
- Assertible
Continuously test and monitor your APIs after deployments and across environments.
- Moesif
API Analytics for Debugging, Monitoring, and Usage Tracking for RESTful and GraphQL.
- Beeceptor
An HTTP inspecting, mocking and proxing service. Gives named endpoints for creating mock API endpoints and simulate responses.
- Apitally
Analytics, request logging and monitoring for REST APIs with a focus on simplicity and data privacy.
Miscellaneous
5_ENTRIES- shadcn-admin-kit
Build internal tools, admin panels, B2B apps, and dashboards on top of any REST API
- react-admin
Add a ReactJS admin GUI to any RESTful API.
- ng-admin
Add an AngularJS admin GUI to any RESTful API.
- swagger-codegen
Auto generation of client libraries or server stubs given an OpenAPI specification (formerly known as the Swagger Specification).
- Linx
Low-code API platform. Build, debug and host REST APIs