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: about 2 years ago
Linked from 8 awesome lists

awesomerest

Awesome REST / Design

Architectural Styles and the Design of Network-based Software ArchitecturesRoy Fielding's dissertation defining REST
HTTP API design guide extracted from work on the Heroku Platform API13,688over 2 years 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 ModelExplained by Martin Fowler, originally presented by Leonard Richardson at the
Enterprise Integration Using RESTDiscusses the constraints and flexibility that you have with nonpublic APIs, and lessons learned from doing large scale RESTful integration across multiple teams
HATEOASClear explanation on what HATEOAS is, and why you should use it
How to GET a cup of coffee
REST API TutorialRestApiTutorial.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-Checklist22,533almost 2 years agoBest practices about REST API security

Awesome REST / Design / Guidelines

Adidas REST API Guidelines383almost 2 years agoAdidas REST API Guidelines define standards and guidelines for building REST APIs at adidas
Atlassian REST API design guidelines version 1This document provides guidelines to Atlassian developers who are designing REST APIs for Atlassian applications
Cisco REST API Guide111over 2 years agoGuidelines for designing REST APIs at Cisco
Google Cloud API design guideGuidelines Google follows when designing Cloud APIs and other Google APIs (REST APIs and gRPC APIs)
Haufe API Style Guide234about 3 years agoGuidelines created by Haufe-Lexware CTO team
Microsoft REST API Guidelines22,848almost 2 years agoThe 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 Zalando2,719almost 2 years agoDeveloping Restful APIs: A Comprehensive Set of Guidelines

Awesome REST / Standards

JSON APIStandard for building APIs in JSON
RAMLSimple and succinct way to describe RESTful API
JSend1,545over 4 years agoSimple specification that lays down some rules for how JSON responses from web servers should be formatted
ODataOpen protocol to allow the creation and consumption of queryable and interoperable RESTful APIs. Quite complex
HALSimple format that gives a consistent and easy way to hyperlink between resources in your API
JSON-LDStandard for describing Linked Data and hypermedia relations in JSON (W3C)
HydraVocabulary for Hypermedia-Driven Web APIs (W3C)
Schema.orgCollection of schemas describing common data models
OpenAPIFormerly known as the Swagger Specification, OpenAPI specifcation is the world’s most popular description format for defining Restful APIs

Awesome REST / Clients / PHP Clients

GuzzleHTTP client and framework for consuming RESTful web services
Buzz1,917about 2 years agoAnother lightweight HTTP client
unirest for PHP1,281over 4 years agoSimplified, lightweight HTTP client library

Awesome REST / Clients / JavaScript Clients

restangular7,864almost 6 years agoAngularJS service to handle REST API properly and easily
restful.js966over 7 years agoJS client for interacting with server-side RESTful resources
traverson454almost 2 years agoA Hypermedia API/HATEOAS Client for Node.js and the Browser
raml-client-generator121almost 3 years agoGenerates static client libs for js

Awesome REST / Clients / Node.js Clients

restler1,986about 7 years agoREST client library for node.js
unirest for Node.js952over 3 years agoSimplified, lightweight HTTP client library

Awesome REST / Clients / Ruby Clients

RESTClient5,235over 2 years agoSimple HTTP and REST client for Ruby, inspired by microframework syntax for specifying actions
Spyke902over 2 years agoInteract with REST services in an ActiveRecord-like manner
excon1,162almost 2 years agoUsable, 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
httparty5,820about 2 years agoMakes HTTP fun again!
Net::HTTPNet::HTTP provides a rich library which can be used to build HTTP user-agents
raml-ruby-client-generator1over 10 years agoAuto generate API client from a RAML file

Awesome REST / Clients / Go Clients

gopencils451over 7 years agoSmall and simple package to easily consume REST APIs
resty10,268almost 2 years agoSimple HTTP and REST client for Go inspired by Ruby rest-client

Awesome REST / Clients / .NET Clients

