← all 71 tracked mock & placeholder APIs

Is Pravatar (i.pravatar.cc) down?

UP right now — answered HTTP 200 in 89 ms.

Last checked 2026-09-11T19:30:49Z · checked every hour · OK-rate 24h: 100% · 7d: 97.7% · raw JSON · Atom feed of its down/recovered events

Context: CC0 real-photo avatars from a fixed pool of exactly 70 photos (?img=71 is a 404; max size 1000); the same ?u= id always maps to the same photo, but distinct ids beyond the pool share faces.

What we check: GET https://i.pravatar.cc/150 — 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.

README badge

Does your project's test suite or tutorial depend on i.pravatar.cc? Embed a live status badge — it re-renders from our latest check (cached 5 min):

i.pravatar.cc status badge

<!-- Markdown -->
[![i.pravatar.cc status](https://mockbird.mockbird.workers.dev/status/pravatar/badge.svg)](https://mockbird.mockbird.workers.dev/status/pravatar)

<!-- HTML -->
<a href="https://mockbird.mockbird.workers.dev/status/pravatar"><img src="https://mockbird.mockbird.workers.dev/status/pravatar/badge.svg" alt="i.pravatar.cc 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 i.pravatar.cc 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": "pravatar", "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:49ZOK 20089 ms
2026-09-11T19:30:26ZOK 200315 ms
2026-09-11T18:30:16ZOK 20075 ms
2026-09-11T17:30:29ZOK 200372 ms
2026-09-11T16:30:27ZOK 200346 ms
2026-09-11T13:31:03ZOK 2006558 ms
2026-09-11T12:30:49ZOK 200693 ms
2026-09-11T11:30:51ZOK 2001069 ms
2026-09-11T10:30:51ZOK 2005089 ms
2026-09-11T09:30:49ZOK 200486 ms
2026-09-11T08:30:48ZOK 200440 ms
2026-09-11T07:30:49ZOK 200333 ms
2026-09-11T06:30:53ZOK 200363 ms
2026-09-11T05:31:10ZOK 200719 ms
2026-09-11T04:31:10ZOK 200560 ms
2026-09-11T03:31:06ZOK 200347 ms
2026-09-11T02:31:10ZOK 200249 ms
2026-09-11T01:31:07ZOK 200321 ms
2026-09-11T00:31:09ZOK 200338 ms
2026-09-10T23:31:05ZOK 200234 ms
2026-09-10T22:31:07ZOK 200336 ms
2026-09-10T21:31:06ZOK 200239 ms
2026-09-10T20:30:27ZOK 200455 ms
2026-09-10T19:30:27ZOK 20059 ms
2026-09-10T18:30:33ZOK 20066 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.