FreeAPI.watch

Why the GitHub public-apis List Is Broken in 2026 (And What to Use Instead)

 ·  analysis

An audit of the 350k-star public-apis/public-apis repo against live HTTP checks: 6 APIs prominently listed are dead or paid, dozens more are flaky. The breadth-vs-freshness trade-off, with data.

I've been monitoring 81 free public APIs hourly for the past six months. In that time, the public-apis/public-apis repo on GitHub passed 350,000 stars and remained the single most-cited reference for 'find me a free API'. It is also, measurably, out of date.

This post isn't a teardown of the repo or its maintainers — public-apis is the result of years of community effort and is genuinely the right tool for discovery. It's a documented case for why discovery and verification are two different jobs, and why pointing a CI job at a markdown file isn't the same as pinging the actual endpoint.

The Six Dead-or-Paid APIs Worth Calling Out

Our /graveyard page tracks APIs that promised free access and either died or moved to paid since 2020. Six entries are particularly common in 'find a free X API' search results — including downstream lists that source from public-apis or its forks — and all six are unusable in 2026 as advertised.

  • Twitter API v1.1 (free tier) — Killed July 2023. The basic paid tier now starts at $100/month for read access. v1.1 endpoints return 401 or 403 immediately for any non-paid token. Replacement: there is no equivalent free Twitter/X read API. For social mentions, use Reddit's OAuth tier or RSS feeds.
  • Reddit API (free tier) — Effectively killed June 2023. The official API is still technically free up to 100 queries/minute for OAuth users, but bulk public read access is gone and rate limits make production use impractical. Replacement: Pushshift (community), RSS feeds, or the official OAuth tier for low-volume use.
  • Dark Sky API — Discontinued December 31, 2022 after Apple's 2020 acquisition. The endpoint returns 404. Replacement: Open-Meteo (better than Dark Sky on most metrics) or Tomorrow.io's free tier.
  • Yahoo Finance API (v7) — Officially discontinued 2017 but unofficial yfinance/yfin endpoints kept it alive for years. Yahoo blocks them aggressively in 2026 — any production use breaks within days. Replacement: AlphaVantage free tier, Polygon.io free tier, or StlouisFed (FRED) for macro data.
  • MetaWeather — Discontinued April 2022. Domain still resolves but returns 503. Replacement: Open-Meteo (same global coverage, more data) or 7Timer (community, lower polish).
  • Weather Underground API (free tier) — Sunset 2018-2019 after IBM acquisition. Personal weather station data is still accessible via the WU website but no public API. Replacement: Open-Meteo with /v1/forecast?past_days=N for recent history.

Why This Happens (And Why It Will Keep Happening)

Static markdown is the wrong data model for a fact that changes. The public-apis repo encodes 'is this API free in YYYY-MM' as a Markdown row. That row, once merged, persists forever unless someone files a PR to remove it. Removing entries is unrewarding work — it doesn't grow the catalog, doesn't ship a feature, doesn't generate stars — so removal PRs are rare and slow.

The economic pattern behind 'free' APIs that get killed is consistent: a startup launches with a generous free tier to build mindshare; the free tier becomes a non-trivial line item on the AWS bill; either monetisation pressure or acquisition pressure forces a shutdown. Dark Sky → Apple → killed. Twitter → Musk → paywalled. Yahoo Finance → already gone. The pattern continues — and any catalog that doesn't continuously verify will always be six months behind.

What Verification Looks Like in Practice

FreeAPI.watch's verification layer is conceptually simple: a Cloudflare Worker on a cron schedule hits each tracked API's documented health endpoint (or lightest functional endpoint when no health endpoint is documented), records the status code and response time, and persists the result to D1.

From that raw data, we derive: latest known status (alive / dead / broken now), 30-day rollup uptime, a composite score that combines uptime with response time and free-tier friction (no-key beats credit-card-required), and event detection for state changes (alive → dead, paid tier change announcements).

When an API dies, the corresponding /[slug] page shows the dead status immediately; within hours, the /graveyard page picks it up; within a day, anyone linking to that API's page from a search result sees the warning instead of a stale 'this is great' editorial.