RestSharp9,639almost 2 years agoSimple REST and HTTP API client for .NET
Refit8,690almost 2 years agoThe automatic type-safe REST library for Xamarin and .NET
FlurlFluent, portable, testable REST/HTTP client library
RestEase1,089almost 3 years agoEasy-to-use typesafe REST API client library, which is simple and customisable. Heavily inspired by Refit
Tiny.RestClient210almost 2 years agoSimpliest Fluent REST client for .NET
RestLess111almost 4 years agoThe automatic type-safe-reflectionless REST API client library for .Net Standard
Apizr142almost 2 years agoRefit-based web api client, but resilient (retry, connectivity, cache, auth, log, priority, etc...)

Awesome REST / Clients / Generators

openapi-generator22,205almost 2 years agoOpenAPI 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

postgrest24,080almost 2 years agoServe a fully RESTful API directly from an existing PostgreSQL database
MySQL HTTP pluginSimple REST-like / CRUD server for any MySQL database
pREST4,247almost 2 years agoA fully RESTful API from any existing PostgreSQL database written in Go

Awesome REST / Servers / Node.js

node-restify10,719about 2 years agoFramework specifically meant for REST API
Sails.jsNode.js Web framework embedding a command to generate automatically a REST API
mers342over 11 years agoExpress service exposing Mongoose finders as RESTful API
BaucisBuild scalable REST API based on your Mongoose entities
flatiron/resourceful355over 11 years agoIsomorphic Resource engine for JavaScript
loopbackPowerful Node.js framework for creating APIs and easily connecting to backend data sources
Feathersis a real-time, micro-service web framework that gives you control over your data via RESTful resources, sockets and flexible plug-ins
Expressa439almost 2 years agoExpress middleware for creating APIs from JSON schemas with a simple admin editor and permissions model
rest-hapi1,189over 3 years agoGenerate RESTful API based on mongoose models that supports relational data
Nestjsx/crud4,108about 2 years agoGenerate CRUD controllers and services for RESTful API with NestJS and TypeORM

Awesome REST / Servers / PHP

Microrest185over 7 years agoMicro-web application providing a REST API on top of any relational database
Negotiation1,415about 3 years agoContent negotiation library
Drest87over 9 years agoLibrary for exposing Doctrine entities as REST resource endpoints
Restler1,361about 2 years agoLightweight framework to expose PHP methods as RESTful web API
HAL203about 5 years agoHypertext Application Language (HAL) builder library
Apigility444over 6 years agoAPI builder built with Zend Framework 2
phprest307about 6 years agoSpecialized REST microframework for PHP
Hateoas1,039almost 2 years agoPHP library to support implementing representations for HATEOAS REST web services
Fusio1,878almost 2 years agoOpen source API management platform
REST APIs with Symfony2: the Right WayComplete guide to build a state-of-the-art REST API with Symfony2 framework
FOSRestBundle2,796almost 2 years agoBundle handling view, routing, error handling, etc. for your REST API
stanlemon/rest-bundle122over 4 years agoBuild a REST API based on Doctrine entities using conventions over configuration
lakion/LionframeGlu between several community libraries to ease API development
BazingaHateoasBundle296almost 2 years agoIntegrate the library into a Symfony2 application
Symfony REST Edition633over 9 years agoStart with a Symfony2 application with all REST-friendly bundles pre-configured
NgAdminGeneratorBundle75over 7 years agoBoostrap ng-admin configuration based on
DunglasApiBundle2,455almost 2 years agoBuild a REST API which follow Hydra/JSON-LD specification
API Platform8,731almost 2 years agoSpecialize Symfony edition for the creation of hypermedia REST APIs
NelmioApiDocBundle2,231almost 2 years agoGenerate documentation for your REST API from annotations

Awesome REST / Servers / PowerShell

Pode877almost 2 years agoPode is an cross-platform, open-source, community-supported web server and REST API framework for PowerShell developers

Awesome REST / Servers / Python

Django REST frameworkPowerful and flexible toolkit that makes it easy to build Web APIs
django-tastypieCreating delicious APIs for Django apps
flask-restfulExtension for Flask that adds support for quickly building REST APIs
flask-restlessFlask extension for generating ReSTful APIs for database models defined with SQLAlchemy (or Flask-SQLAlchemy)
sandman2,304almost 5 years agoAutomated REST APIs for existing database-driven systems
restlessFramework agnostic REST framework based on lessons learned from TastyPie
Python EveEve 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
RamsesMakes RAML files executable by generating production-ready APIs from them at runtime
Flask-Potion488over 7 years agoFlask-Potion is a powerful Flask extension for building RESTful JSON APIs. It also provides several Clients for easier access to the API
apistar5,571over 4 years agoA smart Web API framework, designed for Python 3
Falcon9,545almost 2 years agoFalcon is a bare-metal Python web API framework for building high-performance microservices, app backends, and higher-level frameworks
FastAPI78,676almost 2 years agoFastAPI 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

GrapeOpinionated micro-framework for creating REST-like APIs in Ruby
RailsRailsGuides: Using Rails for API-only applications

Awesome REST / Servers / Go

gocrud305over 7 years ago: Go library to simplify creating, updating and deleting arbitrary depth structured data — to make building REST services fast and easy
go-json-rest3,509over 5 years agoThin layer on top of that helps building RESTful APIs easily
sleepy676almost 9 years agoRESTful micro-framework written in Go
restit55over 2 years agoGo micro framework to help writing RESTful API integration test
go-relax152about 3 years agoFramework of pluggable components to build RESTful API's
go-rest128over 9 years agoSmall and evil REST framework for Go
go-restful5,051almost 2 years agoA declarative highly readable framework for building restful API's
Goat155over 8 years agoMinimalistic REST API server in Go
Resoursea35over 11 years agoREST framework for quickly writing resource based services

Awesome REST / Servers / Java

RestExpress940about 2 years agoNetty-based, highly performant, lightweight, container-less, plugin-extensible, framework that is ideal for microservice architectures
Vertx-Web1,112almost 2 years agoVert.x-Web is a set of building blocks for building web applications with Vert.x, a toolkit for building reactive applications on the JVM
Dropwizard8,507almost 2 years agoA framework for developing ops-friendly, high-performance, RESTful web services

Awesome REST / Servers / Scala

Chaos250over 7 years agoA lightweight framework for writing REST services in Scala

Awesome REST / Servers / Haskell

Rest for Haskell390almost 8 years agoThis 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

httpie34,188almost 2 years agoCommand line HTTP client, far more dev-friendly than
resty2,651over 3 years agoLittle command line REST client that you can use in pipelines (bash or zsh)
jq30,734almost 2 years agoCommand line JSON processor, to use in combination with a command-line HTTP client like cURL
HttpMasterGUI tool for testing REST APIs and services. Windows OS only
Http-console1,352over 5 years agoCommand line interface for HTTP that let you
HTTP Prompt8,970over 2 years agoHTTP Prompt is an interactive command-line HTTP client featuring autocomplete and syntax highlighting, built on HTTPie and prompt_toolkit
rest-assured6,875about 2 years agoJava DSL for easy testing of REST services
Insomnia35,150almost 2 years agoCross-platform HTTP and GraphQL Client
ExtendsClassMake HTTP requests with a simple web-based HTTP client
TestMaceCross-platform simple but powerful IDE for API automation testing
Milkman1,153about 2 years agoExtensible cross-platform request/response workbench, not only for http calls
Schemathesis2,330almost 2 years agoProperty-based testing tool for web applications built with Open API and GraphQL specifications
Step CI1,681about 2 years agoOpen-source framework for API Quality Assurance, which tests REST, GraphQL and gRPC automated and from Open API spec
RestQA88about 2 years agoA REST API testing Framework based on BDD / Gherkin to manage microservice local testing

Awesome REST / Testing / Mocking

RequestBinInspect and debug webhook requests sent by your clients or third-party APIs
httpbinHTTP request and response service - a/k/a Swiss Army Knife for HTTP
FakeRest440almost 2 years agoPatch XMLHttpRequest to fake a REST API client-side
json-server73,262about 2 years agoServe a REST API from fixture files using quick prototyping
Mocky.ioFree online service to create fake HTTP responses
MockServerEasy mocking of any system you integrate with via HTTP or HTTPS
Request Baskets356over 2 years agoService to collect HTTP requests and inspect them via RESTful API or web UI
DuckRails1,720about 3 years agoMock quickly & dynamically API endpoints
MockoonEasily create mock APIs locally. No remote deployment, no account required, open source
MockintoshA 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 SchemaDeclarative language that allows you to annotate and validate JSON documents

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

Deck of Cards APIOpen API for simulating a deck of cards
Public APIS319,768almost 2 years agoExplore The Largest API Directory In The Galaxy
Marvel Comics APIQuery characters, stories, events about Marvel superheroes
JSON PlaceholderFree online REST service that you can use whenever you need some fake data
APIs.guruWikipedia for Web APIs, each API has OpenAPI/Swagger description
The Cat APIPublic API for Cats Images, Facts and Jokes
MockaeFake REST API powered by Lua

Awesome REST / Documentation

SwaggerDocumentation/querying web interface for REST APIs
API docInline Documentation for RESTful web APIs
raml2html1,135about 4 years agoGenerates HTML documentation from a RAML file
ReDoc23,749almost 2 years agoOpenAPI/Swagger-powered three-panel documentation
Slate36,071over 2 years agoBeautiful and responsive three-panel API documentation using Middleman
Optic1,386almost 2 years agoMaintain an accurate API specification without writing OpenAPI/Swagger. Works with any Stack

Awesome REST / API Gateway

Kong39,568almost 2 years agoScalable, distributed, and plugin oriented API gateway backed by Nginx
Tyk API Gateway9,782almost 2 years agoLightweight API gateway with analytics logging, written in Go
API Umbrella2,032almost 2 years agoAPI management platform for exposing web services, with web interface and analytics, written in Lua
WSO2 API Management863almost 2 years agoAPI management tool with lightweight gateway and API lifecycle management, written in Java
Express Gateway2,978over 2 years agoMicroservices API Gateway built on top of ExpressJS (Node.js)
KrakenD6,393almost 2 years agoUltra performant API Gateway with middleware. Written in Go
AWS API GatewayFully managed service that helps developers to create, publish, maintain, monitor, and secure APIs at any scale

Awesome REST / SaaS Tools

Nango4,866almost 2 years agoNative integrations framework to consume REST APIs (open-source)
RunscopeAutomated API Monitoring & Testing
Ping-APIAutomated API Monitoring & Testing
ApiaryCollaborative design, instant API mock, generated documentation, integrated code samples, debugging and automated testing
Amazon API GatewayAmazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale
ApigeeApigee is the leading provider of API technology and services for enterprises and developers
3scaleNginx based API gateway to integrate internal and external API services with 3scale's API Management Platform
AssertibleContinuously test and monitor your APIs after deployments and across environments
MoesifAPI Analytics for Debugging, Monitoring, and Usage Tracking for RESTful and GraphQL
BeeceptorAn HTTP inspecting, mocking and proxing service. Gives named endpoints for creating mock API endpoints and simulate responses

Awesome REST / Miscellaneous

react-admin25,106almost 2 years agoAdd a ReactJS admin GUI to any RESTful API
ng-admin3,944over 6 years agoAdd an AngularJS admin GUI to any RESTful API
swagger-codegen17,114almost 2 years agoAuto generation of client libraries or server stubs given an OpenAPI specification (formerly known as the Swagger Specification)
Lumber2,067over 3 years agoGenerate the admin interface of your application
LinxLow-code API platform. Build, debug and host REST APIs

Backlinks from these awesome lists:

More related projects: