update lists

This commit is contained in:
2025-07-18 22:22:32 +02:00
parent 55bed3b4a1
commit 5916c5c074
3078 changed files with 331679 additions and 357255 deletions

View File

@@ -1,322 +0,0 @@
<h1 id="awesome-api-awesome-build-status">Awesome API <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a> <a
href="https://travis-ci.org/Kikobeats/awesome-api"><img
src="https://img.shields.io/travis/Kikobeats/awesome-api/master.svg?style=flat-square"
alt="Build Status" /></a></h1>
<blockquote>
<p>A curated list of awesome resources for design and implement RESTful
APIs.</p>
</blockquote>
<h2 id="design">Design</h2>
<h3 id="overview">Overview</h3>
<blockquote>
<p>REST allows us to create services and applications that can be used
by any device or client who understands HTTP.</p>
</blockquote>
<ul>
<li><a
href="http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api">Best
Practices for Designing a Pragmatic RESTful API</a> [<a
href="https://elbauldelprogramador.com/buenas-practicas-para-el-diseno-de-una-api-restful-pragmatica/">spanish
version</a>].</li>
<li><a
href="https://betimdrenica.wordpress.com/2015/03/09/ideal-rest-api-design/">Ideal
REST API Design</a>.</li>
<li><a
href="https://stackoverflow.blog/2020/03/02/best-practices-for-rest-api-design/">StackOverflow
best REST API Design</a>.</li>
<li><a
href="https://devcenter.heroku.com/articles/platform-api-reference">Heroku
API Reference</a>.</li>
<li><a href="https://github.com/Mashape/apiglossary">API Terms
Glossary</a>.</li>
<li><a href="https://github.com/interagent/http-api-design">HTTP API
Design by Heroku</a>.</li>
<li><a href="http://www.restapitutorial.com">Learn REST: A RESTful
Tutorial</a>.</li>
<li><a href="https://github.com/lambda2/rapis">RAPIS: A REST API
Standard for the 21th century</a>.</li>
<li><a
href="https://github.com/watson-developer-cloud/api-guidelines">IBM
Watson REST API Guidelines</a>.</li>
<li><a href="https://github.com/Microsoft/api-guidelines">Microsoft REST
API Guidelines</a>.</li>
<li><a href="http://zalando.github.io/restful-api-guidelines/">Zalando
RESTful API and Event Scheme Guidelines</a></li>
<li><a
href="https://www.gov.uk/guidance/gds-api-technical-and-data-standards">gov.uk
API technical and data standards</a></li>
<li><a
href="https://github.com/stickfigure/blog/wiki/How-to-%28and-how-not-to%29-design-REST-APIs">How
to (and how not to) design REST APIs</a></li>
</ul>
<h3 id="status-code">Status Code</h3>
<blockquote>
<p>When you are using a REST design you have to provide the HTTP status
code that are the more appropriated to respond to the request.</p>
</blockquote>
<ul>
<li><a href="http://www.restapitutorial.com/httpstatuscodes.html">HTTP
Status code table in RESTAPITutorial</a>.</li>
<li><a href="https://httpstatuses.com/">httpstatuses.com</a></li>
<li><a
href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">Status
code definition in W3C</a>.</li>
<li><a href="https://tryhexadecimal.com/guides/http/">HTTP Status Code
Guides</a></li>
</ul>
<h3 id="authentication">Authentication</h3>
<ul>
<li><a href="https://github.com/teesloane/Auth-Boss">Auth Boss</a>
Learn about different authentication methodologies on the web.</li>
<li><a
href="https://www.owasp.org/index.php/Authentication_Cheat_Sheet">Authentication
Cheat Sheet</a>.</li>
<li><a
href="https://stormpath.com/blog/the-problem-with-api-authentication-in-express/">The
Problem With API Authentication in Express</a>.</li>
<li><a
href="https://blog.risingstack.com/web-authentication-methods-explained/">Web
Authentication Methods Explained</a>.</li>
</ul>
<h4 id="jwt">JWT</h4>
<blockquote>
<p>JSON Web Token (JWT) is a compact, URL-safe means of representing
claims to be transferred between two parties.</p>
</blockquote>
<ul>
<li><a
href="https://auth0.com/blog/2014/01/27/ten-things-you-should-know-about-tokens-and-cookies/">10
Things You Should Know about Tokens</a>.</li>
<li><a
href="https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/">Cookies
vs Tokens</a>.</li>
<li><a
href="https://tools.ietf.org/html/draft-ietf-oauth-json-web-token">JWT
Draft in IETF</a>.</li>
<li><a href="http://jwt.io/">JWT.io</a>.</li>
<li><a
href="https://auth0.com/blog/2014/12/02/using-json-web-tokens-as-api-keys/">Using
JSON Web Tokens as API Keys</a>.</li>
<li><a href="http://info.meteor.com/blog/session-cookies">Why Meteor
doesnt use session cookies</a>.</li>
<li><a
href="https://www.moesif.com/blog/technical/restful-apis/Authorization-on-RESTful-APIs/">Guide
on API authentication and authorization</a>.</li>
</ul>
<h3 id="authorization">Authorization</h3>
<h4 id="oauth">OAuth</h4>
<blockquote>
<p>An open protocol to allow secure authorization in a simple and
standard method from web, mobile and desktop applications</p>
</blockquote>
<ul>
<li><a
href="https://github.com/Kong/mashape-oauth/blob/master/FLOWS.md">The
OAuth Bible by Mashape</a>.</li>
</ul>
<h2 id="caching">Caching</h2>
<ul>
<li><a
href="https://jakearchibald.com/2016/caching-best-practices/">Caching
best practices &amp; max-age gotchas</a>.</li>
<li><a
href="https://devcenter.heroku.com/articles/increasing-application-performance-with-http-cache-headers">Increasing
Application Performance with HTTP Cache Headers</a>.</li>
<li><a
href="https://support.cloudflare.com/hc/en-us/articles/200504045-Using-Cloudflare-with-your-API">Using
Cloudflare with your API</a>.</li>
</ul>
<h2 id="security">Security</h2>
<ul>
<li><a href="https://www.npmjs.com/package/helmet">Helmet, help secure
Express/Connect apps with various HTTP headers</a>.</li>
<li><a
href="https://github.com/GitGuardian/APISecurityBestPractices">APISecurityBestPractices</a>.</li>
<li><a href="https://nodesecurity.io/">Node Security Project</a>.</li>
<li><a
href="https://blog.risingstack.com/node-js-security-checklist/">Node.js
Security Checklist</a>.</li>
</ul>
<h2 id="format">Format</h2>
<ul>
<li><a href="http://stateless.co/hal_specification.html">HAL</a>
Simple format that gives a consistent and easy way to hyperlink between
resources in your API (see: <a href="#hateoas">HATEOAS</a>).</li>
<li><a href="http://www.hydra-cg.com/">Hydra</a> Vocabulary for
Hypermedia-Driven Web APIs (W3C).</li>
<li><a href="http://labs.omniti.com/labs/jsend">JSend</a> Simple
specification that lays down some rules for how JSON responses from web
servers should be formatted.</li>
<li><a href="http://jsonapi.org/">JSON API</a> Standard for building
APIs in JSON.</li>
<li><a href="http://json-ld.org/">JSON-LD</a> Standard for describing
Linked Data and hypermedia relations in JSON (W3C).</li>
<li><a href="http://www.odata.org/">OData</a> Open protocol to allow
the creation and consumption of queryable and interoperable RESTful
APIs. Quite complex.</li>
<li><a href="http://raml.org/">RAML</a> Simple and succinct way to
describe RESTful API.</li>
<li><a href="http://schema.org">Schema.org</a> Collection of schemas
describing common data models.</li>
</ul>
<h2 id="discover">Discover</h2>
<blockquote>
<p>Need a API for your projects?</p>
</blockquote>
<h3 id="curated-list">Curated list</h3>
<ul>
<li><a href="https://github.com/Abhishaker17/Awesome-APIs">Awesome APIs
Directory</a> A public list of APIs from round the web.</li>
<li><a href="https://github.com/toddmotto/public-apis">public apis</a>
A collective list of public JSON APIs for use in web development.</li>
</ul>
<h3 id="directory">Directory</h3>
<ul>
<li><a href="http://apis.io">apis.io</a> API Search service to help
discover APIs on the web.</li>
<li><a
href="https://www.programmableweb.com/apis/directory">ProgrammableWeb</a>.</li>
</ul>
<h2 id="testing">Testing</h2>
<h3 id="querying">Querying</h3>
<ul>
<li><a href="https://firecamp.io">Firecamp</a> Protocol agnostic API
testing client which help you test and manage RestAPIs, GraphQL,
Websocket and many more.</li>
<li><a href="https://github.com/jkbrzt/httpie">httpie</a> Command line
HTTP client, far more dev-friendly than <code>curl</code>.</li>
<li><a href="http://www.httpmaster.net">HttpMaster</a> GUI tool for
testing REST APIs and services. Windows OS only.</li>
<li><a href="https://github.com/stedolan/jq">jq</a> Command line JSON
processor, to use in combination with a command-line HTTP client like
cURL.</li>
<li><a href="https://insomnia.rest/">Insomina</a> A Fancy HTTP REST
Client.</li>
<li><a href="https://github.com/micha/resty">resty</a> Little command
line REST client that you can use in pipelines (bash or zsh).</li>
<li><a href="https://testmace.com">TestMace</a> A modern powerful
crossplatform tool for working with API and creating automated API
tests.</li>
</ul>
<h3 id="mocking">Mocking</h3>
<ul>
<li><p><a href="https://beeceptor.com">Beeceptor</a> - Beeceptor helps
intercepting API calls and mocking them selectively. Creates an endpoint
for wrapping original API and routes requests.</p></li>
<li><p><a href="https://github.com/marmelab/FakeRest">FakeRest</a>
Patch XMLHttpRequest to fake a REST API client-side.</p></li>
<li><p><a href="http://jsonplaceholder.typicode.com/">JSON
Placeholder</a> Free online REST service that you can use whenever you
need some fake data.</p></li>
<li><p><a href="https://github.com/typicode/json-server">json-server</a>
Get a full fake REST API with zero coding in less than 30
seconds.</p></li>
<li><p><a href="http://www.mocky.io/">Mocky.io</a> Free online service
to create fake HTTP responses.</p></li>
<li><p><a href="https://fakeql.com/">FakeQL</a> Mainly focused on
GraphQL, but can mock RESTful APIs, as well.</p></li>
<li><p><a href="https://pipl.ir">PIPL API</a> Free and public API that
generates random and fake peoples data in JSON</p></li>
<li><p><a href="https://apimocha.com">API Mocha</a> - Free online
service providing fake REST API endpoints, create customizable responses
and download rules as a Postman collection. ### Response</p></li>
<li><p><a href="https://httpstat.us">httpstat.us</a> A super simple
service for generating different HTTP codes.</p></li>
<li><p><a href="https://httpbin.org">httpbin</a> httpbin(1): HTTP
Request &amp; Response Service.</p></li>
<li><p><a href="https://badssl.com">badssl</a> Testing clients against
bad SSL configs.</p></li>
</ul>
<h2 id="documentation">Documentation</h2>
<blockquote>
<p>One of the most important part of your API is have a good
documentation and updated with the code.</p>
</blockquote>
<h3 id="free">Free</h3>
<ul>
<li><a href="https://github.com/tmcw/docbox">docbox</a>.</li>
<li><a href="https://github.com/tripit/slate">slate</a>.</li>
<li><a href="https://github.com/mpociot/whiteboard">whiteboard</a>.</li>
</ul>
<h3 id="services">Services</h3>
<ul>
<li><a href="https://docs.rapidapi.com/docs">RapidAPI</a>.</li>
<li><a href="https://readme.io/">Readme.io</a>.</li>
<li><a href="https://www.gitbook.com/">GitBook</a>.</li>
</ul>
<h2 id="logging">Logging</h2>
<ul>
<li><a href="https://pm2.keymetrics.io">PM2 by keymetrics</a>.</li>
<li><a href="https://github.com/expressjs/morgan">morgan for
expressjs</a>.</li>
<li><a href="https://www.moesif.com/features/api-logs">Moesif API
Analytics</a>. Log and Understand API Traffic.</li>
</ul>
<h2 id="modeling-and-saas">Modeling and SaaS</h2>
<blockquote>
<p>Based in DDD (Domain Driven Development). Generates automatically
APIs in different languages.</p>
</blockquote>
<ul>
<li><a
href="https://www.producthunt.com/alternatives/api-plug">Alteranatives
to API Plug</a> 9 alternative and related products to api plug.</li>
<li><a href="https://apiary.io/">Apiary</a> Collaborative design,
instant API mock, generated documentation, integrated code samples,
debugging and automated testing.</li>
<li><a href="https://wrapapi.com">wrapAPI, Build an API on top of any
website</a>.</li>
<li><a href="https://www.import.io/">import.io, turn web pages into
Data</a>.</li>
<li><a href="http://raml.org">RAML, RESTful API Modeling
Language</a>.</li>
<li><a href="https://www.runscope.com/">Runscope</a> Automated API
Monitoring &amp; Testing.</li>
<li><a href="http://swagger.io">swagger.io</a>.</li>
</ul>
<h2 id="libraries">Libraries</h2>
<blockquote>
<p>Used it to improve your workflow</p>
</blockquote>
<ul>
<li><a href="http://adodson.com/hello.js/#hellojs">hello.js</a> A
client-side Javascript SDK for authenticating with OAuth2.</li>
<li><a href="https://www.npmjs.com/package/nock">nock</a> HTTP Server
mocking for Node.js</li>
<li><a
href="https://github.com/tj/node-ratelimiter">node-ratelimiter</a>
Rate limiter for Node.js backed by Redis.</li>
<li><a href="https://github.com/broofa/node-uuid">node-uuid</a> Simple
and fast generation of UUIDS.</li>
<li><a href="https://www.npmjs.com/package/supertest">Supertest</a>
Super-agent driven library for testing HTTP servers.</li>
</ul>
<h2 id="frameworks">Frameworks</h2>
<blockquote>
<p>Designed specifically for building RESTful APIs Quickly.</p>
</blockquote>
<ul>
<li><a href="http://loopback.io">Loopback</a>.</li>
<li><a href="http://sailsjs.org">Sails.js</a>.</li>
<li><a href="https://github.com/tiangolo/fastapi">FastAPI</a>.</li>
<li><a href="https://resthapi.com">rest-hapi</a>.</li>
</ul>
<h2 id="gateways">Gateways</h2>
<blockquote>
<p>Manage API infrastructure concerns such as
authentication/authorization, rate limiting, scaling, analytics,
etc.</p>
</blockquote>
<h3 id="open-source-self-hosted">Open Source / Self-hosted</h3>
<ul>
<li><a href="http://apiumbrella.io/">API Umbrella</a>.</li>
<li><a href="http://apiaxle.com">ApiAxle</a>.</li>
<li><a href="http://krakend.io">KrakenD</a>.</li>
<li><a href="https://getkong.org/">Mashape Kong</a>.</li>
<li><a href="https://tyk.io/">Tyk</a>.</li>
<li><a href="http://wso2.com/api-management/try-it/">WSO2 API
Manager</a>.</li>
</ul>