# Web Dev Tutorials

{% content-ref url="/pages/BB4FVO3mYvpXFogGrIfT" %}
[Node](/my-docs/resources/web-dev-tutorials/node.md)
{% endcontent-ref %}

## API

[Linear API](https://developers.linear.app/docs) is interestingly made. [Stripe](https://stripe.com/docs/api) has nice API docs too. Currently looking into [Apiker](https://github.com/hodgef/apiker) for releasing my APIs.

### Other

* [OpenAI API](https://openai.com/api/)
* [Google Drive](https://github.com/prasmussen/gdrive)
* [GitHub](https://developer.github.com/v3/)
* [GitHub Go](https://github.com/shurcooL/githubv4) - Client library for accessing GitHub GraphQL API.
* [GitHub Swift](https://github.com/Einstore/GitHubKit)
* [GitHub JS](https://github.com/octokit/core.js) - Extendable client for GitHub's REST & GraphQL APIs.
* [GitHub JS 2](https://github.com/jviotti/ghrequest) - GitHub API HTTP client with cache support to get the most of your rate limit.
* [GitHub JS 3](https://github.com/octokit/octokit.js) - All-batteries-included GitHub SDK for Browsers, Node.js, and Deno.
* [GitHub JS REST](https://github.com/octokit/rest.js)
* [GitHub Rust](https://github.com/softprops/hubcaps)
* [GitHub Rust 2](https://github.com/XAMPPRocky/octocrab)
* [GitHub Swift](https://github.com/mdiep/Tentacle) - Swift framework for the GitHub API.
* [GitHub Swift 2](https://github.com/serhii-londar/GithubAPI)
* [GitHub Swift 3](https://github.com/nerdishbynature/octokit.swift) - Swift API Client for GitHub and GitHub Enterprise.
* [GitHub Python](https://github.com/PyGithub/PyGithub)
* [GitHub Julia](https://github.com/JuliaWeb/GitHub.jl)
* [GitHub OCaml](https://github.com/tmcgilchrist/ocaml-gitlab)
* [GitHub Haskell](https://github.com/phadej/github)
* [GitHub Gists Python](https://github.com/softvar/simplegist) - Advanced python wrapper for Github Gist API.
* [Hacker News](https://github.com/HackerNews/API) - Documentation and Samples for the Official HN API.
* [Dropbox](https://github.com/dropbox/dbxcli) - Command line client for Dropbox built using the Go SDK.
* [Dropbox JS](https://github.com/dropbox/dropbox-sdk-js) - Dropbox JavaScript SDK.
* [Twitter TS](https://github.com/twitterjs/twitter.js)
* [Twitter Go](https://github.com/mattn/twty)
* [Twitter Go 2](https://github.com/dghubble/go-twitter) - Go Twitter REST and Streaming API v1.1
* [Twitter Go 3](https://github.com/bloveless/tweetgo)
* [Twitter Go 4](https://github.com/sivchari/gotwtr)
* [Twitter Ruby](https://github.com/nov/twitter_oauth2) - Twitter OAuth 2.0 Client Library in Ruby.
* [Twitter Swift](https://github.com/mattdonnelly/Swifter)
* [Twitter Python](https://github.com/ryanmcgrath/twython) - Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs.
* [Twitter Python 2](https://github.com/tweepy/tweepy)
* [Twitter Python 3](https://github.com/geduldig/TwitterAPI)
* [Twitter Python 4](https://github.com/ChrisVojnich/twerk_df)
* [Twitter Rust](https://github.com/egg-mode-rs/egg-mode)
* [Twitter R](https://github.com/ropensci/rtweet)
* [Twitter Node](https://github.com/PLhery/node-twitter-api-v2) - Strongly typed, full-featured, light, versatile yet powerful Twitter API v1.1 and v2 client for Node.js.
* [Twitter Node 2](https://github.com/ttezel/twit) - Twitter API Client for node (REST & Streaming API).
* [Twitter Node 3](https://github.com/FeedHive/twitter-api-client)
* [Twitter Node 4](https://github.com/yarnaimo/twimo-v2) - Twitter API v2 client for TypeScript auto-generated from official OpenAPI specification.
* [Twitter Lite JS](https://github.com/draftbit/twitter-lite) - Tiny, full-featured, flexible client / server library for the Twitter API.
* [Twitter Haskell](https://github.com/himura/twitter-conduit)
* [Twitter API proxy server using gRPC](https://github.com/Pantonshire/goldcrest)
* [Twitter profile dumper (downloader) with authorization swapping](https://github.com/snovvcrash/tweetlord)
* [Twitter Post Fetcher](https://github.com/jasonmayes/Twitter-Post-Fetcher) - Fetch your twitter posts without using the new Twitter.
* [arxiv-graphql](https://github.com/prabhuomkar/arxiv-graphql) - GraphQL API for arXiv: e-print service by Cornell University.
* [Sheetfu](https://github.com/socialpoint-labs/sheetfu) - Python library to interact with Google Sheets V4 API.
* [Cloudflare](https://github.com/cloudflare/cloudflare-rs) - Rust library for the Cloudflare v4 API.
* [GIPHY SDKs](https://github.com/Giphy/giphy-js)
* [OpenAI JS](https://github.com/Njerschow/openai-api) - Tiny client module for the openAI API.
* [Notion JS](https://github.com/dragonman225/notionapi-agent) - Unofficial Node.js API client for Notion.
* [Notion TS](https://github.com/cstrnt/notion-api) - Unofficial Notion.so Wrapper.
* [Notion Go](https://github.com/kjk/notionapi)
* [Notion Python](https://github.com/jamalex/notion-py) - Unofficial Python API client for Notion.so.
* [VK Go](https://github.com/SevereCloud/vksdk)
* [VK Python](https://github.com/voronind/vk)
* [VK Kotlin](https://github.com/Anton3/kotlin-vk-api)
* [VK API JSON Schema](https://github.com/VKCOM/vk-api-schema)
* [Google Cloud](https://github.com/googleapis/google-cloud-python) - Google Cloud Client Library for Python.
* [Reddit Python](https://github.com/praw-dev/praw)
* [Reddit Go](https://github.com/vartanbeno/go-reddit)
* [Reddit Go 2](https://github.com/turnage/graw)
* [Reddit Go 3](https://github.com/jzelinskie/geddit)
* [Reddit JS](https://github.com/feross/reddit) - Simple Reddit API client in JS.
* [Goodreads API Go](https://github.com/KyleBanks/goodreads)
* [SendGrid Go](https://github.com/sendgrid/sendgrid-go)
* [Fastly Go](https://github.com/fastly/cli) - CLI for interacting with the Fastly platform.
* [Slack Go 2](https://github.com/slack-go/slack)
* [Slack Go 3](https://github.com/lestrrat-go/slack) - Slack client for go.
* [Slash Go 4](https://github.com/htdvisser/slash) - Router for Slack's slash commands.
* [Slack Go 5](https://github.com/shomali11/slacker) - Slack Bot Framework in Go.
* [Stripe Go](https://github.com/stripe/stripe-go)
* [Stripe Rust](https://github.com/arlyon/async-stripe) - Asynchronous Rust API bindings for the Stripe HTTP API.
* [Star Wars API](https://swapi.co) - Nice for testing.
* [Google Spreadsheet NodeJS](https://github.com/theoephraim/node-google-spreadsheet) - Most popular Google Sheets API wrapper for JavaScript.
* [Airtable JS](https://github.com/Airtable/airtable.js)
* [Airtable Go](https://github.com/fabioberger/airtable-go)
* [Airtable Go 2](https://github.com/brianloveswords/airtable)
* [WikipediaKit](https://github.com/Raureif/WikipediaKit) - API Client Framework for Swift.
* [Zendesk Go](https://github.com/nukosuke/go-zendesk) - Zendesk API client library for Go.
* [Cantine](https://github.com/caio/cantine) - Cooking recipe search JSON API with over a million recipes.
* [Binding and CLI generator for all google APIs](https://github.com/google-apis-rs/generator)
* [CartQL](https://cartql.com) - GraphQL Shopping Cart API.
* [Binance Go](https://github.com/pdepip/go-binance)
* [Stream](https://getstream.io) - Enterprise Grade Feed & Chat APIs.
* [Telegraph API](https://telegra.ph/api) - Minimalist publishing tool that allows you to create richly formatted posts and push them to the Web in just a click.
* [Intercom Node](https://github.com/intercom/intercom-node) - Node.js bindings for the Intercom API.
* [Pocket Export](https://github.com/karlicoss/pockexport) - Export/access your Pocket data, including highlights.
* [Pocket Python](https://github.com/tapanpandita/pocket)
* [AssemblyAI](https://www.assemblyai.com) - Top Rated API for Speech-to-Text.
* [Apple News API Client](https://github.com/Robert-Fairley/apple-news-client)
* [Digital Ocean Go](https://github.com/digitalocean/godo) - Go client library for accessing the DigitalOcean V2 API.
* [Digital Ocean Python](https://github.com/koalalorenzo/python-digitalocean)
* [WhatsApp TS](https://github.com/adiwajshing/Baileys)
* [WhatsApp Go](https://github.com/Rhymen/go-whatsapp) - WhatsApp Web API.
* [Facebook Graph API SDK Go](https://github.com/huandu/facebook)
* [Trello Go](https://github.com/adlio/trello) - Trello API wrapper for Go.
* [Gumroad Node](https://github.com/noahbuscher/gumnode)
* [LinkedIn Node](https://github.com/eilonmore/linkedin-private-api)
* [Gophercloud Go](https://github.com/gophercloud/gophercloud) - OpenStack Go SDK.
* [AWS SDK Rust](https://github.com/rusoto/rusoto)
* [Spotify TS](https://github.com/tspotify/tspotify)
* [Spotify TS 2](https://github.com/backtrackapp/spotify.js)
* [Spotify Go](https://github.com/zmb3/spotify)
* [Spotify GraphQL](https://github.com/wittydeveloper/spotify-graphql) - GraphQL schema for Spotify WebAPI.
* [Spotify Python](https://github.com/plamere/spotipy)
* [Spotify Rust](https://github.com/librespot-org/librespot) - Open Source Spotify client library.
* [Spotify Rust 2](https://github.com/plietar/librespot)
* [Spotify iOS SDK](https://github.com/spotify/ios-sdk)
* [Spotify Swift](https://github.com/Peter-Schorn/SpotifyAPI)
* [Apple Music Go](https://github.com/minchao/go-apple-music)
* [Gfycat Python](https://github.com/ankeshanand/py-gfycat)
* [TikTok Python](https://github.com/davidteather/TikTok-Api) - Unofficial API.
* [Apple Music Go](https://github.com/minchao/go-apple-music)
* [Interactive Brokers Go](https://github.com/gofinance/ib)
* [Google News Python](https://github.com/kotartemiy/pygooglenews)
* [TensorFlow Rust](https://github.com/tensorflow/rust) - Rust language bindings for TensorFlow.
* [libgit2 Rust](https://github.com/rust-lang/git2-rs) - libgit2 bindings for Rust.
* [LLVM Rust](https://github.com/zshipko/llama) - Friendly LLVM library for Rust.
* [Instagram Python](https://github.com/adw0rd/instagrapi) - Fastest and powerful Python library for Instagram Private API.
* [SwiftyInsta](https://github.com/TheM4hd1/SwiftyInsta) - Instagram Private API Swift.
* [Instagram Private API in Python](https://github.com/ping/instagram_private_api)
* [Instagram Scraper Python](https://github.com/realsirjoe/instagram-scraper) - Scrapes medias, likes, followers, tags and all metadata.
* [Swiftagram](https://github.com/sbertix/Swiftagram) - Modern Swift wrapper for Instagram Private API.
* [Instagram Private Web API client](https://github.com/jlobos/instagram-web-api)
* [InstaLooter](https://github.com/althonos/InstaLooter) - API-less Instagram pictures and videos downloader.
* [Fastly Go](https://github.com/fastly/go-fastly)
* [Linear GraphQL API](https://github.com/linearapp/linear/blob/master/docs/API.md)
* [SpaceX API](https://github.com/r-spacex/SpaceX-API) - Open Source REST API for rocket, core, capsule, pad, and launch data.
* [GitLab Node](https://github.com/jdalrymple/gitbeaker) - GitLab API NodeJS library with full support of all the Gitlab API services.
* [GitLab Go](https://github.com/xanzy/go-gitlab)
* [GitLab Go 2](https://github.com/profclems/glab)
* [N26 Go](https://github.com/nhatthm/n26api)
* [GCP Haskell](https://github.com/brendanhay/gogol) - Comprehensive Google Services SDK for Haskell.
* [Robintrack](https://github.com/Ameobea/robintrack) - Scrapes the Robinhood API to retrieve + store popularity and price data. ([Web](http://robintrack.net))
* [OpenAI API](https://beta.openai.com) ([HN](https://news.ycombinator.com/item?id=23489653))
* [Tesla Swift](https://github.com/jonasman/TeslaSwift)
* [Wayback Machine Python](https://github.com/edgi-govdata-archiving/wayback)
* [Medium API](https://github.com/Medium/medium-api-docs)
* [Backblaze Go](https://github.com/kurin/blazer)
* [Paddle Go](https://github.com/Fakerr/go-paddle)
* [PyTrends](https://github.com/GeneralMills/pytrends) - Unofficial API for Google Trends.
* [Azure Python](https://github.com/Azure/azure-rest-api-specs)
* [Typeform JS SDK](https://github.com/Typeform/js-api-client)
* [Twitch GraphQL](https://github.com/ColeWalker/twitch-graphql)
* [Finage](https://docs.finage.co.uk/#/) - Stock,Currency and Crypto Real-Time API.
* [Vonage API](https://developer.nexmo.com) - Everything you need to build connected applications. ([Code](https://github.com/Nexmo/nexmo-developer))
* [Bing Web Search API](https://azure.microsoft.com/en-us/services/cognitive-services/bing-web-search-api/)
* [TalkJS](https://talkjs.com) - Chat API and Javascript SDK for websites and apps.
* [Exchangerate.host](https://exchangerate.host/#/) - Free API service for crypto and foreign exchange rates. ([HN](https://news.ycombinator.com/item?id=23917210))
* [Rick and Morty API](https://github.com/afuh/rick-and-morty-api) - RESTful and GraphQL API based on the television show Rick and Morty.
* [Dog API](https://dog.ceo/dog-api/)
* [Square Node](https://github.com/square/square-nodejs-sdk) ([Release](https://developer.squareup.com/blog/announcing-the-new-square-node-js-sdk/))

### Notes

* [API should be only sending values it actually has or at least not null but same type values: e.g. items array should never turn null even if empty but rather an empty array.](https://twitter.com/oleg008/status/1444223180185481217)
* [APIs should be built around the needs of the consumers, not the providers](https://twitter.com/andrewingram/status/1446055084773740545)

### Links

* [Transposit](https://www.transposit.com) - API composition platform.
* [Postwoman](https://github.com/liyasthomas/postwoman) - API request builder - A free, fast, and beautiful alternative to Postman.
* [Build an external api with auth using Traefik and Go](https://rogerwelin.github.io/traefik/api/go/auth/2019/08/19/build-external-api-with-trafik-go.html)
* [Public APIs](https://github.com/public-apis/public-apis) - Collective list of free APIs for use in software and web development. ([HN](https://news.ycombinator.com/item?id=28232369))
* [Kong](https://konghq.com) - Connect all your microservices and APIs with the industry’s most performant, scalable and flexible API platform.
* [Amazon API Gateway Serverless Developer Portal](https://github.com/awslabs/aws-api-gateway-developer-portal) - Application that you use for developer engagement by making your API Gateway APIs available to your customers through self-service discovery of those APIs.
* [Stone](https://github.com/dropbox/stone) - Write your APIs in stone.
* [OpenAPI Specification](https://www.openapis.org) - Standard for describing modern APIs. ([Code](https://github.com/OAI/OpenAPI-Specification))
* [OpenAPI Compliance Proxy](https://github.com/EXXETA/openapi-cop) - Validates requests and responses against an OpenAPI document.
* [Stoplight Studio](https://stoplight.io/studio) - Design APIs 10x faster with our free OpenAPI editor. Prototype and share your API within minutes. ([Code](https://github.com/stoplightio/studio))
* [WorkOS](https://workos.com) - APIs for enterprise features like SSO/SAML. ([HN](https://news.ycombinator.com/item?id=22607402))
* [NoCodeAPI](https://nocodeapi.com) - Quickly set-up third party application APIs.
* [Pipedream](https://pipedream.com) - Develop any workflow, based on any trigger. Workflows are code, which you can run for free. ([Code](https://github.com/PipedreamHQ/pipedream))
* [An Introduction to APIs](https://zapier.com/learn/apis/)
* [Paragon](https://www.useparagon.com) - Visually create production-ready API workflows. ([HN](https://news.ycombinator.com/item?id=22813834))
* [Saasify](https://saasify.sh) - Handles all of the SaaS boilerplate, including user accounts, subscription billing, developer docs, and a polished marketing site.
* [Hoverfly](https://github.com/SpectoLabs/hoverfly) - Lightweight, open source API simulation tool. Using Hoverfly, you can create realistic simulations of the APIs your application depends on.
* [MetaMate](https://github.com/metamatex/metamate) - Open-source semantic service bus and provides you an api for everything. ([Web](https://metamate.io))
* [Unofficial APIs list](https://github.com/Rolstenhouse/unofficial-apis)
* [OpenAutoComplete](https://github.com/openautocomplete/openautocomplete) - Shell-agnostic, declarative CLI autocomplete specification.
* [Best practices for building SDKs for APIs (2019)](https://www.moesif.com/blog/technical/sdks/Best-Practices-for-Building-SDKs-for-APIs/)
* [Ask HN: Best practices (and examples) for designing client libraries for APIs? (2020)](https://news.ycombinator.com/item?id=23283551)
* [apigentools](https://github.com/DataDog/apigentools) - Generate API clients from OpenAPI v3 specification for multiple languages using openapi-generator.
* [OpenAPI Generator](https://openapi-generator.tech) - Generate clients, servers, and documentation from OpenAPI documents. ([Code](https://github.com/OpenAPITools/openapi-generator))
* [Lessons learned designing APIs (2019)](https://menduz.com/posts/2019.05.07)
* [Ask HN: Best Way to Mock APIs in 2020?](https://news.ycombinator.com/item?id=23515857)
* [Paperclip](https://github.com/wafflespeanut/paperclip) - OpenAPI tooling for Rust.
* [Standard Library](https://stdlib.com) - Design with APIs, prototype, and release integrations faster with Autocode.
* [APIs are about Policy (2019)](https://acko.net/blog/apis-are-about-policy/)
* [APIs with GitHub](https://github.com/mddanishyusuf/json-apis-with-github) - Simple tool to make JSON APIs for quick use for your basic projects. Your APIs are hosted on GitHub as JSON file that's simple.
* [Akita Software](https://www.akitasoftware.com) - Helping people get visibility into their software through their APIs.
* [A personal API (2019)](https://blog.webb.page/2019/a-personal-api)
* [The API Economy](https://a16z.com/tag/the-api-economy/)
* [Mock Service Worker (MSW)](https://github.com/mswjs/msw) - Seamless REST/GraphQL API mocking library for browser and Node. ([Web](https://mswjs.io)) ([Examples](https://github.com/mswjs/examples)) ([GitHub](https://github.com/mswjs))
* [Rusty's API Design Manifesto](http://sweng.the-davies.net/Home/rustys-api-design-manifesto)
* [Top 10 Social Media APIs for Developers (2020)](https://www.ayrshare.com/top-10-social-media-apis-for-developers/)
* [Slate](https://github.com/slatedocs/slate) - Beautiful static documentation for your API. ([HN](https://news.ycombinator.com/item?id=24196121))
* [The land before modern APIs (2020)](https://increment.com/apis/land-before-modern-apis/)
* [How should we build the APIs of tomorrow? (2020)](https://increment.com/apis/how-we-should-build-apis-tomorrow/) ([HN](https://news.ycombinator.com/item?id=24332418))
* [Top Tools to Make Debugging APIs Easier (2020)](https://blog.bearer.sh/api-debugging-tools/)
* [Bearer.sh](https://www.bearer.sh) - Monitor, track performance, detect anomalies, and fix issues on your critical API usage.
* [APIs You Won't Hate](https://apisyouwonthate.com) - Community that cares about API design and development.
* [Ask HN: Suggestions for books about API design? (2020)](https://news.ycombinator.com/item?id=24383180)
* [How To Design A Good API and Why it Matters (2007)](https://www.youtube.com/watch?v=aAb7hSCtvGw)
* [Regarding Semantic Versioning (2020)](https://www.danielmoch.com/posts/2020/09/regarding-semantic-versioning/) ([Lobsters](https://lobste.rs/s/i8bcst/regarding_semantic_versioning))
* [Swagger UI](https://github.com/swagger-api/swagger-ui) - Collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
* [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) - Contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition.
* [Catch Breaking Changes by Diffing API Traffic (2020)](https://www.akitasoftware.com/blog/2020/9/22/faster-better-earlier-catch-breaking-changes-by-diffing-api-behavior) ([HN](https://news.ycombinator.com/item?id=24561119))
* [Cloudflare API Shield (2020)](https://blog.cloudflare.com/introducing-api-shield/)
* [Abstract API](https://www.abstractapi.com) - Suite of fast, accurate, & robust APIs.
* [Stargate](https://github.com/stargate/stargate) - Open source API framework for data. Data gateway deployed between client applications and a database. ([Web](https://stargate.io)) ([Hello GraphQL; meet Cassandra](https://stargate.io/2020/10/05/hello-graphql.html))
* [API pagination design (2020)](https://solovyov.net/blog/2020/api-pagination-design/) ([Lobsters](https://lobste.rs/s/isysq1/api_pagination_design))
* [Insomnia](https://insomnia.rest) - API Design Platform and REST Client. ([Code](https://github.com/Kong/insomnia))
* [Apiary](https://apiary.io) - Platform for API Design, Development & Documentation. ([How Apiary Works](https://apiary.io/how-apiary-works))
* [Customizing API Documentation with Next.JS, Tailwind CSS, and ReadMe (2020)](https://scale.com/blog/quick-start-guide-to-customized-api-documentation)
* [OpenAPI 3 Generator](https://github.com/egorsmkv/openapi3-generator) - Faster way to prototype your APIs using OpenAPI 3 and Swagger UI. ([HN](https://news.ycombinator.com/item?id=24867853))
* [Hoppscotch](https://hoppscotch.io) - Free, fast and beautiful API request builder. ([Code](https://github.com/hoppscotch/hoppscotch))
* [Optic](https://useoptic.com) - APIs that Document and Test Themselves. ([Code](https://github.com/opticdev/optic))
* [Pizzly](https://github.com/Bearer/Pizzly/) - Simplest, fastest way to integrate your app with OAuth APIs. ([Web](https://www.bearer.sh/pizzly-oauth-integration))
* [Swell](https://github.com/open-source-labs/Swell) - API development tool that enables developers to test endpoints served over streaming technologies including Server-Sent Events (SSE), WebSockets, HTTP2, GraphQL and gRPC. ([Web](https://www.getswell.io))
* [API design is stuck in the past (2020)](https://buf.build/blog/api-design-is-stuck-in-the-past) ([HN](https://news.ycombinator.com/item?id=25085276))
* [APISprout](https://github.com/danielgtaylor/apisprout) - Lightweight, blazing fast, cross-platform OpenAPI 3 mock server with validation.
* [List of Great Product API Docs (2020)](https://twitter.com/steipete/status/1335135761197375491)
* [Bitmasks for nicer APIs (2020)](https://www.arp242.net/bitmask.html)
* [Apache APISIX](https://github.com/apache/apisix) - Dynamic, real-time, high-performance API gateway, based on the Nginx library and etcd. ([Web](https://apisix.apache.org))
* [APIsFinder](https://www.apisfinder.com) - Find Over 680 public and open REST APIs for developers. ([Code](https://github.com/Charlie85270/APIFinder))
* [APIs All the Way Down (2020)](https://notboring.substack.com/p/apis-all-the-way-down)
* [What's good about offset pagination; designing parallel cursor-based web APIs](https://brandur.org/fragments/offset-pagination) ([HN](https://news.ycombinator.com/item?id=25623125))
* [The API Book](https://twirl.github.io/The-API-Book/docs/API.en.html) ([Code](https://github.com/twirl/The-API-Book))
* [API-Less Architecture](https://github.com/apilessdev/apiless)
* [Mocker API](https://github.com/jaywcjlove/mocker-api) - Creates mocks for REST APIs. It will be helpful when you try to test your application without the actual REST API server.
* [Building DigitalOcean's API Gateway (2021)](https://mauricio.github.io/2021/01/14/building-digitaloceans-api-gateway.html) ([HN](https://news.ycombinator.com/item?id=25800237))
* [AWS Smithy](https://awslabs.github.io/smithy/) - Language for defining services and SDKs. ([Code](https://github.com/awslabs/smithy)) ([HN](https://news.ycombinator.com/item?id=27081084))
* [Smithy Rust](https://github.com/awslabs/smithy-rs) - Smithy code generators for Rust.
* [DevDocs](https://devdocs.io) - API Documentation Search. ([Code](https://github.com/freeCodeCamp/devdocs))
* [Metapine](https://metapine.com) - Discover new & interesting APIs.
* [Hydra: Hypermedia-Driven Web APIs](https://github.com/HydraCG/Specifications)
* [A Theory of Robust API Knowledge (2021)](https://faculty.washington.edu/ajko/papers/Thayer2021TheoryOfRobustAPIKnowledge.pdf)
* [Public APIs](https://public-apis.io) - Directory of Free Public & Open Rest APIs.
* [swagger-typescript-api](https://github.com/acacode/swagger-typescript-api) - TypeScript API generator via Swagger scheme.
* [Pusher](https://pusher.com) - Bi-directional hosted APIs that are flexible, scalable and easy to use. ([GitHub](https://github.com/pusher))
* [Mockoon](https://mockoon.com) - Create mock APIs in seconds. ([Code](https://github.com/mockoon/mockoon))
* [ROAPI](https://github.com/roapi/roapi) - Create full-fledged APIs for static datasets without writing a single line of code. ([Docs](https://roapi.github.io/docs/index.html))
* [Autocode](https://autocode.com) - Instant endpoints for anything.
* [HN: Google’s copying of the Java SE API was fair use (2021)](https://news.ycombinator.com/item?id=26699106)
* [Using Postman and APIMatic to Document APIs and Generate Client Libraries (2021)](https://blog.apimatic.io/curating-postman-collections-to-generate-quality-api-documentation-sdks-9bafc2a901fc)
* [Read from databases, write to APIs (2021)](https://acco.io/read-from-dbs) ([Lobsters](https://lobste.rs/s/lyeekg/read_from_databases_write_apis))
* [Stoplight Elements](https://stoplight.io/open-source/elements/) - Beautiful API documentation powered by OpenAPI and Markdown. ([Code](https://github.com/stoplightio/elements))
* [API Versioning Has No "Right Way" (2017)](https://apisyouwonthate.com/blog/api-versioning-has-no-right-way)
* [API Specification Toolbox](http://api.specificationtoolbox.com) - Project to try and define the world of API specifications. ([Code](https://github.com/api-specification-toolbox/toolbox))
* [API Blueprint](https://apiblueprint.org) - Powerful high-level API description language for web APIs. ([Code](https://github.com/apiaryio/api-blueprint))
* [4 essential characteristics of successful APIs (2021)](https://opensource.com/article/21/5/successful-apis)
* [The Architecture of Uber's API gateway (2021)](https://eng.uber.com/architecture-api-gateway/)
* [Small things that make APIs a little bit better for its users (2021)](https://edmz.org/personal/2021/05/27/small_things_that_make_apis_a_little_bit_better.html) ([Lobsters](https://lobste.rs/s/7bak6y/small_things_make_apis_litte_bit_better))
* [AIP Improvement Proposals](https://google.aip.dev) - Focused design documents for flexible API development. How Google does APIs. ([Code](https://github.com/aip-dev/google.aip.dev))
* [The state of Stripe API library codegen (2021)](https://brandur.org/fragments/stripe-codegen)
* [API Federation: growing scalable API landscapes (2021)](https://engineering.salesforce.com/api-federation-growing-scalable-api-landscapes-a0f1f0dad506)
* [Zanzibar](https://github.com/uber/zanzibar) - Build system & configuration system to generate versioned API gateways.
* [API Design Cheat Sheet](https://github.com/RestCheatSheet/api-cheat-sheet)
* [M3O](https://m3o.com) - Open source AWS alternative. Programmable building blocks for everyday use. ([HN](https://news.ycombinator.com/item?id=27619015)) ([Code](https://github.com/m3o/m3o)) ([HN](https://news.ycombinator.com/item?id=28851167))
* [Notes on streaming large API responses](https://simonwillison.net/2021/Jun/25/streaming-large-api-responses/) ([HN](https://news.ycombinator.com/item?id=27632949))
* [How to Cancel Pending API Requests to Show Correct Data (2021)](https://css-tricks.com/how-to-cancel-pending-api-requests-to-show-correct-data/)
* [Give me /events, not webhooks (2021)](https://blog.syncinc.so/events-not-webhooks) ([Lobsters](https://lobste.rs/s/3xrosf/give_me_events_not_webhooks)) ([HN](https://news.ycombinator.com/item?id=27823109))
* [Cats](https://github.com/Endava/cats) - Generate tests at runtime based on OpenApi specs.
* [Portman](https://github.com/apideck-libraries/portman) - Port OpenAPI Spec to Postman Collection, with contract & variation tests included.
* [RapidAPI](https://rapidapi.com) - Next Generation API Platform. ([Twitter](https://twitter.com/Rapid_API)) ([How it started](https://twitter.com/Rapid_API/status/1417516333210734602))
* [Portman CLI 1.0 - Better API testing (2021)](https://blog.apideck.com/announcing-portman)
* [Test and Deploy your APIs Using These Open Source Tools (2021)](https://www.appsmith.com/blog/test-and-deploy-your-apis-using-these-open-source-tools)
* [How to Hack APIs in 2021 by Hakluke and Farah Hawa (2021)](https://labs.detectify.com/2021/08/10/how-to-hack-apis-in-2021/) ([HN](https://news.ycombinator.com/item?id=28127098))
* [JSON:API](https://jsonapi.org) - Specification for building APIs in JSON. ([Code](https://github.com/json-api/json-api))
* [API Tokens: A Tedious Survey](https://fly.io/blog/api-tokens-a-tedious-survey/) ([HN](https://news.ycombinator.com/item?id=28295348))
* [Adding Optimistic Locking to an API (2021)](https://www.moderntreasury.com/journal/designing-ledgers-with-optimistic-locking) ([HN](https://news.ycombinator.com/item?id=28314623))
* [Data-first API design (2021)](https://cuddly-octo-palm-tree.com/posts/2021-08-29-data-api/)
* [Schemathesis](https://github.com/schemathesis/schemathesis) - Modern API testing tool for web applications built with Open API and GraphQL specifications.
* [So you want to mock an API (2021)](https://www.getsynth.com/docs/blog/2021/09/07/mocking-a-production-api)
* [API Star](https://github.com/encode/apistar) - Toolkit for working with OpenAPI or Swagger schemas. ([Docs](https://docs.apistar.com))
* [RapiDoc](https://mrin9.github.io/RapiDoc/) - Custom-Element for OpenAPI Spec. Create beautiful, customizable, interactive API documentation from OpenAPI Specification. ([Code](https://github.com/mrin9/RapiDoc))
* [Appwrite](https://appwrite.io) - Open-Source End-to-End Backend Server. ([Code](https://github.com/appwrite/appwrite)) ([Demos for Functions](https://github.com/appwrite/demos-for-functions)) ([Getting Started With Appwrite's Apple SDK](https://www.youtube.com/watch?v=Bk_OFaWDqB8))
* [gnostic](https://github.com/google/gnostic) - Go command line tool which converts JSON and YAML OpenAPI descriptions to and from equivalent Protocol Buffer representations.
* [Postman](https://www.postman.com) - API platform for building and using APIs. ([GitHub](https://github.com/postmanlabs)) ([Tweet](https://twitter.com/yongfook/status/1444866225469726724))
* [Blobr](https://www.blobr.io) - Get your branded API portal in minutes.
* [orval](https://orval.dev) - Generate client with appropriate type-signatures (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in YAML or JSON formats. ([Code](https://github.com/anymaniax/orval))
* [Exploring Programmers' API Learning Processes (2021)](https://neverworkintheory.org/2021/10/14/api-learning-processes.html)
* [Opinionated OpenAPI v3 code generator for Go](https://github.com/contiamo/openapi-generator-go)
* [From feature request to API design (2019)](https://francoischalifour.com/from-feature-request-to-api-design/) - Describe the process of creating an API based on specific users' needs.
* [APIs.guru](https://apis.guru) - Directory of API definitions in OpenAPI (or Swagger) 2.0 and 3.x formats. ([Code](https://github.com/APIs-guru/openapi-directory)) ([GitHub](https://github.com/APIs-guru))
* [Building the Brex API (2021)](https://building.brex.com/building-the-brex-api-52dcb26cacc8) ([HN](https://news.ycombinator.com/item?id=28947928))
* [Anatomy of a Great API Library (2021)](https://brandur.org/nanoglyphs/019-api-libraries)
* [Making retries safe with idempotent APIs](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/) ([Tweet](https://twitter.com/marknca/status/1458066748322684932))
* [Backpressure And The Replicator (2021)](https://github.com/couchbase/couchbase-lite-core/wiki/Backpressure) ([Lobsters](https://lobste.rs/s/x9kwgp/backpressure_replicator))
* [The Little Manual of API Design (2008)](https://www.cs.vu.nl/~jbe248/api-design.pdf)
* [Remote Execution API](https://github.com/bazelbuild/remote-apis) - API that, at its most general, allows clients to request execution of binaries on a remote system.
* [SwagGen](https://github.com/yonaskolb/SwagGen) - OpenAPI/Swagger 3.0 Parser and Swift code generator.
* [6 API lessons learned over the last 15 years by AWS (2021)](https://twitter.com/jeremy_daly/status/1466462794610470914)
* [Don’t Build A General Purpose API To Power Your Own Front End (2021)](https://max.engineer/server-informed-ui)
* [Docusaurus OpenAPI](https://github.com/cloud-annotations/docusaurus-plugin-openapi) - OpenAPI plugin for generating API reference docs in Docusaurus v2.
* [Kin OpenAPI](https://github.com/getkin/kin-openapi) - OpenAPI 3.0 implementation for Go (parsing, converting, validation, and more).
* [Varlink](https://varlink.org) - APIs – plain-text, type-safe, discoverable, self-documenting, remotable. ([GitHub](https://github.com/varlink)) ([Go Code](https://github.com/varlink/go))
* [Continuous API management](https://dh7.github.io/dh7%20github%20io%2011f133e867094e29bc5d0107782bb960/Continuous%20API%20management%203e05a4a904c147d096247320366ddc3d.html)
* [The Light and Dark Side of the API Economy (2020)](https://www.swyx.io/api-economy/)
* [Prism](https://stoplight.io/open-source/prism/) - Open-Source HTTP Mock and Proxy Server. Turn any OpenAPI2/3 and Postman Collection file into an API server with mocking, transformations and validations. ([Code](https://github.com/stoplightio/prism))
* [Telefunc](https://telefunc.com) - Remote Functions. Instead of API. ([Code](https://github.com/vikejs/telefunc))
* [OpenAPI Generator CLI](https://github.com/OpenAPITools/openapi-generator-cli) - Allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec.
* [OpenAPI CLI toolset](https://github.com/Redocly/openapi-cli) - OpenAPI CLI toolbox with rich validation and bundling features.
* [Redocly](https://redoc.ly) - API docs you can be proud of. ([GitHub](https://github.com/Redocly))
* [Awesome API Security](https://github.com/arainho/awesome-api-security)
* [Documenting APIs](https://idratherbewriting.com/learnapidoc/) ([HN](https://news.ycombinator.com/item?id=29849822))
* [OpenAPI boilerplate](https://github.com/dgarcia360/openapi-boilerplate) - Multi-file boilerplate for Open API Specification.
* [dummy](https://github.com/go-dummy/dummy) - Run mock server based on API contract with one command. Written in Go.
* [Hook Slinger](https://github.com/rednafi/hook-slinger) - Generic service to send, retry, and manage webhooks.
* [API Guideline: Clarity at the point of use](https://www.swift.org/documentation/api-design-guidelines/#fundamentals)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bryan-guner.gitbook.io/my-docs/resources/web-dev-tutorials.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
