Methodology
How we monitor
Every hour, a Cloudflare Worker sends one HTTP request to each tracked API's documented health endpoint. We record the HTTP status code, the response time, and whether the response matched the expected status. We retry once on timeout. Requests carry the user agent freeapi.watch/1.0 and respect documented rate limits.
How we rank
Category pages rank active APIs by a composite score:
score = 0.6 × uptime_30d + 0.3 × (1 − normalized_response_time) + 0.1 × free_tier_score
Where free_tier_score is set per API based on real friction:
- 1.0 — no key required
- 0.7 — free key, no credit card
- 0.3 — free key, credit card required
How we classify "dead" or "paid"
An API is marked dead when our checks consistently fail to reach it (typically over a stretch of 7+ days), and marked paid when its documented free tier is removed or requires payment. Reclassification is reviewed manually based on event history and reader reports.