> For the complete documentation index, see [llms.txt](https://rteff.gitbook.io/learning/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rteff.gitbook.io/learning/formal-science/computer_science/api.md).

# API

TODO

## APIs

* [The Rick and Morty API](https://github.com/afuh/rick-and-morty-api)
* [Bing Web Search API](https://www.microsoft.com/en-us/bing/apis/bing-web-search-api)
* [Azure REST API Specifications](https://github.com/Azure/azure-rest-api-specs)
* [Medium’s API documentation](https://github.com/Medium/medium-api-docs)
* [GitLab GO](https://github.com/xanzy/go-gitlab)
* [SpaceX-API](https://github.com/r-spacex/SpaceX-API)
* [TikTok-Api](https://github.com/davidteather/TikTok-Api)
* [Spotify Python](https://github.com/plamere/spotipy)
* [AWS SDK for Rust](https://github.com/rusoto/rusoto)
* [Google Cloud Python Client](https://github.com/googleapis/google-cloud-python)
* [Notion Python](https://github.com/jamalex/notion-py)
* [Twitter Python](https://github.com/ryanmcgrath/twython)
* [Twitter GO CLI](https://github.com/mattn/twty)
* [Dropbox SDK for Javascript](https://github.com/dropbox/dropbox-sdk-js)
* [Dropbox CLI GO](https://github.com/dropbox/dbxcli)
* [GitHub Python](https://github.com/PyGithub/PyGithub)
* [GitHub REST API](https://docs.github.com/en/rest)
* [Google Drive CLI Client](https://github.com/prasmussen/gdrive)

## Articles

* [Anatomy of a Great API Library](https://brandur.org/nanoglyphs/019-api-libraries)
* [Making retries safe with idempotent APIs](https://aws.amazon.com/ru/builders-library/making-retries-safe-with-idempotent-APIs/)
* [Building the Brex API](https://building.brex.com/building-the-brex-api-52dcb26cacc8)
* [From feature request to API design](https://francoischalifour.com/from-feature-request-to-api-design/)
* [Exploring Programmers' API Learning Processes](https://neverworkintheory.org/2021/10/14/api-learning-processes.html)
* [Data-first API design](https://cuddly-octo-palm-tree.com/posts/2021-08-29-data-api/)
* [API Tokens: A Tedious Survey](https://fly.io/blog/api-tokens-a-tedious-survey/)
* [How to Hack APIs in 2021](https://labs.detectify.com/2021/08/10/how-to-hack-apis-in-2021/)
* [Test and Deploy your APIs Using These Open Source Tools](https://www.appsmith.com/blog/test-and-deploy-your-apis-using-these-open-source-tools)
* [Give me /events, not webhooks](https://blog.sequin.io/events-not-webhooks)
* [How to Cancel Pending API Requests to Show Correct Data](https://css-tricks.com/how-to-cancel-pending-api-requests-to-show-correct-data/)
* [Notes on streaming large API responses](https://simonwillison.net/2021/Jun/25/streaming-large-api-responses/)
* [API Federation: growing scalable API landscapes](https://engineering.salesforce.com/api-federation-growing-scalable-api-landscapes-a0f1f0dad506)
* [The state of Stripe API library codegen](https://brandur.org/fragments/stripe-codegen)
* [The Architecture of Uber’s API gateway](https://eng.uber.com/architecture-api-gateway/)
* [4 essential characteristics of successful APIs](https://opensource.com/article/21/5/successful-apis)
* [API Versioning Has No "Right Way"](https://apisyouwonthate.com/blog/api-versioning-has-no-right-way)
* [Read from databases, write to APIs](https://acco.io/read-from-dbs)
* [Curating Postman Collections To Generate Quality API Documentation & SDKs](https://www.apimatic.io/blog/2021/04/curating-postman-collections-to-generate-quality-api-documentation-sdks/)
* [APIs All the Way Down](https://www.notboring.co/p/apis-all-the-way-down)
* [How should we build the APIs of tomorrow?](https://increment.com/apis/how-we-should-build-apis-tomorrow/)
* [The land before modern APIs](https://increment.com/apis/land-before-modern-apis/)
* [Top 10 Social Media APIs for Developers](https://www.ayrshare.com/top-10-social-media-apis-for-developers/)
* [Lessons learned designing APIs](https://menduz.com/posts/2019.05.07)
* [Best practices for building SDKs for APIs](https://www.moesif.com/blog/technical/sdks/Best-Practices-for-Building-SDKs-for-APIs/)
* [API design is stuck in the past](https://buf.build/blog/api-design-is-stuck-in-the-past)
* [Quick Start Guide to Customized API Documentation](https://scale.com/blog/quick-start-guide-to-customized-api-documentation)
* [API pagination design](https://solovyov.net/blog/2020/api-pagination-design/)
* [Introducing API Shield](https://blog.cloudflare.com/introducing-api-shield/)

## Books

* [Sergey Konstantinov The API](https://twirl.github.io/The-API-Book/docs/API.en.html)
* [Your API Is Bad](https://leanpub.com/yourapiisbad)

## Courses / Videos

* [How To Design A Good API and Why it Matters](https://youtu.be/aAb7hSCtvGw)
* [Postman Beginner's Course - API Testing](https://youtu.be/VywxIQ2ZXw4)
* [Python API Development - Comprehensive Course for Beginners](https://youtu.be/0sOvCWFmrtA)
* [Postman. Тестирование API](https://youtu.be/rEgPhgPUZFQ)

## Links

* [API list](https://apilist.fun/) - A collective list of APIs
* [Rusty's API Design Manifesto](http://sweng.the-davies.net/Home/rustys-api-design-manifesto)
* [Postman](https://www.postman.com/)
* [Public APIs](https://public-apis.io/)
* [APIs guru](https://apis.guru/)
* [RapiDoc](https://mrin9.github.io/RapiDoc/) - Create beautiful, customizable, interactive API documentation from OpenAPI Specification
* [Rapid API](https://rapidapi.com/) - API Platform
* [Google APIs](https://google.aip.dev/)
* [appwrite](https://appwrite.io/) - is a self-hosted solution that provides developers with a set of easy-to-use and integrate REST APIs to manage their core backend needs.
* [M3O](https://m3o.com/) - public APIs
* [DevDocs](https://devdocs.io/) - DevDocs combines multiple API documentations in a fast, organized, and searchable interface. Here's what you should know before you start
* [gnostic](https://github.com/google/gnostic) - A compiler for APIs described by the OpenAPI Specification with plugins for code generation and other API support tasks
* [apistar](https://github.com/encode/apistar) - The Web API toolkit
* [schemathesis](https://github.com/schemathesis/schemathesis) - A modern API testing tool for web applications built with Open API and GraphQL specifications
* [API Design Cheat Sheet](https://github.com/RestCheatSheet/api-cheat-sheet)
* [slate](https://github.com/slatedocs/slate) - Beautiful static documentation for your API
* [msw](https://github.com/mswjs/msw) - Seamless REST/GraphQL API mocking library for browser and Node.js
* [hoppscotch](https://github.com/hoppscotch/hoppscotch) - Open source API development ecosystem
* [apisix](https://github.com/apache/apisix) - The Cloud-Native API Gateway
* [hoverfly](https://github.com/SpectoLabs/hoverfly) - Lightweight service virtualization/API simulation tool for developers and testers
* [roapi](https://github.com/roapi/roapi) - Create full-fledged APIs for static datasets without writing a single line of code
* [Unofficial APIs](https://github.com/Rolstenhouse/unofficial-apis)
* [Public APIs](https://github.com/public-apis/public-apis)
