← all 90 tracked mock & placeholder APIs
UP right now — answered HTTP 200 in 947 ms.
Last checked 2026-09-26T00:30:44Z · 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: 98.3% · raw JSON · Atom feed of its down/recovered events
Context: The last big free trivia API standing (jService is dead) — alive and well-run. Known traps for quiz-app builders: a hard limit of 1 request per 5 seconds per IP (the 429 body is {"response_code":5,"result":[]} — result singular, so .results.map() throws), answers are HTML-encoded by default, and invalid queries answer HTTP 200 with an error hidden in response_code. We probe the un-rate-limited category endpoint.
What we check: GET https://opentdb.com/api_category.php — 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 opentdb.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 Open Trivia DB (opentdb.com) migration guide → (it also says when Open Trivia DB (opentdb.com) is the better tool) or create your own mock API in one click.
Does your project's test suite or tutorial depend on opentdb.com? Embed a live status badge — it re-renders from our latest check (cached 5 min):
<!-- Markdown -->
[](https://mockbird.mockbird.workers.dev/status/opentdb)
<!-- HTML -->
<a href="https://mockbird.mockbird.workers.dev/status/opentdb"><img src="https://mockbird.mockbird.workers.dev/status/opentdb/badge.svg" alt="opentdb.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 opentdb.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": "opentdb", "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-26T00:30:44Z | OK 200 | 947 ms |
| 2026-09-25T23:30:44Z | OK 200 | 601 ms |
| 2026-09-25T22:30:45Z | OK 200 | 604 ms |
| 2026-09-25T21:30:49Z | OK 200 | 625 ms |
| 2026-09-25T20:30:51Z | OK 200 | 619 ms |
| 2026-09-25T19:31:00Z | OK 200 | 611 ms |
| 2026-09-25T18:30:54Z | OK 200 | 696 ms |
| 2026-09-25T17:30:56Z | OK 200 | 631 ms |
| 2026-09-25T16:30:56Z | OK 200 | 626 ms |
| 2026-09-25T15:30:55Z | OK 200 | 609 ms |
| 2026-09-25T14:31:05Z | OK 200 | 622 ms |
| 2026-09-25T13:31:10Z | OK 200 | 618 ms |
| 2026-09-25T12:31:06Z | OK 200 | 602 ms |
| 2026-09-25T11:31:02Z | OK 200 | 610 ms |
| 2026-09-25T10:30:55Z | OK 200 | 606 ms |
| 2026-09-25T09:30:53Z | OK 200 | 652 ms |
| 2026-09-25T08:31:03Z | OK 200 | 677 ms |
| 2026-09-25T07:30:56Z | OK 200 | 670 ms |
| 2026-09-25T06:30:52Z | OK 200 | 1080 ms |
| 2026-09-25T05:30:49Z | OK 200 | 660 ms |
| 2026-09-25T04:30:48Z | OK 200 | 597 ms |
| 2026-09-25T03:30:43Z | OK 200 | 574 ms |
| 2026-09-25T02:30:43Z | OK 200 | 910 ms |
| 2026-09-25T01:30:44Z | OK 200 | 690 ms |
| 2026-09-25T00:30:46Z | OK 200 | 717 ms |
| 2026-09-24T23:30:44Z | OK 200 | 2875 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.