Your backup script pings PulseWatch on every run. The ping stops — you get alerted, in seconds, by email, Telegram or webhook. Uptime checks for your URLs included.
Free forever for 3 monitors · no credit card
# nightly backup — pings PulseWatch on success 0 3 * * * ./backup.sh && curl -fsS https://…/ping/9f2c…a41b
Nightly DB backup
Queue worker heartbeat
Invoice sync
curl -fsS --retry 3 https://api.yourdomain.com/ping/9f2c1e7a-…-a41b > /dev/nullFor cron jobs, queues, backups — anything that should run on a schedule. Your code pings us; silence means trouble. Explicit /fail pings alert instantly.
We request your URL as often as every minute. Bad status, timeout or connection failure — confirmed by a retry to avoid flapping — and you're the first to know.
Start free. Upgrade when you outgrow it.
$0/mo
Uptime checkers only see what is public. Heartbeat monitoring catches the invisible failures — the backup that silently stopped, the queue worker that crashed at 3am — because your own code confirms every successful run.
After the expected period the monitor turns "late" (visible in the dashboard, no alert). After period + grace it goes "down" and every attached channel is alerted once. When pings resume you get a recovery alert. No alert spam in between.
Yes — add a webhook channel with your Slack or Discord webhook URL. Our payload includes the fields both expect, plus structured JSON for anything custom.
One heartbeat (one cron job/script) or one uptime check (one URL). Paused monitors still count until you delete them.
No. Free gives you 3 monitors with email alerts, forever. Paid plans are handled by Lemon Squeezy and can be cancelled anytime.
The worker restarts automatically and all state lives in Postgres, so it resumes exactly where it left off. Worst case alerts are delayed by the outage — we are honest about that; monitoring your monitoring is what status pages are for.