awesome-rest

API guide

A curated list of resources and guidelines for designing, developing, testing, and optimizing RESTful APIs.

A collaborative list of great resources about RESTful API architecture, development, test, and performance

GitHub

4k stars
148 watching
403 forks
last commit: 3 months ago
Linked from 8 awesome lists

awesomerest

Awesome REST / Design

Architectural Styles and the Design of Network-based Software Architectures Roy Fielding's dissertation defining REST
HTTP API design guide extracted from work on the Heroku Platform API 13,686 10 months ago
Best Practices for Designing a Pragmatic RESTful API
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
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
How to GET a cup of coffee
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 22,480 6 days ago Best practices about REST API security

Awesome REST / Design / Guidelines

Adidas REST API Guidelines 381 about 1 month ago 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 110 10 months ago 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 232 over 1 year ago Guidelines created by Haufe-Lexware CTO team
Microsoft REST API Guidelines 22,780 6 days ago 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 2,655 23 days ago Developing Restful APIs: A Comprehensive Set of Guidelines

Awesome REST / Standards

JSON API Standard for building APIs in JSON
RAML Simple and succinct way to describe RESTful API
JSend 1,522 almost 3 years ago 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

Awesome REST / Clients / PHP Clients

Guzzle HTTP client and framework for consuming RESTful web services
Buzz 1,918 about 2 months ago Another lightweight HTTP client
unirest for PHP 1,281 over 2 years ago Simplified, lightweight HTTP client library

Awesome REST / Clients / JavaScript Clients

restangular 7,868 about 4 years ago AngularJS service to handle REST API properly and easily
restful.js 967 over 5 years ago JS client for interacting with server-side RESTful resources
traverson 454 22 days ago A Hypermedia API/HATEOAS Client for Node.js and the Browser
raml-client-generator 121 12 months ago Generates static client libs for js

Awesome REST / Clients / Node.js Clients

restler 1,986 over 5 years ago REST client library for node.js
unirest for Node.js 953 over 1 year ago Simplified, lightweight HTTP client library

Awesome REST / Clients / Ruby Clients

RESTClient 5,235 6 months ago Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions
Spyke 901 7 months ago Interact with REST services in an ActiveRecord-like manner
excon 1,158 7 days ago 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 5,810 3 months ago 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 1 over 8 years ago Auto generate API client from a RAML file

Awesome REST / Clients / Go Clients

gopencils 451 almost 6 years ago Small and simple package to easily consume REST APIs
resty 10,161 6 days ago Simple HTTP and REST client for Go inspired by Ruby rest-client

Awesome REST / Clients / .NET Clients

RestSharp 9,618 about 2 months ago Simple REST and HTTP API client for .NET
Refit 8,634 7 days ago The automatic type-safe REST library for Xamarin and .NET
Flurl Fluent, portable, testable REST/HTTP client library
RestEase 1,084 12 months ago Easy-to-use typesafe REST API client library, which is simple and customisable. Heavily inspired by Refit
Tiny.RestClient 210 about 1 month ago Simpliest Fluent REST client for .NET
RestLess 111 almost 2 years ago The automatic type-safe-reflectionless REST API client library for .Net Standard
Apizr 142 7 days ago Refit-based web api client, but resilient (retry, connectivity, cache, auth, log, priority, etc...)

Awesome REST / Clients / Generators

openapi-generator 21,872 4 days ago OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)

Awesome REST / Servers / Directly On Top Of A RMDB

postgrest 23,440 6 days ago Serve a fully RESTful API directly from an existing PostgreSQL database
MySQL HTTP plugin Simple REST-like / CRUD server for any MySQL database
pREST 4,236 16 days ago A fully RESTful API from any existing PostgreSQL database written in Go

Awesome REST / Servers / Node.js

node-restify 10,715 2 months ago Framework specifically meant for REST API
Sails.js Node.js Web framework embedding a command to generate automatically a REST API
mers 342 over 9 years ago Express service exposing Mongoose finders as RESTful API
Baucis Build scalable REST API based on your Mongoose entities
flatiron/resourceful 354 almost 10 years ago 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 439 about 2 months ago Express middleware for creating APIs from JSON schemas with a simple admin editor and permissions model
rest-hapi 1,188 over 1 year ago Generate RESTful API based on mongoose models that supports relational data
Nestjsx/crud 4,095 4 months ago Generate CRUD controllers and services for RESTful API with NestJS and TypeORM

Awesome REST / Servers / PHP

Microrest 185 over 5 years ago Micro-web application providing a REST API on top of any relational database
Negotiation 1,414 over 1 year ago Content negotiation library
Drest 87 over 7 years ago Library for exposing Doctrine entities as REST resource endpoints
Restler 1,361 about 2 months ago Lightweight framework to expose PHP methods as RESTful web API
HAL 203 about 3 years ago Hypertext Application Language (HAL) builder library
Apigility 444 almost 5 years ago API builder built with Zend Framework 2
phprest 309 over 4 years ago Specialized REST microframework for PHP
Hateoas 1,038 12 days ago PHP library to support implementing representations for HATEOAS REST web services
Fusio 1,870 12 days ago Open source API management platform
REST APIs with Symfony2: the Right Way Complete guide to build a state-of-the-art REST API with Symfony2 framework
FOSRestBundle 2,794 17 days ago Bundle handling view, routing, error handling, etc. for your REST API
stanlemon/rest-bundle 123 over 2 years ago Build a REST API based on Doctrine entities using conventions over configuration
lakion/Lionframe Glu between several community libraries to ease API development
BazingaHateoasBundle 295 14 days ago Integrate the library into a Symfony2 application
Symfony REST Edition 634 almost 8 years ago Start with a Symfony2 application with all REST-friendly bundles pre-configured
NgAdminGeneratorBundle 75 over 5 years ago Boostrap ng-admin configuration based on
DunglasApiBundle 2,447 6 days ago Build a REST API which follow Hydra/JSON-LD specification
API Platform 8,695 6 days ago Specialize Symfony edition for the creation of hypermedia REST APIs
NelmioApiDocBundle 2,229 3 days ago Generate documentation for your REST API from annotations

Awesome REST / Servers / PowerShell

Pode 862 15 days ago Pode is an cross-platform, open-source, community-supported web server and REST API framework for PowerShell developers

Awesome REST / Servers / Python

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 2,309 almost 3 years ago 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 488 over 5 years ago Flask-Potion is a powerful Flask extension for building RESTful JSON APIs. It also provides several Clients for easier access to the API
apistar 5,572 over 2 years ago A smart Web API framework, designed for Python 3
Falcon 9,526 4 days ago Falcon is a bare-metal Python web API framework for building high-performance microservices, app backends, and higher-level frameworks
FastAPI 77,670 3 days ago 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

Awesome REST / Servers / Ruby

Grape Opinionated micro-framework for creating REST-like APIs in Ruby
Rails RailsGuides: Using Rails for API-only applications

Awesome REST / Servers / Go

gocrud 305 over 5 years ago : Go library to simplify creating, updating and deleting arbitrary depth structured data — to make building REST services fast and easy
go-json-rest 3,514 almost 4 years ago Thin layer on top of that helps building RESTful APIs easily
sleepy 675 almost 7 years ago RESTful micro-framework written in Go
restit 55 6 months ago Go micro framework to help writing RESTful API integration test
go-relax 152 over 1 year ago Framework of pluggable components to build RESTful API's
go-rest 128 almost 8 years ago Small and evil REST framework for Go
go-restful 5,041 23 days ago A declarative highly readable framework for building restful API's
Goat 155 almost 7 years ago Minimalistic REST API server in Go
Resoursea 35 almost 10 years ago REST framework for quickly writing resource based services

Awesome REST / Servers / Java

RestExpress 939 4 months ago Netty-based, highly performant, lightweight, container-less, plugin-extensible, framework that is ideal for microservice architectures
Vertx-Web 1,113 6 days ago 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 8,511 10 days ago A framework for developing ops-friendly, high-performance, RESTful web services

Awesome REST / Servers / Scala

Chaos 250 over 5 years ago A lightweight framework for writing REST services in Scala

