← All guides

Better Stack alternative β€” free uptime checks with webhook alerts, no signup

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.

1. First, honestly: what Better Stack free includes

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.

2. "Watch this URL" β€” one curl, no signup form

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"
}

3. The alert contract

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.

4. Status page, badge, feed β€” the public artifacts

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:

[![api.example.com status](https://mockbird.mockbird.workers.dev/status/mon-XXXX/badge.svg)](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.

5. Cron jobs β€” the inverse check, also one curl

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.

6. Translation table

Better Stack conceptHere
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-locationHonest: 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/pingNo equivalent. HTTP GET, 2xx/3xx = up, is our whole truth table
Playwright transaction checksNo 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

7. Honest comparison

Facts checked September 2026 against each vendor's own pricing page β€” verify current numbers yourself:

Free tierPick it when
Better Stack10 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/moYou'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.
UptimeRobot50 monitors, 5-min checks, dashboard; webhooks and heartbeats are paid (details)You want a free dashboard watching many sites and email alerts are enough.
OnlineOrNot3 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.
Site24x71-min checks (fastest free interval around), email alerts; webhooks from ~$36/mo (details)Email alerts are enough and detection speed is everything.
MockbirdURL 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 accountYou 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.

8. Managing monitors

# 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.

Limits while free: monitors β€” 3 live per IP (deleting frees the slot), 30 total (small free capacity β€” if you hit the cap, try later), checks every 30 minutes; heartbeats β€” 5 live per IP, periods 30 min–7 days. Best-effort webhook delivery, no retries; 5 consecutive failed deliveries auto-remove the alert.
⚑ Mockbird's day job is instant mock REST/GraphQL APIs: this link creates a live, seeded e-commerce backend (products, orders, customers, reviews) in one click β€” real URL, full CRUD, no signup. Or import an OpenAPI spec, db.json, CSV, Postman collection, or HAR and mock your exact shapes.