The full pipeline runs on Cloudflare's free tier — Worker cron + D1 + Pages — at zero monetary cost. It's not magic. The reason the GitHub list doesn't do it is structural: a markdown file in a Git repo is not the right place for live data.

The Discovery → Verification Workflow

Here's the working pattern for finding a free API in 2026 that won't waste your weekend:

Step 1, discovery — Open the public-apis GitHub repo. Browse the category you need (Weather, Geocoding, Finance, etc.). Note 3-5 candidate APIs by name. Don't trust the free-tier description — it might be five years old.

Step 2, narrowing — For each candidate, check if FreeAPI.watch monitors it: search for the name on the homepage or browse /category/[name]. If we do, the API detail page tells you live status, 30-day uptime, current free-tier in our own words, paid alternatives, and a quick-start code snippet.

Step 3, verification — Before writing application code against the chosen API, curl the documented endpoint with the exact request shape you'll use. Check the response body matches what the docs claim. If the API requires a key, sign up and verify the key works on your first call. If anything looks off — wrong CORS headers, missing fields, 4xx for documented requests — pick a different candidate.

Step 4, monitoring — Once you ship, set up an uptime alert on the specific endpoints you depend on. Generic uptime tools (StatusGator, UptimeRobot, Cronitor) are fine. If you ship in our monitored categories, our /api/v1/ endpoint exposes the same data we use internally — you can subscribe to your specific APIs without standing up your own monitor.

What We're Not Saying

We're not saying the public-apis repo is bad. It's the largest open dataset of free APIs and it solves a real problem — discovery. We're saying the discovery and the verification jobs are different, and conflating them costs real engineering time when an API in the list turns out to be dead.

We're not saying you should always use FreeAPI.watch. We monitor six categories deeply (weather, news, finance, geocoding, cryptocurrency, public-data). If your category isn't one of those — APIs for transportation, music, games, government, or anything else — the GitHub list remains the best starting point, and you'll have to do the verification step manually.

We're not saying community-maintained lists shouldn't exist. We literally seed our catalog from public sources including the public-apis list. The point is that 'curated' and 'verified' are different words, and only one of them survives contact with a six-month-old free tier.

Further Reading

See /graveyard for the live tracking of dead and paid-tier APIs, /changelog for the rolling list of recent status changes across our 81 monitored APIs, and /blog/free-api-directories-compared-2026 for the longer comparison of the three major directories (GitHub list, publicapis.io, FreeAPI.watch).

If you maintain a downstream catalog that sources from public-apis and want to flag dead entries automatically, the /api/v1/ endpoint exposes our live status data and could be a useful upstream signal. Contact via /contact if you'd like coordination on that.

Frequently Asked Questions

Is the public-apis GitHub repo still useful in 2026?

Yes, for discovery. It remains the largest community-curated catalog of free public APIs and the starting point for almost every downstream directory. What it isn't useful for: deciding whether an API you found there is still alive, still free, and still worth integrating. The catalog is a markdown file — nothing in the repo verifies that yesterday's entries are still working today, and they often aren't.

How many APIs on the public-apis list are actually broken?

We can't measure the entire list from outside the repo, but the six we tracked into our /graveyard page (Dark Sky, Twitter v1.1, Reddit free, Yahoo Finance v7, MetaWeather, Weather Underground) were still findable in versions of the repo or its downstream forks as of mid-2026. Conservatively, somewhere between 10-25% of entries on any large community-maintained API list are degraded — dead, paid, rate-limited harder than documented, or pointing at moved endpoints.

What's the alternative for verification?

For any API you find on the GitHub list and seriously consider integrating: curl the documented endpoint yourself before writing application code. Check whether the docs URL still works. Look up the company's status page. If we monitor it on FreeAPI.watch, check the live status and 30-day uptime on the corresponding /[slug] page. If we don't monitor it, treat the list entry as a starting hypothesis, not a verified fact.

Are you trying to replace the public-apis GitHub repo?

No. The discovery problem is solved there; community contributions are valuable; the breadth is something a single maintainer can't replicate. FreeAPI.watch is a verification layer on top of the existing directory landscape, not a competitor. Discover on GitHub, verify here. That's the recommended workflow for anyone serious about integrating a free API in 2026.

← All articles