← all 90 tracked mock & placeholder APIs
FAILING right now — answering HTTP 525 to plain requests.
Last checked 2026-09-26T01:30:51Z · checked every hour (a timeout/TLS/DNS blip on an otherwise-up service is confirmed with a same-run retry before it counts) · OK-rate 24h: 0% · 7d: 0% · raw JSON · Atom feed of its down/recovered events
Failing streak began 2026-09-17T06:00:19Z or earlier (9 days — dead, not a blip) · last successful check: none in the last 7 days
Context: The community r/SpaceX API behind a whole era of launch-tracker tutorials and Apollo Client's own GraphQL docs. The project announced it was no longer maintained in November 2022 (data stopped updating), and the endpoint now answers HTTP 525 (SSL handshake failure) on every route. Its siblings fare no better: api.spacex.land/graphql — the classic Apollo tutorial endpoint — answers 520 and has been dead for years, and spacex-production.up.railway.app answers 200 but errors on every query because it proxies the dead REST API.
What we check: GET https://api.spacexdata.com/v4/launches/latest — a plain, keyless request from Cloudflare's network with an honest bot UA, exactly what a tutorial curl or an <img> tag experiences. OK = HTTP 2xx/3xx within 8s. No retries, no cookies, no API keys.
If api.spacexdata.com is failing (or you're tired of finding out mid-demo), Mockbird gives you a seeded, persistent REST API for your tutorial or side project — pick a preset (ecommerce/blog/saas) or import any JSON/CSV as your own dataset; writes persist, CORS on, no signup — free, no signup:
curl https://mockbird.mockbird.workers.dev/m/demo/products/1
# create your own in one click (no terminal): https://mockbird.mockbird.workers.dev/app#new=ecommerce
Read the honest SpaceX API (api.spacexdata.com) migration guide → (it also says when SpaceX API (api.spacexdata.com) is the better tool) or create your own mock API in one click.
Does your project's test suite or tutorial depend on api.spacexdata.com? Embed a live status badge — it re-renders from our latest check (cached 5 min):
<!-- Markdown -->
[](https://mockbird.mockbird.workers.dev/status/spacex-api)
<!-- HTML -->
<a href="https://mockbird.mockbird.workers.dev/status/spacex-api"><img src="https://mockbird.mockbird.workers.dev/status/spacex-api/badge.svg" alt="api.spacexdata.com status"></a>
Green = answering plain GETs, red = network-dead, amber = answering but with an error status. Every tracked service has one; there's also a summary badge for all 90.
Subscribe any webhook URL — no account needed. One message when api.spacexdata.com goes down, one when it recovers (debounced: two consecutive hourly checks must agree, so a single blip never fires). Slack and Discord incoming-webhook URLs get a formatted message; anything else gets an HMAC-signed JSON POST.
Or from a terminal / CI script:
curl -X POST https://mockbird.mockbird.workers.dev/api/status/watch \
-H "content-type: application/json" \
-d '{"service": "spacex-api", "url": "https://hooks.slack.com/services/T000/B000/XXXX"}'
Use "service": "*" to watch all 90 tracked services at once. The response includes an unsubscribe curl; 5 consecutive failed deliveries auto-unsubscribe. No webhook? Omit "url" to get a pollable subscription instead — GET the returned poll URL anytime for the transitions since your last poll. Full API details →
The same checker can watch your own URL: POST /api/status/monitor {"url": "https://api.example.com/health", "notify": "<webhook>"} — every 30 minutes, alert on down + recovery, free, no account. Monitor API →
| Checked at (UTC) | Result | Time |
|---|---|---|
| 2026-09-26T01:30:51Z | HTTP 525 | 427 ms |
| 2026-09-26T00:30:44Z | HTTP 525 | 436 ms |
| 2026-09-25T23:30:44Z | HTTP 525 | 428 ms |
| 2026-09-25T22:30:45Z | HTTP 525 | 431 ms |
| 2026-09-25T21:30:49Z | HTTP 525 | 440 ms |
| 2026-09-25T20:30:50Z | HTTP 525 | 447 ms |
| 2026-09-25T19:31:00Z | HTTP 525 | 472 ms |
| 2026-09-25T18:30:54Z | HTTP 525 | 453 ms |
| 2026-09-25T17:30:56Z | HTTP 525 | 460 ms |
| 2026-09-25T16:30:56Z | HTTP 525 | 118 ms |
| 2026-09-25T15:30:54Z | HTTP 525 | 450 ms |
| 2026-09-25T14:31:04Z | HTTP 525 | 440 ms |
| 2026-09-25T13:31:10Z | HTTP 525 | 454 ms |
| 2026-09-25T12:31:06Z | HTTP 525 | 455 ms |
| 2026-09-25T11:31:02Z | HTTP 525 | 445 ms |
| 2026-09-25T10:30:55Z | HTTP 525 | 449 ms |
| 2026-09-25T09:30:53Z | HTTP 525 | 437 ms |
| 2026-09-25T08:31:02Z | HTTP 525 | 451 ms |
| 2026-09-25T07:30:56Z | HTTP 525 | 451 ms |
| 2026-09-25T06:30:52Z | HTTP 525 | 109 ms |
| 2026-09-25T05:30:49Z | HTTP 525 | 467 ms |
| 2026-09-25T04:30:48Z | HTTP 525 | 454 ms |
| 2026-09-25T03:30:43Z | HTTP 525 | 438 ms |
| 2026-09-25T02:30:43Z | HTTP 525 | 457 ms |
| 2026-09-25T01:30:43Z | HTTP 525 | 451 ms |
| 2026-09-25T00:30:46Z | HTTP 525 | 455 ms |
Bias disclosure: this page is run by Mockbird, a free hosted mock-API service. The status data is real and logged verbatim (pull it yourself), and the linked guides say when the incumbent wins.