StatusCake deserves credit for something several rivals dropped: it still has a real free plan β no trial clock, no credit card, three uptime monitors checked every 15 minutes, forever. If email to one address is the alert you want, their free tier does the job and this page won't talk you out of it.
The catch is the alert channel. On StatusCake's free plan the only way an alert reaches you is email, to a single address in a single contact group. Integration alerting β webhooks, Slack, Discord, PagerDuty, all of it β is a paid feature, starting on the Superior plan at $24.49/month. So the moment "email me" becomes "POST my webhook" or "ping the team channel", the free plan is over. That moment is what this page is for: one curl arms an uptime check whose alert is a webhook β Slack and Discord formats auto-detected, everything else HMAC-signed JSON β plus a public status page, README badge and Atom feed. No account anywhere in the loop. Small free capacity, honestly stated below.
Facts from their own pricing page, September 2026 (prices are JS-rendered there, so quote-checking needs a real browser β verify current numbers yourself): Free = 3 uptime monitors at 15-minute intervals, HTTP(S) test type only, 1 contact group, email alerts to 1 address. Marked not-included on Free, on their own comparison table: integration alerting, SMS, custom probe locations, SSL-validation alerts, content/string matching, page speed monitoring, domain monitoring, SSL monitoring, server monitoring, and all reporting. Superior ($24.49/mo, or $20.41 billed yearly) unlocks 100 monitors at 1-minute intervals, the full test-type list (DNS, HTTP(S), HEAD, PING, PUSH, SMTP, SSH, TCP), integrations, 75 SMS credits and 2 seats. Business ($79.99/mo): 300 monitors at 30-second intervals, 10 seats, dashboards, audit log.
Two things said plainly. First: their free 15-minute interval is faster than our 30-minute checks β if detection speed is the priority and email suffices, StatusCake's free plan beats ours on that axis. Second: if what you want is a free dashboard watching many sites, UptimeRobot's free 50-monitor tier is the generous default β we say so on that page too.
curl -X POST https://mockbird.mockbird.workers.dev/api/status/monitor \
-H 'content-type: application/json' \
-d '{"url":"https://api.example.com/health","notify":"https://hooks.slack.com/services/T000/B000/XXXX"}'
We GET your URL every 30 minutes from Cloudflare's network (8s timeout, redirects followed, 2xx/3xx = up). Your URL is probed immediately, so the response doubles as a one-shot "is my site up from outside?" check β and it contains everything else you need:
{
"id": "mon-XXXX",
"secret": "β¦",
"current": { "ok": true, "http_status": 200, "ms": 87 },
"checked_every_minutes": 30,
"status_page": "https://mockbird.mockbird.workers.dev/status/mon-XXXX",
"badge_svg": "https://mockbird.mockbird.workers.dev/status/mon-XXXX/badge.svg",
"feed_atom": "https://mockbird.mockbird.workers.dev/status/mon-XXXX/feed.xml"
}
notify takes a Slack incoming webhook, a Discord webhook, or any HTTPS endpoint β the format is sniffed from the host: hooks.slack.com gets {"text": β¦}, discord.com/api/webhooks gets {"content": β¦}, and anything else gets JSON signed with your monitor's secret (x-mockbird-signature: sha256=hex(hmac-sha256(secret, body)) β verify it like a Stripe webhook). A confirmation delivery hits your webhook at create time so you know the channel works before you rely on it.
Alerting is deliberately quiet: one POST when the URL goes down, one when it recovers, debounced β two consecutive checks must agree, so a single blip never pages you. No retries, best-effort delivery, and 5 consecutive failed deliveries auto-remove the monitor (a dead webhook can't rot forever). No email and no SMS here, stated plainly β the webhook is the product.
Every monitor gets a public status page at an unguessable URL showing the hostname only, an SVG badge for the README, and an Atom feed of down/recovered events for anyone who'd rather poll than be POSTed at:
[](https://mockbird.mockbird.workers.dev/status/mon-XXXX)
StatusCake's PUSH test type β your job pings them, silence means down β is the right model for cron jobs and scheduled work, and on their plans it sits behind the paywall with the other non-HTTP(S) test types. The same dead-man's-switch is one free curl here: POST /api/status/heartbeat returns a secret ping URL; append && curl -fsS -m 10 <ping_url> to the cron job, and if pings stop arriving you get one service.down webhook, one service.up on resume. Full recipes: cron-job monitoring with one curl.
| StatusCake concept | Here |
|---|---|
| Uptime test (HTTP(S)) | POST /api/status/monitor {"url": β¦, "notify": β¦} β no account, response includes the current check |
| Contact group β email | notify webhook β Slack/Discord auto-detected, else HMAC-signed JSON. No email, no SMS β webhook only, stated plainly |
| Integration alerting (paid there) | The default and only channel β free |
| PUSH test type (paid there) | POST /api/status/heartbeat β free dead-man's-switch, 30 minβ7 day periods |
| DNS / PING / SMTP / SSH / TCP tests | No equivalent. We speak HTTP GET only |
| Page speed / domain / SSL / server monitoring | No equivalent. Those product families are StatusCake's genuine breadth |
| Custom probe locations | Honest: checks run from Cloudflare's edge as a single logical vantage point β no per-region verdicts |
| Content/string match, SSL-validation alerts | None β 2xx/3xx = up is the whole verdict |
| API | The same URLs you created with; GET /api/status/monitor self-documents as JSON |
Facts checked September 2026 against each vendor's own pricing page β verify current numbers yourself:
| Free tier | Pick it when | |
|---|---|---|
| StatusCake | 3 monitors, 15-min checks, HTTP(S) only, email to 1 address; webhooks/Slack/integrations from $24.49/mo | Email alerts are enough and you want a real dashboard with faster checks than ours β or you'll pay for the breadth (page speed, domain, SSL, server monitoring, SMS, locations). |
| UptimeRobot | 50 monitors, 5-min checks, dashboard; webhooks and heartbeats are paid (details) | You want a free dashboard watching many sites and email alerts are enough. |
| Mockbird | URL monitors: 3 live per IP (deleting frees the slot), 30 total, 30-min checks. Heartbeats: 5 live per IP. Webhook + Slack + Discord alerts, status page/badge/feed β free, no account | The alert must be a webhook, and you want it armed this minute from a terminal, CI step, script or agent. |
Where StatusCake wins, plainly: 15-minute free checks (2Γ faster than ours), a real dashboard, and β paid β 1-minute/30-second intervals, eight test types, SMS, custom locations, page speed, domain, SSL and server monitoring, reporting, teams. We do: one curl, no signup, webhook down/up alerts with HMAC signatures, public status artifacts, and free PUSH-style heartbeats β at $0 where their integrations start at $244.92/year (Superior billed yearly).
# info + 24h ok-rate + recent checks Β· then stop
curl "https://mockbird.mockbird.workers.dev/api/status/monitor/mon-XXXX?secret=YOUR_SECRET"
curl -X DELETE "https://mockbird.mockbird.workers.dev/api/status/monitor/mon-XXXX?secret=YOUR_SECRET"
Both endpoints self-document on a bare GET. The complete walkthrough of the monitor feature is the uptime monitor API guide; we also run a public tracker of 50+ developer APIs at /status that you can subscribe alerts to without using a monitor slot.