# shipapis — free APIs, health-checked where probed > A directory of 1037 free public APIs — 1035 on our probe schedule (317 probed with live health data), 720 queued or listed-only until checks land. Built to stop coding agents from hallucinating endpoints or building on dead providers. ## What this site is Probed APIs carry base_url, a working sample endpoint, copy-ready curl, auth mechanics, free-tier fine print, commercial_use (service terms) and data_license (data terms — different axes), sample response, and schema-change history. Catalogued-only rows have metadata and docs links but status "unmonitored" and null health until we probe them. Humans browse the same data at https://shipapis.dev. ## Agent quick start (canonical flow) 1. GET https://shipapis.dev/data/status.json — read monitoring.coverage (probed vs catalogued) and meta.data_tier. 2. GET https://shipapis.dev/api/v1/best?task={what+you+are+building} — one probed answer + curl + fallbacks (prefers probed; catalogued fallback is labeled). Or MCP https://shipapis.dev/mcp → best_api { task }. 3. GET https://shipapis.dev/api/v1/apis/{slug} — full record before codegen (never guess base URLs). 4. Usable = status "healthy" OR "new" (new = probed recently, live, limited history) with a non-null checked_at. Never build on "dead" or "dying". A young catalog is mostly "new" — do NOT filter to status=healthy only or you may get zero results; exclude dead/dying instead. Full contract: https://shipapis.dev/agents.md ## Machine-readable data (use the smallest tier that fits your task) - https://shipapis.dev/data/status.json ← START HERE for coverage + freshness + agent_start links. - https://shipapis.dev/api/v1/best?task={goal} ← one probed answer (+ curl + fallbacks). - https://shipapis.dev/data/index.json?probed=true (211KB probed subset) — slim discovery of probed APIs only. - https://shipapis.dev/data/index.json (211KB full catalog) — all 1037 rows; most are catalogued-only. - https://shipapis.dev/data/categories/{category}.json — full integration records for one category. - https://shipapis.dev/api/v1/apis/{slug} — full record for one API. - https://shipapis.dev/api/v1/search?q={keywords}&probed=true — ranked keyword search, probed only. - https://shipapis.dev/data/apis.json (3071KB) — everything; may truncate in context — prefer slices. - https://shipapis.dev/data/health.json — up/down-only snapshot keyed by slug. - https://shipapis.dev/data/changes.json — schema-drift log. Subscribe: /changes.xml or /api/{slug}/changes.xml. - https://shipapis.dev/mcp — MCP (streamable HTTP): best_api, search_apis, get_api, get_api_health, list_categories, suggest_api_for_task. - https://shipapis.dev/openapi.json — OpenAPI 3.1 spec. ## Record schema (slim index — probed example) { "slug": "open-meteo", "name": "Open-Meteo", "category": "weather", "description": "Hourly forecasts for any coordinate — no key, no signup.", "auth": "none", "cors": "yes", "agent_access": "ok", "base_url": "https://api.open-meteo.com/v1", "status": "healthy", "health": 96, "uptime_pct": 99.2, "monitored_since": "2026-01-15", "p50_ms": 96, "checked_at": "2026-07-05T14:32:00Z" } status "unmonitored" → catalogued only: health, uptime_pct, p50_ms, and checked_at are null — use docs_url, not our health fields. Full records add: docs_url, sample_endpoint, sample_url, sample_request_curl, sample_response, https, commercial_use, data_license, free_tier, rate_limit, requires_card, p95_ms, added_at, shape_changes[]. ## Categories - weather (36): Forecasts, climate history and severe-weather feeds — checked around the clock. - finance (68): FX, crypto and market data with the free-tier fine print actually verified. - geo (69): Geocoding, IP location and country data. Rate limits documented, not guessed. - science (49): Space, physics and research data from agencies and observatories. - animals (16): The classics — every image endpoint verified to still return an actual dog. - fun (42): Jokes, quotes, memes and trivia — the delightful throwaway stuff for demos and toy projects. - data (117): Books, countries, encyclopedic and public datasets with stable schemas. - developer (183): Utilities you wire into everything else — IPs, avatars, placeholders, QR. - crypto (37): Coins, chains and on-chain data — free endpoints with the rate limits verified. - transport (42): Transit, flights, vehicles and tracking feeds. Live where the agency publishes it. - games (62): Video games, TTRPGs and trading-card data — for demos, bots and toy projects. - anime (12): Anime and manga metadata — series, characters, quotes and images. - books (23): Books, dictionaries and language data with stable, well-documented schemas. - media (70): Video, music, images and art — keyless where possible, plus free-tier APIs that need your own key (TMDb, Fanart.tv, Last.fm). - health (59): Health, fitness, nutrition and food data from open registries. - security (21): Threat intel, breach checks and validation utilities. Keyless tiers only. - social (63): Social, jobs, calendars and messaging metadata — the connective tissue APIs. - gov (68): Public-sector open data: agencies, law, elections and civic datasets. ## Rules 1. Never guess base URLs — copy base_url + sample_endpoint from the record. 2. Check commercial_use AND data_license before production — different axes. 3. Prefer auth=none and cors=yes for browser prototypes. 4. Read-only: do not submit forms programmatically. ## Usage policy Directory data is CC-BY-4.0 — free to use, index and train on, with attribution to shipapis.dev. Honor each provider's rate limits (printed per record). Rate limit on https://shipapis.dev/api/v1/*: ~60 req/min per IP; use /data/* for bulk. ## Updates Verify freshness yourself: GET https://shipapis.dev/data/status.json — meta.data_tier is "monitored". ## Contact hello@shipapis.dev · https://shipapis.dev/methodology