awesome-rest

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

GitHub

4k stars
148 watching
403 forks
last commit: about 2 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,684 9 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,386 6 months ago Best practices about REST API security

Awesome REST / Design / Guidelines

Adidas REST API Guidelines 368 23 days 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 109 9 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 231 about 1 year ago Guidelines created by Haufe-Lexware CTO team
Microsoft REST API Guidelines 22,706 18 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,632 24 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,507 over 2 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,919 19 days ago Another lightweight HTTP client
unirest for PHP 1,283 over 2 years ago Simplified, lightweight HTTP client library

Awesome REST / Clients / JavaScript Clients

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

Awesome REST / Clients / Node.js Clients

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

Awesome REST / Clients / Ruby Clients

RESTClient 5,240 5 months ago Simple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions
Spyke 902 5 months ago Interact with REST services in an ActiveRecord-like manner
excon 1,155 11 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,796 about 2 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 452 over 5 years ago Small and simple package to easily consume REST APIs
resty 9,977 9 days ago Simple HTTP and REST client for Go inspired by Ruby rest-client

Awesome REST / Clients / .NET Clients

RestSharp 9,581 about 1 month ago Simple REST and HTTP API client for .NET
Refit 8,503 11 days ago The automatic type-safe REST library for Xamarin and .NET
Flurl Fluent, portable, testable REST/HTTP client library
RestEase 1,079 10 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 136 11 days ago Refit-based web api client, but resilient (retry, connectivity, cache, auth, log, priority, etc...)

Awesome REST / Clients / Generators

openapi-generator 21,524 3 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,287 9 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,204 about 1 month ago A fully RESTful API from any existing PostgreSQL database written in Go

Awesome REST / Servers / Node.js

node-restify 10,706 23 days 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 over 9 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 438 9 days 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,060 3 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,412 about 1 year ago Content negotiation library
Drest 87 over 7 years ago Library for exposing Doctrine entities as REST resource endpoints
Restler 1,359 19 days 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 over 4 years ago API builder built with Zend Framework 2
phprest 309 about 4 years ago Specialized REST microframework for PHP
Hateoas 1,037 9 months ago PHP library to support implementing representations for HATEOAS REST web services
Fusio 1,853 18 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 2 months 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 9 months ago Integrate the library into a Symfony2 application
Symfony REST Edition 634 over 7 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,429 4 days ago Build a REST API which follow Hydra/JSON-LD specification
API Platform 8,555 about 1 month ago Specialize Symfony edition for the creation of hypermedia REST APIs
NelmioApiDocBundle 2,228 4 days ago Generate documentation for your REST API from annotations

Awesome REST / Servers / PowerShell

Pode 842 13 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,574 over 2 years ago A smart Web API framework, designed for Python 3
Falcon 9,506 2 days ago Falcon is a bare-metal Python web API framework for building high-performance microservices, app backends, and higher-level frameworks
FastAPI 76,185 11 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 over 3 years ago Thin layer on top of that helps building RESTful APIs easily
sleepy 673 almost 7 years ago RESTful micro-framework written in Go
restit 55 4 months ago Go micro framework to help writing RESTful API integration test
go-relax 152 about 1 year ago Framework of pluggable components to build RESTful API's
go-rest 128 over 7 years ago Small and evil REST framework for Go
go-restful 5,033 5 days ago A declarative highly readable framework for building restful API's
Goat 155 over 6 years ago Minimalistic REST API server in Go
Resoursea 35 over 9 years ago REST framework for quickly writing resource based services

Awesome REST / Servers / Java

RestExpress 938 2 months ago Netty-based, highly performant, lightweight, container-less, plugin-extensible, framework that is ideal for microservice architectures
Vertx-Web 1,109 1 day 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,507 11 days ago A framework for developing ops-friendly, high-performance, RESTful web services

Awesome REST / Servers / Scala

Chaos 249 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,577 about 2 months ago Command line HTTP client, far more dev-friendly than
resty 2,648 over 1 year ago Little command line REST client that you can use in pipelines (bash or zsh)
jq 30,210 25 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,355 over 3 years ago Command line interface for HTTP that let you
HTTP Prompt 8,938 5 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,833 about 2 months ago Java DSL for easy testing of REST services
Insomnia 34,476 11 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,132 15 days ago Extensible cross-platform request/response workbench, not only for http calls
Schemathesis 2,250 12 days ago Property-based testing tool for web applications built with Open API and GraphQL specifications
Step CI 1,641 2 months ago Open-source framework for API Quality Assurance, which tests REST, GraphQL and gRPC automated and from Open API spec
RestQA 85 29 days 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 12 days ago Patch XMLHttpRequest to fake a REST API client-side
json-server 72,699 18 days 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 342 4 months ago Service to collect HTTP requests and inspect them via RESTful API or web UI
DuckRails 1,721 about 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 313,353 17 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,135 about 2 years ago Generates HTML documentation from a RAML file
ReDoc 23,407 23 days ago OpenAPI/Swagger-powered three-panel documentation
Slate 36,039 4 months ago Beautiful and responsive three-panel API documentation using Middleman
Optic 1,351 10 days ago Maintain an accurate API specification without writing OpenAPI/Swagger. Works with any Stack

Awesome REST / API Gateway

Kong 38,976 10 days ago Scalable, distributed, and plugin oriented API gateway backed by Nginx
Tyk API Gateway 9,619 10 days ago Lightweight API gateway with analytics logging, written in Go
API Umbrella 2,015 about 1 month ago API management platform for exposing web services, with web interface and analytics, written in Lua
WSO2 API Management 838 10 days ago API management tool with lightweight gateway and API lifecycle management, written in Java
Express Gateway 2,970 5 months ago Microservices API Gateway built on top of ExpressJS (Node.js)
KrakenD 6,323 5 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,637 2 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 24,859 4 days ago Add a ReactJS admin GUI to any RESTful API
ng-admin 3,951 over 4 years ago Add an AngularJS admin GUI to any RESTful API
swagger-codegen 16,956 about 2 months ago Auto generation of client libraries or server stubs given an OpenAPI specification (formerly known as the Swagger Specification)
Lumber 2,075 over 1 year ago Generate the admin interface of your application
Linx Low-code API platform. Build, debug and host REST APIs

Backlinks from these awesome lists: