Compare commits

...

53 Commits

Author SHA1 Message Date
Francois Zaninotto
3bc99d5c2b Fix 404 links 2026-01-03 10:51:09 +01:00
Francois Zaninotto
309f62640b Reorder and update mock API references in README
I don't want this list to become another list of public APIs, so the "Public REST APIS to Use In Tests" section will only link to directories from now on, with the exception of JSON Plmaceholder because it's so ubiquituous.
2026-01-03 08:09:40 +01:00
Francois Zaninotto
e3c2f5e396 Update 404-links.yml 2025-07-29 12:04:24 +02:00
Francois Zaninotto
392d9cae08 Fix dead link 2025-07-29 12:03:47 +02:00
Francois Zaninotto
b63c163c77 Add shadcn admin kit 2025-07-29 11:57:14 +02:00
Francois Zaninotto
c0e90451f9 Remove broken link 2025-07-29 11:53:50 +02:00
Francois Zaninotto
653bc054cc Merge pull request #156 from AdrianMachado/patch-2
Add Zuplo and Zudoku
2025-07-29 11:30:03 +02:00
Adrian Machado
101d386813 Add Zuplo and Zudoku
Add free API management and API docs tools
2025-07-28 15:30:34 -07:00
Francois Zaninotto
0066937b9e Merge pull request #154 from dsuch/master
Adding Zato and Zato API Test.
2025-02-11 17:30:39 +01:00
Francois Zaninotto
e155cebaed Update Zato description in README.md 2025-02-11 17:30:22 +01:00
Dariusz Suchojad
680085c7ce Adding Zato and Zato API Test. 2025-02-10 10:51:14 +01:00
Francois Zaninotto
d51cb41644 Update README.md 2025-01-17 11:34:42 +01:00
Francois Zaninotto
596760a714 Remove dead link 2025-01-17 11:32:52 +01:00
Francois Zaninotto
3ca0abb4b8 Merge pull request #153 from itssimon/master
Add Apitally to SaaS Tools section
2025-01-17 11:27:53 +01:00
Simon Gurcke
8d48bcc9f0 Add Apitally to SaaS Tools section 2024-12-20 21:59:13 +10:00
Francois Zaninotto
e1864bff86 Merge pull request #151 from cyrilbois/master
Add Mockae to Public REST APIs To Use In Tests
2024-08-22 18:48:35 +02:00
cyril
6fe603112e Add Mockae to Public REST APIs To Use In Tests 2024-08-11 21:37:42 +02:00
Francois Zaninotto
747b772bfb Remove dead links 2024-05-20 10:01:21 +02:00
Francois Zaninotto
7cceb1b856 Merge pull request #150 from william-riley-land/patch-1
Update Baucis URL
2024-05-20 09:27:32 +02:00
William Riley-Land
5bea06846f Update Baucis URL 2024-05-17 13:17:18 -05:00
Francois Zaninotto
dc945da55b Merge pull request #148 from s-fletcher/patch-1
Fix JSend link
2023-07-24 15:47:15 +02:00
Sam Fletcher
d8eaddf9d3 Fix JSend link 2023-07-15 23:33:58 -05:00
Francois Zaninotto
e11cf5d060 Add AWS API Gateway 2023-02-14 14:04:27 +01:00
Francois Zaninotto
42b699e1dd Add JSON Schema 2023-02-14 14:01:50 +01:00
Francois Zaninotto
197a7df02d Merge pull request #143 from olivierodo/link-checker
CI: Add a github action that could help to check if links are dead
2023-02-03 10:56:26 +01:00
Francois Zaninotto
a06570ad9d Update README.md 2023-02-03 10:17:40 +01:00
Francois Zaninotto
7279f5c017 Update README.md 2023-02-03 10:17:23 +01:00
Francois Zaninotto
f65eefce8e Merge pull request #145 from JeremyBP/patch-1
Add .NET clients
2023-02-03 10:16:24 +01:00
Francois Zaninotto
df2efa8676 Sort by popularity 2023-02-03 10:16:06 +01:00
Jérémy BRUN-PICARD
0aeba5a351 Add .NET clients
Adding some REST .NET clients
2023-02-03 09:35:51 +01:00
OliverOdo
4afed507fe Update 404-links.yml 2023-01-27 23:13:26 +07:00
Olivier
c8a2d24abf revert: let's just allow some url to use http instead of https 2023-01-02 22:06:06 +07:00
Olivier
3f37ce6184 Update: Due to some certificate error let's just ignore the check on a
few links.

Logs:
* ERR_TLS_CERT_ALTNAME_INVALID -https://blog.ulf-wendel.de/2014/mysql-5-7-http-plugin-mysql/
* CERT_HAS_EXPIRED - https://lakion.com/lionframe
* ERR_TLS_CERT_ALTNAME_INVALID - https://tastypieapi.org/
* Z_DATA_ERROR - https://swagger.io/
2023-01-02 21:41:01 +07:00
Olivier
7f14f1a603 Update: no more http links. http -> https 2023-01-02 21:27:30 +07:00
Olivier
b7104f8bb4 Delete: remove magic-import.io 2023-01-02 21:18:52 +07:00
Olivier
6fb87c65dd Update: use the github repository https://www.publicapis.com -> public-apis/public-apis 2023-01-02 21:16:12 +07:00
Olivier
9303197d75 Delete: open source project bulkismaslom/swagger-api-mock 2023-01-02 21:13:15 +07:00
Olivier
37a646ac72 Delete: remove the open source project cosiner/zerver 2023-01-02 21:11:50 +07:00
Olivier
cfb260c27f Delete: Remove the postman chrome extension 2023-01-02 21:10:03 +07:00
Olivier
e60164adca Update: link to the ruby Net::HTTP 2023-01-02 21:06:58 +07:00
OliverOdo
366fc5259f Merge branch 'marmelab:master' into master 2023-01-02 21:00:28 +07:00
Francois Zaninotto
273e6635be Merge pull request #144 from olivierodo/adding-restqa
Add RestQA testing tool
2023-01-02 14:02:28 +01:00
Francois Zaninotto
c4be6e273d Update README.md 2023-01-02 14:02:21 +01:00
OliverOdo
194f2cdaa7 Merge pull request #2 from olivierodo/link-checker
CI: Add a github action that could help to check if links are dead
2022-12-23 23:28:23 +07:00
Olivier
ab3e0d4e40 CI: Add a github action that could help to check if links are dead 2022-12-23 22:58:04 +07:00
OliverOdo
8b507df44c Add RestQA testing tool 2022-12-23 22:51:43 +07:00
Francois Zaninotto
0e6d1ff1ee Merge pull request #142 from sebastianwis/patch-1
Update README.md
2022-11-29 11:20:03 +01:00
Sebastian Wißmüller
bcd6f3b97c Update README.md 2022-11-28 10:15:26 +01:00
Sebastian Wißmüller
cbaeba05d8 Update README.md 2022-11-28 09:37:05 +01:00
Francois Zaninotto
e3ba9dc04c Merge pull request #141 from antmorr/patch-2
Update README.md
2022-11-14 10:24:34 +01:00
antmorr
2e3fe00f5d Update README.md 2022-11-14 11:02:11 +02:00
Francois Zaninotto
dfabaaf031 Merge pull request #137 from waldyrious/patch-1
Replace a dead link with the last archived version
2022-10-05 21:40:02 +02:00
Waldir Pimenta
4653156f81 Replace a dead link with the last archived version
Also remove a link to a nonexistent section
2022-10-05 17:59:36 +01:00
4 changed files with 90 additions and 56 deletions

6
.404-links.yml Normal file
View File

@@ -0,0 +1,6 @@
delay:
'https://github.com': 500 #Avoiding Github rate limit by delaying the request -> 500ms
ignore:
urls: # Array of url to ignore
- https://swagger.io/

16
.github/workflows/404-links.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: Dead link checker
on:
push:
branches: [ master ]
pull_request:
types: [assigned, opened, synchronize, reopened]
jobs:
check-links:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: 'atalent-labs-404-links'
uses: atalent-labs/404-links@3.1.6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

122
README.md
View File

@@ -11,6 +11,7 @@ A collaborative list of great resources about RESTful API architecture, developm
* [Node.js](#nodejs-clients)
* [Ruby](#ruby-clients)
* [Go](#go-clients)
* [.Net](#net-clients)
* [Generators](#generators)
* [Servers](#servers)
* [Directly On Top Of A RMDB](#directly-on-top-of-a-rmdb)
@@ -35,16 +36,15 @@ A collaborative list of great resources about RESTful API architecture, developm
## Design
* [Architectural Styles and
the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm) - Roy Fielding's dissertation defining REST
* [Architectural Styles and the Design of Network-based Software Architectures](https://roy.gbiv.com/pubs/dissertation/top.htm) - Roy Fielding's dissertation defining REST
* [HTTP API design guide extracted from work on the Heroku Platform API](https://github.com/interagent/http-api-design)
* [Best Practices for Designing a Pragmatic RESTful API](http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api)
* [How to design a REST API?](http://blog.octo.com/en/design-a-rest-api/) - Full guide tackling security, pagination, filtering, versioning, partial answers, CORS, etc.
* [Richardson Maturity Model](http://martinfowler.com/articles/richardsonMaturityModel.html) - Explained by Martin Fowler, originally presented by Leonard Richardson at the [QCon 2008](https://www.crummy.com/writing/speaking/2008-QCon/act3.html).
* [Enterprise Integration Using REST](http://martinfowler.com/articles/enterpriseREST.html) - Discusses the constraints and flexibility that you have with nonpublic APIs, and lessons learned from doing large scale RESTful integration across multiple teams.
* [HATEOAS](http://timelessrepo.com/haters-gonna-hateoas) - Clear explanation on what HATEOAS is, and why you should use it.
* [How to GET a cup of coffee](http://www.infoq.com/articles/webber-rest-workflow/)
* [REST API Tutorial](http://www.restapitutorial.com/) - 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.
* [Best Practices for Designing a Pragmatic RESTful API](https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api)
* [How to design a REST API?](https://blog.octo.com/en/design-a-rest-api/) - Full guide tackling security, pagination, filtering, versioning, partial answers, CORS, etc.
* [Richardson Maturity Model](https://martinfowler.com/articles/richardsonMaturityModel.html) - Explained by Martin Fowler, originally presented by Leonard Richardson at the [QCon 2008](https://www.crummy.com/writing/speaking/2008-QCon/act3.html).
* [Enterprise Integration Using REST](https://martinfowler.com/articles/enterpriseREST.html) - Discusses the constraints and flexibility that you have with nonpublic APIs, and lessons learned from doing large scale RESTful integration across multiple teams.
* [HATEOAS](https://web.archive.org/web/20201111235328/timelessrepo.com/haters-gonna-hateoas) - Clear explanation on what HATEOAS is, and why you should use it.
* [How to GET a cup of coffee](https://www.infoq.com/articles/webber-rest-workflow/)
* [REST API Tutorial](https://www.restapitutorial.com/) - 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](https://github.com/shieldfy/API-Security-Checklist) - Best practices about REST API security
### Guidelines
@@ -59,21 +59,21 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
## Standards
* [JSON API](http://jsonapi.org/) - Standard for building APIs in JSON.
* [RAML](http://raml.org/) - Simple and succinct way to describe RESTful API.
* [JSend](http://labs.omniti.com/labs/jsend) - Simple specification that lays down some rules for how JSON responses from web servers should be formatted.
* [OData](http://www.odata.org/) - Open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs. Quite complex.
* [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-06) - Simple format that gives a consistent and easy way to hyperlink between resources in your API (see: [HATEOAS](#hateoas)).
* [JSON-LD](http://json-ld.org/) - Standard for describing Linked Data and hypermedia relations in JSON (W3C).
* [Hydra](http://www.hydra-cg.com/) - Vocabulary for Hypermedia-Driven Web APIs (W3C).
* [Schema.org](http://schema.org) - Collection of schemas describing common data models.
* [JSON API](https://jsonapi.org/) - Standard for building APIs in JSON.
* [RAML](https://raml.org/) - Simple and succinct way to describe RESTful API.
* [JSend](https://github.com/omniti-labs/jsend) - Simple specification that lays down some rules for how JSON responses from web servers should be formatted.
* [OData](https://www.odata.org/) - Open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs. Quite complex.
* [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-06) - Simple format that gives a consistent and easy way to hyperlink between resources in your API.
* [JSON-LD](https://json-ld.org/) - Standard for describing Linked Data and hypermedia relations in JSON (W3C).
* [Hydra](https://www.hydra-cg.com/) - Vocabulary for Hypermedia-Driven Web APIs (W3C).
* [Schema.org](https://schema.org) - Collection of schemas describing common data models.
* [OpenAPI](https://openapis.org/) - Formerly known as the Swagger Specification, OpenAPI specifcation is the worlds most popular description format for defining Restful APIs.
## Clients
### PHP Clients
* [Guzzle](http://guzzle.readthedocs.org/en/latest/) - HTTP client and framework for consuming RESTful web services.
* [Guzzle](https://guzzle.readthedocs.org/en/latest/) - HTTP client and framework for consuming RESTful web services.
* [Buzz](https://github.com/kriswallsmith/buzz) - Another lightweight HTTP client.
* [unirest for PHP](https://github.com/Mashape/unirest-php) - Simplified, lightweight HTTP client library.
@@ -95,7 +95,7 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
* [Spyke](https://github.com/balvig/spyke) - Interact with REST services in an ActiveRecord-like manner.
* [excon](https://github.com/excon/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](https://github.com/jnunemaker/httparty) - Makes HTTP fun again!
* [Net::HTTP](http://ruby-doc.org/stdlib/libdoc/net/http/rdoc/Net/HTTP.html) - Net::HTTP provides a rich library which can be used to build HTTP user-agents.
* [Net::HTTP](https://ruby-doc.org/3.2.0/stdlibs/net/Net/HTTP.html) - Net::HTTP provides a rich library which can be used to build HTTP user-agents.
* [raml-ruby-client-generator](https://github.com/zlx/raml-ruby-client-generator) - Auto generate API client from a RAML file.
### Go Clients
@@ -103,6 +103,16 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
* [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs.
* [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client.
### .NET Clients
* [RestSharp](https://github.com/restsharp/RestSharp) - Simple REST and HTTP API client for .NET
* [Refit](https://github.com/reactiveui/refit) - The automatic type-safe REST library for Xamarin and .NET
* [Flurl](https://flurl.dev) - Fluent, portable, testable REST/HTTP client library
* [RestEase](https://github.com/canton7/RestEase) - Easy-to-use typesafe REST API client library, which is simple and customisable. Heavily inspired by Refit
* [Tiny.RestClient](https://github.com/jgiacomini/Tiny.RestClient) - Simpliest Fluent REST client for .NET.
* [RestLess](https://github.com/letsar/RestLess) - The automatic type-safe-reflectionless REST API client library for .Net Standard.
* [Apizr](https://github.com/Respawnsive/Apizr) - Refit-based web api client, but resilient (retry, connectivity, cache, auth, log, priority, etc...).
### Generators
* [openapi-generator](https://github.com/OpenAPITools/openapi-generator) - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3).
@@ -118,12 +128,11 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
### Node.js
* [node-restify](https://github.com/restify/node-restify) - Framework specifically meant for REST API.
* [Sails.js](http://sailsjs.org/) - Node.js Web framework embedding a command to generate automatically a REST API.
* [Sails.js](https://sailsjs.org/) - Node.js Web framework embedding a command to generate automatically a REST API.
* [mers](https://github.com/jspears/mers) - Express service exposing Mongoose finders as RESTful API.
* [Baucis](https://github.com/wprl/baucis) - Build scalable REST API based on your Mongoose entities.
* [flatiron/resourceful](https://github.com/flatiron/resourceful) - Isomorphic Resource engine for JavaScript.
* [loopback](http://loopback.io/) - Powerful Node.js framework for creating APIs and easily connecting to backend data sources.
* [Feathers](http://feathersjs.com/) - is a real-time, micro-service web framework that gives you control over your data via RESTful resources, sockets and flexible plug-ins.
* [loopback](https://loopback.io/) - Powerful Node.js framework for creating APIs and easily connecting to backend data sources.
* [Feathers](https://feathersjs.com/) - is a real-time, micro-service web framework that gives you control over your data via RESTful resources, sockets and flexible plug-ins.
* [Expressa](https://github.com/thomas4019/expressa) - Express middleware for creating APIs from JSON schemas with a simple admin editor and permissions model.
* [rest-hapi](https://github.com/JKHeadley/rest-hapi) - Generate RESTful API based on mongoose models that supports relational data.
* [Nestjsx/crud](https://github.com/nestjsx/crud) - Generate CRUD controllers and services for RESTful API with NestJS and TypeORM.
@@ -142,10 +151,9 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
#### Symfony2
* [REST APIs with Symfony2: the Right Way](http://williamdurand.fr/2012/08/02/rest-apis-with-symfony2-the-right-way/) - Complete guide to build a state-of-the-art REST API with Symfony2 framework.
* [REST APIs with Symfony2: the Right Way](https://williamdurand.fr/2012/08/02/rest-apis-with-symfony2-the-right-way/) - Complete guide to build a state-of-the-art REST API with Symfony2 framework.
* [FOSRestBundle](https://github.com/FriendsOfSymfony/FOSRestBundle) - Bundle handling view, routing, error handling, etc. for your REST API.
* [stanlemon/rest-bundle](https://github.com/stanlemon/rest-bundle) - Build a REST API based on Doctrine entities using conventions over configuration.
* [lakion/Lionframe](http://lakion.com/lionframe) - Glu between several community libraries to ease API development.
* [BazingaHateoasBundle](https://github.com/willdurand/BazingaHateoasBundle) - Integrate the [Hateoas](https://github.com/willdurand/Hateoas) library into a Symfony2 application.
* [Symfony REST Edition](https://github.com/gimler/symfony-rest-edition) - Start with a Symfony2 application with all REST-friendly bundles pre-configured.
* [NgAdminGeneratorBundle](https://github.com/marmelab/NgAdminGeneratorBundle) - Boostrap ng-admin configuration based on `stanlemon/rest-bundle`.
@@ -159,24 +167,24 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
### Python
* [Django REST framework](http://www.django-rest-framework.org/) - Powerful and flexible toolkit that makes it easy to build Web APIs.
* [Django REST framework](https://www.django-rest-framework.org/) - Powerful and flexible toolkit that makes it easy to build Web APIs.
* [django-tastypie](http://tastypieapi.org/) - Creating delicious APIs for Django apps.
* [flask-restful](http://flask-restful.readthedocs.org/) - Extension for Flask that adds support for quickly building REST APIs.
* [flask-restful](https://flask-restful.readthedocs.org/) - Extension for Flask that adds support for quickly building REST APIs.
* [flask-restless](https://flask-restless.readthedocs.org/en/latest/) - Flask extension for generating ReSTful APIs for database models defined with SQLAlchemy (or Flask-SQLAlchemy).
* [hug](http://www.hug.rest/) - Lightweight and fast API Framework.
* [sandman](https://github.com/jeffknupp/sandman) - Automated REST APIs for existing database-driven systems.
* [restless](http://restless.readthedocs.org/en/latest/) - Framework agnostic REST framework based on lessons learned from TastyPie.
* [Python Eve](http://python-eve.org/) - 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.
* [restless](https://restless.readthedocs.org/en/latest/) - Framework agnostic REST framework based on lessons learned from TastyPie.
* [Python Eve](https://python-eve.org/) - 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](https://ramses.readthedocs.org/en/stable/) - Makes RAML files executable by generating production-ready APIs from them at runtime.
* [Flask-Potion](https://github.com/biosustain/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](https://github.com/encode/apistar) - A smart Web API framework, designed for Python 3.
* [Falcon](https://github.com/falconry/falcon) - Falcon is a bare-metal Python web API framework for building high-performance microservices, app backends, and higher-level frameworks.
* [FastAPI](https://github.com/tiangolo/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](https://zato.io) - Platform for building server-side integrations, automations and API backends in Python.
### Ruby
* [Grape](http://www.ruby-grape.org) - Opinionated micro-framework for creating REST-like APIs in Ruby.
* [Rails](http://guides.rubyonrails.org/api_app.html) - RailsGuides: Using Rails for API-only applications.
* [Grape](https://www.ruby-grape.org) - Opinionated micro-framework for creating REST-like APIs in Ruby.
* [Rails](https://guides.rubyonrails.org/api_app.html) - RailsGuides: Using Rails for API-only applications.
### Go
@@ -187,9 +195,7 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
* [go-relax](https://github.com/codehack/go-relax) - Framework of pluggable components to build RESTful API's.
* [go-rest](https://github.com/ungerik/go-rest) - Small and evil REST framework for Go.
* [go-restful](https://github.com/emicklei/go-restful) - A declarative highly readable framework for building restful API's.
* [Goat](https://github.com/bahlo/goat) - Minimalistic REST API server in Go.
* [Resoursea](https://github.com/resoursea/api) - REST framework for quickly writing resource based services.
* [Zerver](https://github.com/cosiner/zerver) - Zerver is a expressive, modular, feature completed RESTful framework.
### Java
@@ -210,10 +216,9 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
### Querying
* [httpie](https://github.com/jkbrzt/httpie) - Command line HTTP client, far more dev-friendly than `curl`.
* [Postman REST Client](https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm) - Chrome extension essential to test manually REST API.
* [resty](https://github.com/micha/resty) - Little command line REST client that you can use in pipelines (bash or zsh).
* [jq](https://github.com/stedolan/jq) - Command line JSON processor, to use in combination with a command-line HTTP client like cURL.
* [HttpMaster](http://www.httpmaster.net) - GUI tool for testing REST APIs and services. Windows OS only.
* [HttpMaster](https://www.httpmaster.net) - GUI tool for testing REST APIs and services. Windows OS only.
* [Http-console](https://github.com/cloudhead/http-console) - Command line interface for HTTP that let you *speak HTTP like a local*
* [HTTP Prompt](https://github.com/eliangcs/http-prompt) - HTTP Prompt is an interactive command-line HTTP client featuring autocomplete and syntax highlighting, built on HTTPie and prompt_toolkit.
* [rest-assured](https://github.com/rest-assured/rest-assured) - Java DSL for easy testing of REST services.
@@ -222,38 +227,41 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
* [TestMace](https://testmace.com) - Cross-platform simple but powerful IDE for API automation testing.
* [Milkman](https://github.com/warmuuh/milkman) - Extensible cross-platform request/response workbench, not only for http calls.
* [Schemathesis](https://github.com/schemathesis/schemathesis) - Property-based testing tool for web applications built with Open API and GraphQL specifications.
* [Step CI](https://github.com/stepci/stepci) - Open-source framework for API Quality Assurance, which tests REST, GraphQL and gRPC automated and from Open API spec.
* [RestQA](https://github.com/restqa/restqa) - A REST API testing Framework based on BDD / Gherkin to manage microservice local testing.
### Mocking
* [RequestBin](https://requestbin.com/) - Inspect and debug webhook requests sent by your clients or third-party APIs.
* [httpbin](http://httpbin.org) - HTTP request and response service - a/k/a Swiss Army Knife for HTTP.
* [FakeRest](https://github.com/marmelab/FakeRest) - Patch XMLHttpRequest to fake a REST API client-side.
* [FakeRest](https://github.com/marmelab/FakeRest) - Redirect fetch() calls to a client-side fake REST API.
* [json-server](https://github.com/typicode/json-server) - Serve a REST API from fixture files using quick prototyping.
* [Mocky.io](http://www.mocky.io/) - Free online service to create fake HTTP responses.
* [RequestBin](https://requestbin.com/) - Inspect and debug webhook requests sent by your clients or third-party APIs.
* [httpbin](https://httpbin.org) - HTTP request and response service - a/k/a Swiss Army Knife for HTTP.
* [MockServer](https://www.mock-server.com/) - Easy mocking of any system you integrate with via HTTP or HTTPS.
* [Swagger API Mock](https://github.com/bulkismaslom/swagger-api-mock) - Mock RESTful API based on swagger schema
* [Request Baskets](https://github.com/darklynx/request-baskets) - Service to collect HTTP requests and inspect them via RESTful API or web UI.
* [DuckRails](https://github.com/iridakos/duckrails) - Mock quickly & dynamically API endpoints.
* [Mockoon](https://mockoon.com) - Easily create mock APIs locally. No remote deployment, no account required, open source.
* [Mockintosh](https://mockintosh.io/) - A mock server generator that's capable to generate RESTful APIs and communicate with the message queues to mimick asynchronous tasks.
* [Mockae](https://mockae.com/) - Fake REST API powered by Lua.
### Validating
* [JSON Schema](http://json-schema.org/) - Declarative language that allows you to annotate and validate JSON documents
### Public REST APIs To Use In Tests
* [Deck of Cards API](http://deckofcardsapi.com) - Open API for simulating a deck of cards.
* [ProgrammableWeb](http://www.programmableweb.com/apis/directory) - The world's largest API repository.
* [Public APIS](https://www.publicapis.com/) - Explore The Largest API Directory In The Galaxy.
* [Marvel Comics API](http://developer.marvel.com/) - Query characters, stories, events about Marvel superheroes.
* [JSON Placeholder](http://jsonplaceholder.typicode.com/) - Free online REST service that you can use whenever you need some fake data.
* [APIs.guru](http://APIs.guru) - Wikipedia for Web APIs, each API has OpenAPI/Swagger description.
* [The Cat API](http://theCatAPI.com) - Public API for Cats Images, Facts and Jokes.
* [Public APIS](https://github.com/public-apis/public-apis) - Explore The Largest API Directory In The Galaxy.
* [APIs.guru](https://APIs.guru) - Wikipedia for Web APIs, each API has OpenAPI/Swagger description.
* [JSON Placeholder](https://jsonplaceholder.typicode.com/) - Fake REST API abput posts, users and comments
## Documentation
* [Swagger](http://swagger.io/) - Documentation/querying web interface for REST APIs.
* [API doc](http://apidocjs.com/) - Inline Documentation for RESTful web APIs.
* [Swagger](https://swagger.io/) - Documentation/querying web interface for REST APIs.
* [API doc](https://apidocjs.com/) - Inline Documentation for RESTful web APIs.
* [raml2html](https://github.com/raml2html/raml2html) - Generates HTML documentation from a RAML file.
* [ReDoc](https://github.com/Rebilly/ReDoc/) - OpenAPI/Swagger-powered three-panel documentation.
* [Slate](https://github.com/lord/slate) - Beautiful and responsive three-panel API documentation using Middleman.
* [Optic](https://github.com/opticdev/optic) - Maintain an accurate API specification without writing OpenAPI/Swagger. Works with any Stack
* [Zudoku](https://zudoku.dev/) - Create clean, consistent API docs with Zudoku — open source, extensible, and developer-first
## API Gateway
@@ -262,14 +270,15 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
* [API Umbrella](https://github.com/NREL/api-umbrella) - API management platform for exposing web services, with web interface and analytics, written in Lua.
* [WSO2 API Management](https://github.com/wso2/product-apim) - API management tool with lightweight gateway and API lifecycle management, written in Java.
* [Express Gateway](https://github.com/ExpressGateway/express-gateway) - Microservices API Gateway built on top of ExpressJS (Node.js).
* [KrakenD](https://github.com/devopsfaith/krakend) Ultra performant API Gateway with middleware. Written in Go.
* [KrakenD](https://github.com/devopsfaith/krakend) - Ultra performant API Gateway with middleware. Written in Go.
* [AWS API Gateway](https://aws.amazon.com/api-gateway/) - Fully managed service that helps developers to create, publish, maintain, monitor, and secure APIs at any scale.
* [Zuplo](https://zuplo.com/) - 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
* [Nango](https://github.com/NangoHQ/nango) - Native integrations framework to consume REST APIs (open-source).
* [Runscope](https://www.runscope.com/) - Automated API Monitoring & Testing.
* [Ping-API](https://ping-api.com/) - Automated API Monitoring & Testing.
* [import.io Magic](https://magic.import.io/) - Create a REST API from any website in one click.
* [Apiary](https://apiary.io/) - Collaborative design, instant API mock, generated documentation, integrated code samples, debugging and automated testing.
* [Amazon API Gateway](https://aws.amazon.com/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](https://apigee.com) - Apigee is the leading provider of API technology and services for enterprises and developers.
@@ -277,16 +286,19 @@ the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fie
* [Assertible](https://assertible.com) - Continuously test and monitor your APIs after deployments and across environments.
* [Moesif](https://www.moesif.com) - API Analytics for Debugging, Monitoring, and Usage Tracking for RESTful and GraphQL.
* [Beeceptor](https://beeceptor.com/) - An HTTP inspecting, mocking and proxing service. Gives named endpoints for creating mock API endpoints and simulate responses.
* [Apitally](https://apitally.io) - Analytics, request logging and monitoring for REST APIs with a focus on simplicity and data privacy.
## Miscellaneous
* [shadcn-admin-kit](https://github.com/marmelab/shadcn-admin-kit) - Build internal tools, admin panels, B2B apps, and dashboards on top of any REST API
* [react-admin](https://github.com/marmelab/react-admin) - Add a ReactJS admin GUI to any RESTful API.
* [ng-admin](https://github.com/marmelab/ng-admin) - Add an AngularJS admin GUI to any RESTful API.
* [swagger-codegen](https://github.com/swagger-api/swagger-codegen) - Auto generation of client libraries or server stubs given an OpenAPI specification (formerly known as the Swagger Specification).
* [Lumber](https://github.com/ForestAdmin/lumber) - Generate the admin interface of your application.
* [Linx](https://linx.software) - Low-code API platform. Build, debug and host REST APIs
## License
[![Creative Commons License](http://i.creativecommons.org/l/by/4.0/88x31.png)](http://creativecommons.org/licenses/by/4.0/)
[![Creative Commons License](https://i.creativecommons.org/l/by/4.0/88x31.png)](httsp://creativecommons.org/licenses/by/4.0/)
This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).
This work is licensed under a [Creative Commons Attribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).

View File

@@ -7,7 +7,7 @@ Please ensure your pull request adheres to the following guidelines:
- Make sure your list is useful before submitting. That implies it having enough content and every item a good succinct description.
- A link back to this list from yours, so users can discover more lists, would be appreciated.
- Make an individual pull request for each suggestion.
- Titles should be [capitalized](http://grammar.yourdictionary.com/capitalization/rules-for-capitalization-in-titles.html).
- Titles should be capitalized.
- Use the following format: `[List Name](link)`
- If you have a comment about the link, add it after a dash, start it with a capital letter, and end it with a full stop. Avoid starting your comment with an article like "A", "The".
- Link additions should be added to the bottom of the relevant category.