2,214 public APIs · 51 categories · 1,103 need no key · 943 allow CORS · fetched 2026-11-10 from public-apis (MIT).
Every entry is a row in a file that ships with the page. Nothing is fetched at runtime, so the app works with the network cut.
Why it exists
Every API directory is a list you read. But three questions decide whether an API is usable before you have written a line: does it need a key, can a browser call it at all (CORS), and is it HTTPS. Those are footnotes in most lists and filters here — and the filter is the product.
What it refuses to be
| Not | Because |
|---|---|
| a monitor | it never claims an API is up, fast, or still free today — it reports the source and the date it was fetched |
| a spec browser | it ships the directory, not 766 MB of OpenAPI definitions; it links to the documentation |
| a key store | it never asks for, holds or sends an API key |
| a network client | there is no fetch in it — the directory is in the page |
When it goes wrong
A filter it does not know is refused with the vocabulary it accepts rather than returned as an empty list — "nothing matches" and "you typed it wrong" are different answers, and the app can tell them apart. A pin that cannot be written says it was not kept. A corrupt pin file is reported with an excerpt and a reset, never shown as "you have no pins".
Take it with you
Single file, no build step, no CDN, no account. Download the page folder and open
index.html from disk — or grab the Windows EXE / Android APK from the
latest release.
Where the data comes from
the public-apis README table, MIT, fetched 2026-11-10. The curation (one row per name and host, auth and CORS normalised, advertising cells dropped rather than guessed at) is recorded in data/SOURCE.md.
Support the work
One person's work: no company, no ads, no tracking, no paid tier. If this saved you an afternoon, a contribution keeps the next one coming — any amount, or none.
UPI drsohilboi@ybl · Ko-fi · PayPal · Books · All projects · Email