Awesome REST / Servers / Haskell

Rest for Haskell 390 about 6 years ago 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

Awesome REST / Testing / Querying

httpie 33,939 20 days ago Command line HTTP client, far more dev-friendly than
resty 2,651 almost 2 years ago Little command line REST client that you can use in pipelines (bash or zsh)
jq 30,562 8 days ago 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 1,352 over 3 years ago Command line interface for HTTP that let you
HTTP Prompt 8,962 6 months ago HTTP Prompt is an interactive command-line HTTP client featuring autocomplete and syntax highlighting, built on HTTPie and prompt_toolkit
rest-assured 6,857 3 months ago Java DSL for easy testing of REST services
Insomnia 34,903 6 days ago 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 1,146 about 2 months ago Extensible cross-platform request/response workbench, not only for http calls
Schemathesis 2,296 3 days ago Property-based testing tool for web applications built with Open API and GraphQL specifications
Step CI 1,671 4 months ago Open-source framework for API Quality Assurance, which tests REST, GraphQL and gRPC automated and from Open API spec
RestQA 88 2 months ago A REST API testing Framework based on BDD / Gherkin to manage microservice local testing

Awesome REST / Testing / Mocking

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
FakeRest 439 14 days ago Patch XMLHttpRequest to fake a REST API client-side
json-server 73,016 about 2 months ago Serve a REST API from fixture files using quick prototyping
Mocky.io Free online service to create fake HTTP responses
MockServer Easy mocking of any system you integrate with via HTTP or HTTPS
Request Baskets 352 5 months ago Service to collect HTTP requests and inspect them via RESTful API or web UI
DuckRails 1,721 over 1 year ago 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

Awesome REST / Testing / Validating

JSON Schema Declarative language that allows you to annotate and validate JSON documents

Awesome REST / Testing / Public REST APIs To Use In Tests

Deck of Cards API Open API for simulating a deck of cards
Public APIS 317,596 21 days ago Explore The Largest API Directory In The Galaxy
Marvel Comics API Query characters, stories, events about Marvel superheroes
JSON Placeholder Free online REST service that you can use whenever you need some fake data
APIs.guru Wikipedia for Web APIs, each API has OpenAPI/Swagger description
The Cat API Public API for Cats Images, Facts and Jokes
Mockae Fake REST API powered by Lua

Awesome REST / Documentation

Swagger Documentation/querying web interface for REST APIs
API doc Inline Documentation for RESTful web APIs
raml2html 1,134 about 2 years ago Generates HTML documentation from a RAML file
ReDoc 23,617 24 days ago OpenAPI/Swagger-powered three-panel documentation
Slate 36,061 5 months ago Beautiful and responsive three-panel API documentation using Middleman
Optic 1,365 4 days ago Maintain an accurate API specification without writing OpenAPI/Swagger. Works with any Stack

Awesome REST / API Gateway

Kong 39,308 3 days ago Scalable, distributed, and plugin oriented API gateway backed by Nginx
Tyk API Gateway 9,732 3 days ago Lightweight API gateway with analytics logging, written in Go
API Umbrella 2,027 15 days ago API management platform for exposing web services, with web interface and analytics, written in Lua
WSO2 API Management 852 8 days ago API management tool with lightweight gateway and API lifecycle management, written in Java
Express Gateway 2,975 6 months ago Microservices API Gateway built on top of ExpressJS (Node.js)
KrakenD 6,364 16 days ago 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

Awesome REST / SaaS Tools

Nango 4,811 3 days ago 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

Awesome REST / Miscellaneous

react-admin 25,000 6 days ago Add a ReactJS admin GUI to any RESTful API
ng-admin 3,946 over 4 years ago Add an AngularJS admin GUI to any RESTful API
swagger-codegen 17,047 13 days ago Auto generation of client libraries or server stubs given an OpenAPI specification (formerly known as the Swagger Specification)
Lumber 2,072 almost 2 years ago Generate the admin interface of your application
Linx Low-code API platform. Build, debug and host REST APIs

Backlinks from these awesome lists:

More related projects: