β all 71 tracked mock & placeholder APIs
FAILING right now β answering HTTP 405 to plain requests: anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through.
Last checked 2026-09-11T19:30:43Z Β· checked every hour Β· OK-rate 24h: 13% Β· 7d: 6.7% Β· raw JSON Β· Atom feed of its down/recovered events
Failing streak began 2026-09-11T03:31:03Z (17 hours) Β· last successful check: 2026-09-11T02:31:07Z
Context: Writes genuinely persist (rare β credit due), but created objects never appear in GET /objects (the list is frozen at 13 seed devices), seed ids 1β13 reject updates/deletes as reserved, and ?limit/?page are silently ignored without the signed-in tier. Sep 7 2026: anonymous access now capped at 50 requests/24h per IP (HTTP 405 + a sign-in prompt past it) β shared-IP callers (Workers, serverless, CI) burn through the pooled quota immediately.
What we check: GET https://api.restful-api.dev/objects/1 β 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.restful-api.dev is failing (or you're tired of finding out mid-demo), Mockbird gives you a seeded fake-data REST API that answers right now β and unlike the classics, writes actually persist β free, no signup:
curl https://mockbird.mockbird.workers.dev/m/demo/products/1
Read the honest restful-api.dev migration guide β (it also says when restful-api.dev is the better tool) or create your own mock API in one click.
Does your project's test suite or tutorial depend on api.restful-api.dev? Embed a live status badge β it re-renders from our latest check (cached 5 min):
<!-- Markdown -->
[](https://mockbird.mockbird.workers.dev/status/restfulapidev)
<!-- HTML -->
<a href="https://mockbird.mockbird.workers.dev/status/restfulapidev"><img src="https://mockbird.mockbird.workers.dev/status/restfulapidev/badge.svg" alt="api.restful-api.dev 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 71.
Subscribe any webhook URL β no account needed. One message when api.restful-api.dev 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": "restfulapidev", "url": "https://hooks.slack.com/services/T000/B000/XXXX"}'
Use "service": "*" to watch all 71 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-11T19:30:43Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 117βms |
| 2026-09-11T19:30:21Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 334βms |
| 2026-09-11T18:30:10Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 76βms |
| 2026-09-11T17:30:22Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 156βms |
| 2026-09-11T16:30:17Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 109βms |
| 2026-09-11T13:30:54Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 104βms |
| 2026-09-11T12:30:45Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 363βms |
| 2026-09-11T11:30:45Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 363βms |
| 2026-09-11T10:30:45Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 707βms |
| 2026-09-11T09:30:45Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 865βms |
| 2026-09-11T08:30:45Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 337βms |
| 2026-09-11T07:30:45Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 327βms |
| 2026-09-11T06:30:45Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 368βms |
| 2026-09-11T05:31:08Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 592βms |
| 2026-09-11T04:31:07Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 218βms |
| 2026-09-11T03:31:03Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 240βms |
| 2026-09-11T02:31:07Z | OK 200 | 231βms |
| 2026-09-11T01:31:04Z | OK 200 | 233βms |
| 2026-09-11T00:31:07Z | OK 200 | 242βms |
| 2026-09-10T23:31:03Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 221βms |
| 2026-09-10T22:31:05Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 229βms |
| 2026-09-10T21:31:05Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 264βms |
| 2026-09-10T20:30:23Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 109βms |
| 2026-09-10T19:30:23Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 71βms |
| 2026-09-10T18:30:25Z | HTTP 405 anonymous cap (50 req/24h per IP, added Sep 2026): this checker's shared cloud egress IP is over it β every Workers/serverless/CI caller on a shared IP shares that fate; browsers on fresh IPs still get through | 112β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.