← all 71 tracked mock & placeholder APIs

Is Unsplash Source (source.unsplash.com) down?

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.

Need a placeholder image that loads?

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.

README badge

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):

source.unsplash.com status badge

<!-- Markdown -->
[![source.unsplash.com status](https://mockbird.mockbird.workers.dev/status/unsplash-source/badge.svg)](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.

Get pinged when it goes down

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 →

Recent checks

Checked at (UTC)ResultTime
2026-09-11T19:30:49ZHTTP 503813 ms
2026-09-11T19:30:25ZHTTP 503432 ms
2026-09-11T18:30:15ZHTTP 503731 ms
2026-09-11T17:30:29ZHTTP 5031053 ms
2026-09-11T16:30:26ZHTTP 5031037 ms
2026-09-11T13:31:03ZHTTP 503907 ms
2026-09-11T12:30:48ZHTTP 503170 ms
2026-09-11T11:30:50ZHTTP 503214 ms
2026-09-11T10:30:50ZHTTP 503318 ms
2026-09-11T09:30:48ZHTTP 503301 ms
2026-09-11T08:30:48ZHTTP 503397 ms
2026-09-11T07:30:48ZHTTP 503134 ms
2026-09-11T06:30:52ZHTTP 503317 ms
2026-09-11T05:31:10ZHTTP 503259 ms
2026-09-11T04:31:09ZHTTP 503255 ms
2026-09-11T03:31:05ZHTTP 503279 ms
2026-09-11T02:31:09ZHTTP 503281 ms
2026-09-11T01:31:06ZHTTP 503254 ms
2026-09-11T00:31:09ZHTTP 503256 ms
2026-09-10T23:31:04ZHTTP 503258 ms
2026-09-10T22:31:07ZHTTP 503297 ms
2026-09-10T21:31:06ZHTTP 503289 ms
2026-09-10T20:30:26ZHTTP 503899 ms
2026-09-10T19:30:26ZHTTP 503827 ms
2026-09-10T18:30:31ZHTTP 503697 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.