← all 90 tracked mock & placeholder APIs
UP right now — answered HTTP 200 in 147 ms.
Last checked 2026-09-26T01:00:49Z · 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: 100% · 7d: 100% · raw JSON · Atom feed of its down/recovered events
Context: This probes the successor — the ORIGINAL covid19api.com behind the 2020–2022 'build a COVID dashboard' tutorial genre served 1B+ requests, then shut down May 15, 2023; api.covid19api.com now fails DNS outright: curl (6) Could not resolve host (re-verified Sep 2026). disease.sh itself is keyless, CORS-open, open source (GPL-3.0), and kept its legacy /v2 paths alive — but the pandemic data is frozen: todayCases is 0 in all 231 countries while the `updated` timestamp refreshes every few minutes, the historical endpoint ends March 9, 2023 (?lastdays=30 silently returns Feb–Mar 2023), and the recovered timeline flatlines at zero.
What we check: GET https://disease.sh/v3/covid-19/all — 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 disease.sh 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 disease.sh (COVID-19 API successor) migration guide → (it also says when disease.sh (COVID-19 API successor) is the better tool) or create your own mock API in one click.
Does your project's test suite or tutorial depend on disease.sh? Embed a live status badge — it re-renders from our latest check (cached 5 min):
<!-- Markdown -->
[](https://mockbird.mockbird.workers.dev/status/disease-sh)
<!-- HTML -->
<a href="https://mockbird.mockbird.workers.dev/status/disease-sh"><img src="https://mockbird.mockbird.workers.dev/status/disease-sh/badge.svg" alt="disease.sh 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 disease.sh 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": "disease-sh", "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:00:49Z | OK 200 | 147 ms |
| 2026-09-26T00:00:51Z | OK 200 | 134 ms |
| 2026-09-25T23:00:52Z | OK 200 | 138 ms |
| 2026-09-25T22:00:52Z | OK 200 | 144 ms |
| 2026-09-25T21:01:06Z | OK 200 | 145 ms |
| 2026-09-25T20:00:58Z | OK 200 | 172 ms |
| 2026-09-25T19:01:18Z | OK 200 | 153 ms |
| 2026-09-25T18:01:13Z | OK 200 | 83 ms |
| 2026-09-25T17:01:12Z | OK 200 | 173 ms |
| 2026-09-25T16:01:04Z | OK 200 | 81 ms |
| 2026-09-25T15:01:10Z | OK 200 | 149 ms |
| 2026-09-25T14:01:24Z | OK 200 | 255 ms |
| 2026-09-25T13:01:16Z | OK 200 | 138 ms |
| 2026-09-25T12:01:07Z | OK 200 | 94 ms |
| 2026-09-25T11:01:18Z | OK 200 | 147 ms |
| 2026-09-25T10:01:01Z | OK 200 | 149 ms |
| 2026-09-25T09:00:56Z | OK 200 | 164 ms |
| 2026-09-25T08:01:13Z | OK 200 | 150 ms |
| 2026-09-25T07:01:06Z | OK 200 | 137 ms |
| 2026-09-25T06:01:08Z | OK 200 | 131 ms |
| 2026-09-25T05:00:49Z | OK 200 | 123 ms |
| 2026-09-25T04:00:47Z | OK 200 | 132 ms |
| 2026-09-25T03:00:57Z | OK 200 | 143 ms |
| 2026-09-25T02:00:53Z | OK 200 | 140 ms |
| 2026-09-25T01:00:49Z | OK 200 | 132 ms |
| 2026-09-25T00:00:52Z | OK 200 | 159 ms |
| 2026-09-24T23:00:58Z | OK 200 | 143 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.