Let's start with the uncomfortable part for a page with this title: Better Stack's free plan is arguably the most generous in the whole uptime category. Per their own pricing and uptime pages (September 2026): 10 monitors and 10 heartbeats, a status page, and Slack + e-mail alerts, all at $0, with 3-minute checks. Most rivals' free tiers give you a fraction of that (StatusCake: 3 monitors, email to one address; OnlineOrNot: 3 monitors; UptimeRobot: 50 monitors but paid webhooks and paid heartbeats). If you're evaluating uptime monitors and you're happy to create an account, the honest advice is: Better Stack's free tier is one of the best answers, and this page won't pretend otherwise.
So what's left for us? One narrow moment: when you don't want an account at all. Everything at Better Stack starts with a signup and a dashboard; the wake-you-up channels β unlimited phone call and SMS alerts, on-call scheduling, incident management β start with a Responder license at $34/month ($29 billed annually). If what you actually wanted is "GET this URL every so often and POST my webhook when it breaks," armed from a terminal, CI step, script or agent in the next ten seconds β that's the moment this page is for. One curl, no account, and the alert is an HMAC-signed webhook (Slack and Discord formats auto-detected). Small free capacity and slower checks, stated plainly below.
Facts from Better Stack's own pricing and uptime pages, September 2026 (verify current numbers yourself). The free plan ("free for personal projects"): their uptime page's headline says 10 monitors, 10 heartbeats and a status page with 3-minute checks, totally free (the pricing page compresses this to "10 monitors & heartbeats"), with Slack & e-mail alerts β and, because Better Stack is a whole observability platform, the same free plan also throws in error tracking (100k exceptions/month), session replays, and small log/trace/metrics allowances. Their fastest 30-second checks, multi-location and geo-specific checks, error screenshots, traceroute/MTR diagnosis, SSL and domain-expiry monitoring, TCP/UDP/ping/DNS checks, and Playwright-based browser transaction checks live in the paid product, alongside the Responder license ($34/month, $29 annual) that unlocks unlimited phone/SMS alerts, on-call scheduling and incident management. Extra capacity is paid: +50 monitors $25/month, +10 heartbeats $20/month, a second status page $15/month.
Two things said plainly. First: their free 3-minute interval is 10Γ faster than our 30-minute checks β if detection speed matters, they win that axis outright, on the free plan. Second: their heartbeats have up-to-1-second resolution and configurable grace periods; ours are 30-minute-to-7-day periods. One thing we could not verify either way: whether raw webhook alerts are included on their free plan β their pricing page's free bullet names Slack & e-mail specifically, and webhooks appear in the general uptime feature list; check their current docs yourself if that's the deciding factor.
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://your-endpoint.example.com/hook"}'
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). That last case is the point: your own endpoint, a serverless function, an incident bridge, an agent's inbox β no integration catalogue, just a URL you control. 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 phone calls, no SMS, no e-mail here, stated plainly β those channels are exactly what Better Stack's Responder license is for, and if you need to be woken up, pay them the $34; it's the right tool.
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)
Honest scope note: status pages are a flagship Better Stack product β branded status.yourdomain.com sub-domains, incident history, 1,000 e-mail subscribers included, maintenance notices, embeddable system status. Ours is a single-monitor page with current state and recent events. If you need customer-facing incident communication, theirs wins by a mile, on the free plan.
Better Stack's 10 free heartbeats with 1-second resolution are excellent β again, if a signup is fine, use them. The no-account version 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 within period + grace you get one service.down webhook, one service.up on resume. Periods 30 minutes to 7 days β cron-scale, not second-scale. Full recipes: cron-job monitoring with one curl.
| Better Stack concept | Here |
|---|---|
| Uptime monitor (10 free, signup first) | POST /api/status/monitor {"url": β¦, "notify": β¦} β no account, response includes the current check |
| Slack + e-mail alerts (free) | Slack + Discord auto-detected from the notify host; no e-mail here, stated plainly |
| Phone call / SMS / on-call (Responder, $34/mo) | No equivalent. If you need to be woken up, that license is the right tool |
| Heartbeats (10 free, up-to-1-second resolution) | POST /api/status/heartbeat β separate free pool, 30 minβ7 day periods (cron-scale only) |
| Status page (1 free, subscribers, custom sub-domain) | One per monitor, unguessable URL, hostname-only β plus badge + Atom feed. Theirs is the far fuller product |
| 3-min free checks, 30-sec paid, multi-location | Honest: 30-minute checks from Cloudflare's edge as a single logical vantage point β they win this axis outright |
| Screenshots, traceroute/MTR, SSL & domain expiry, TCP/UDP/DNS/ping | No equivalent. HTTP GET, 2xx/3xx = up, is our whole truth table |
| Playwright transaction checks | No equivalent. |
| REST API + Terraform (theirs, after signup) | Same URLs you created with β self-documenting on bare GET β and our monitors are also MCP tools, no auth at all |
Facts checked September 2026 against each vendor's own pricing page β verify current numbers yourself:
| Free tier | Pick it when | |
|---|---|---|
| Better Stack | 10 monitors + 10 heartbeats, 3-min checks, Slack + e-mail alerts, 1 status page (subscribers included), plus error tracking/log allowances; phone/SMS/on-call from $34/mo | You're happy to sign up. The most generous free tier in the category, attached to a real observability platform β for most teams this is simply the better tool. |
| 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. |
| OnlineOrNot | 3 monitors, 3-min checks, free Slack/Discord/Telegram alerts; raw webhooks from $15/mo (details) | Your alert destination is a chat channel and you like supporting a self-funded indie. |
| Site24x7 | 1-min checks (fastest free interval around), email alerts; webhooks from ~$36/mo (details) | Email alerts are enough and detection speed is everything. |
| 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 | You want the check armed this minute from a terminal, CI step, script or agent β no signup form, no dashboard, and the alert is a raw HMAC-signed webhook. |
Where Better Stack wins, plainly: nearly everywhere β more free monitors, 10Γ faster free checks, free heartbeats with second-level resolution, free Slack + e-mail alerting, a real status-page product with subscribers, screenshots and network diagnosis on failures, SSL/domain-expiry monitoring, browser transaction checks, and the whole incident-management/on-call layer when you outgrow $0. We do exactly one thing they structurally can't: skip the account. One curl β check armed, webhook contract, public status artifacts β ten seconds from a terminal or an agent, nothing to sign up for, nothing to cancel.
# 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.