← All guides

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

Pingdom is one of the oldest names in uptime monitoring β€” the product that put "is it down, and since when?" on a public page long before status pages were table stakes, now part of SolarWinds. It is a genuinely serious tool. It is also, unambiguously, a paid tool: there is no free tier. You get a 30-day free trial, and then Synthetic Monitoring starts at $16.50/month billed annually. That's the right shape for a business watching revenue-bearing sites. It's the wrong shape for "GET my side project's /health and ping a webhook when it breaks."

This page is for the second case: one curl arms an uptime check with a webhook that fires once on down and once on recovery β€” 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.

1. First, honestly: what Pingdom actually sells

Facts from their own pricing page, September 2026 (prices are JS-rendered there, so quote-checking requires a real browser β€” verify current numbers yourself): Synthetic Monitoring from $16.50/month billed annually β€” the entry tier includes 10 uptime checks, 1 advanced (transaction) check and 50 SMS alerts; the next tier is 25/4/100. Real User Monitoring is a separate product, also from $16.50/month (100k pageviews). Probes run from a network they describe as over 100 servers worldwide; alerting covers SMS, email and webhooks; plans include maintenance windows, public status pages and unlimited users.

Where that money is well spent: scripted transaction checks (log in, add to cart, check out β€” a real browser walking your funnel), RUM from actual visitors' browsers, multi-location probing that tells you where it's down from, SMS and voice alerting, and a support organization behind it. None of that exists here, and if those are the requirement, Pingdom or a peer is the correct answer. If what you want is a free dashboard product with many monitors, UptimeRobot's free 50-monitor tier is the obvious pick instead β€” we say so plainly on that page too.

2. "Watch this URL" β€” one curl, no trial clock

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

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

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

Public status pages are a plan feature there; here every monitor simply has one, at an unguessable URL showing the hostname only. The README badge is the piece most side projects actually wanted from an uptime product:

[![api.example.com status](https://mockbird.mockbird.workers.dev/status/mon-XXXX/badge.svg)](https://mockbird.mockbird.workers.dev/status/mon-XXXX)

The Atom feed of down/recovered events (feed.xml) plugs into any feed reader β€” alerting for people who'd rather poll than be POSTed at.

5. When the thing to watch is a cron job, not a URL

Uptime checks poll in the wrong direction for scheduled work β€” a green /health can't tell you the nightly backup never ran. The inverse exists here as the same one-curl pattern: POST /api/status/heartbeat gives you 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, one service.up on resume. Full recipes: cron-job monitoring with one curl.

6. Translation table

Pingdom conceptHere
Uptime checkPOST /api/status/monitor {"url": …, "notify": …} β€” no account, response includes the current check
Alerting (email / SMS / webhook)notify webhook β€” Slack/Discord auto-detected, else HMAC-signed JSON. No SMS, no email β€” webhook only, stated plainly
Public status page/status/mon-XXXX β€” every monitor has one, unguessable URL, hostname-only; badge.svg + Atom feed alongside
Transaction (advanced) checksNo equivalent. We GET one URL; scripted browser flows are Pingdom's genuine win
Real User MonitoringNo equivalent.
100+ probe locations, root-cause "down from where"Honest: checks run from Cloudflare's edge as a single logical vantage point β€” no per-region verdicts
Maintenance windowsNone β€” delete the monitor, recreate after (deleting frees your slot immediately)
APIThe same URLs you created with; GET /api/status/monitor self-documents as JSON

7. Honest comparison

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

Free tierPick it when
PingdomNone β€” 30-day trial, then Synthetic from $16.50/mo annual (10 uptime + 1 transaction check, 50 SMS); RUM separately from $16.50/moA business site where transaction checks, RUM, multi-location probing, SMS and support are worth real money.
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.
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 alert armed this minute from a terminal, CI step, script or agent β€” and a webhook is exactly the alert channel you wanted.

Where Pingdom wins, plainly: transaction monitoring, RUM, SMS/voice, per-location diagnostics, maintenance windows, retention, dashboards, support, and two decades of production trust. We do: one curl, no signup, no trial expiry, one webhook down + one up, HMAC-signed payloads, public status artifacts, and cron heartbeats β€” at $0 where their entry point is $198/year.

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.