← all 71 tracked mock & placeholder APIs
FAILING right now — answering HTTP 503 to plain requests.
Last checked 2026-09-11T19:30:49Z · checked every hour · OK-rate 24h: 0% · 7d: 0% · raw JSON · Atom feed of its down/recovered events
Failing streak began 2026-09-06T22:30:26Z or earlier (5 days) · last successful check: none in the last 7 days
Context: Unsplash's keyless hotlink endpoint — deprecated in the official changelog in 2021, now answering 503 on every URL shape (/random/WxH, /WxH/?keyword, /featured, /user, /collection, /daily). Direct images.unsplash.com CDN links and the keyed official API still work.
What we check: GET https://source.unsplash.com/random/300x200 — 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 source.unsplash.com is failing (or you're tired of finding out mid-demo), Mockbird gives you a placeholder image URL that renders (SVG: any size, colors, text, round avatars) — free, no signup:
https://mockbird.mockbird.workers.dev/m/demo/img/300x200?text=Hello
Read the honest Unsplash Source (source.unsplash.com) migration guide → (it also says when Unsplash Source (source.unsplash.com) is the better tool) or create your own mock API in one click.
Does your project's test suite or tutorial depend on source.unsplash.com? Embed a live status badge — it re-renders from our latest check (cached 5 min):
<!-- Markdown -->
[](https://mockbird.mockbird.workers.dev/status/unsplash-source)
<!-- HTML -->
<a href="https://mockbird.mockbird.workers.dev/status/unsplash-source"><img src="https://mockbird.mockbird.workers.dev/status/unsplash-source/badge.svg" alt="source.unsplash.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 71.
Subscribe any webhook URL — no account needed. One message when source.unsplash.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": "unsplash-source", "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:49Z | HTTP 503 | 813 ms |
| 2026-09-11T19:30:25Z | HTTP 503 | 432 ms |
| 2026-09-11T18:30:15Z | HTTP 503 | 731 ms |
| 2026-09-11T17:30:29Z | HTTP 503 | 1053 ms |
| 2026-09-11T16:30:26Z | HTTP 503 | 1037 ms |
| 2026-09-11T13:31:03Z | HTTP 503 | 907 ms |
| 2026-09-11T12:30:48Z | HTTP 503 | 170 ms |
| 2026-09-11T11:30:50Z | HTTP 503 | 214 ms |
| 2026-09-11T10:30:50Z | HTTP 503 | 318 ms |
| 2026-09-11T09:30:48Z | HTTP 503 | 301 ms |
| 2026-09-11T08:30:48Z | HTTP 503 | 397 ms |
| 2026-09-11T07:30:48Z | HTTP 503 | 134 ms |
| 2026-09-11T06:30:52Z | HTTP 503 | 317 ms |
| 2026-09-11T05:31:10Z | HTTP 503 | 259 ms |
| 2026-09-11T04:31:09Z | HTTP 503 | 255 ms |
| 2026-09-11T03:31:05Z | HTTP 503 | 279 ms |
| 2026-09-11T02:31:09Z | HTTP 503 | 281 ms |
| 2026-09-11T01:31:06Z | HTTP 503 | 254 ms |
| 2026-09-11T00:31:09Z | HTTP 503 | 256 ms |
| 2026-09-10T23:31:04Z | HTTP 503 | 258 ms |
| 2026-09-10T22:31:07Z | HTTP 503 | 297 ms |
| 2026-09-10T21:31:06Z | HTTP 503 | 289 ms |
| 2026-09-10T20:30:26Z | HTTP 503 | 899 ms |
| 2026-09-10T19:30:26Z | HTTP 503 | 827 ms |
| 2026-09-10T18:30:31Z | HTTP 503 | 697 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.