Know the moment your site
or cron job goes quiet.
Free uptime monitoring with 1-minute checks, TCP port checks, cron-job heartbeats, domain & TLS-certificate expiry watch, public status pages and instant alerts to email, Discord, Slack, Microsoft Teams, Google Chat, ntfy or Telegram phone push or any webhook. No credit card. No 5-minute-check paywall.
Start monitoring β free See a live demo Read the API docs How it compares
Most free tiers check every 5 minutes. Watchpup polls your endpoints every 60 seconds, follows redirects, verifies the status you expect (even a 401), asserts a keyword is present β or absent, to catch error pages β checks JSON health endpoints field-by-field (data.status must equal ok), and records response times, with optional π’ slow alerts when your site is up but degraded. Endpoints behind auth work too: custom request headers (Authorization, API keys), any HTTP method and request bodies.
Not everything speaks HTTP. Monitor Postgres, Redis, SSH, SMTP-alternative ports, game servers β anything with a port. Watchpup opens a real TCP connection every minute, tracks connect latency, and alerts when it stops answering β every 60 seconds, not every five minutes.
Give any scheduled job a ping URL β or a ping email address, for backup tools, RAID controllers, and cron MAILTO that can only send mail. If your backup, ETL, or agent loop misses its schedule, you hear about it β the dead-man's-switch pattern, built in.
Watchpup shakes hands with your servers daily and reads the certificate straight off the wire β HTTPS, SMTPS, IMAPS, any TLS port β then alerts before it expires (14 days out by default, your call). Catches the classic "someone forgot to renew the cert" outage, and self-signed or internal-CA certs work too since we don't need the chain to validate.
Your site can be up while your DNS quietly rots. Watch any name β subdomains, even _dmarc.example.com β and get alerted when it stops resolving (NXDOMAIN, SERVFAIL), a record type disappears, or an A/CNAME/MX/TXT record stops matching the value you expect. Catches botched migrations, dropped SPF records and hijacked CNAMEs before your users do.
Point Watchpup at your domains and it checks the public registry (RDAP) daily, then alerts you 30 days (your call) before a registration lapses β the outage that takes whole companies offline and that ping checks can't see coming. Free, on the same alert channels.
One click turns your monitors into a clean public status page β live (it updates in viewersβ browsers the moment something changes) β with response-time charts, a 90-day uptime history bar, automatic 30-day incident history, a JSON API, a subscribable Atom incident feed and visitor email subscriptions (double opt-in βnotify me when itβs down/back upβ, plus scheduled-maintenance heads-up emails β the things status-page vendors charge for) β with your own logo and accent color, free β or password-protect a page for internal and client-only audiences. Plus an embeddable live status pill for your own website (one script tag) and an SVG uptime badge for every monitor, ready to embed in your README.
Everything β signup, monitors, alerts β works over a simple JSON API with an OpenAPI spec. Humans get a dashboard; scripts and AI agents get curl (and a /llms.txt quickstart), MCP clients like Claude and Cursor get a native MCP server, terminals get a one-curl-install CLI. Prometheus users get a /api/metrics endpoint to graph uptime in Grafana β with a read-only API key that's safe to leave in scrape configs and CI β and every public status page has a keyless /metrics scrape too. Your data stays yours: CSV export per monitor β and switching in is one call: import your monitors from UptimeRobot or Healthchecks.io with a read-only API key.
Uptime is a team sport β invite up to 10 teammates, each with their own login and password, to co-manage monitors, status pages and alert channels. No password sharing, revocable in one click, and the account owner keeps credentials and billing-grade controls to themselves. Seats are where most tools reach for your wallet; here they're free.
Schedule a deploy or migration and Watchpup goes quiet on purpose: checks pause, no false alerts, and the downtime never counts against your uptime.
One 3am alert is easy to sleep through. Turn on reminders and Watchpup keeps nudging every alert channel β βstill down, 45m and countingβ β at the interval you choose, until the service recovers. Off by default, so quiet stays quiet.
Set a monthly uptime target β say 99.9% β and Watchpup turns it into an error budget: how many minutes of downtime you can still afford this month, burned down live on the monitor page and in the API and Prometheus metrics, with automatic alerts when 75% and 100% of the budget is gone. The SRE workflow, without the spreadsheet.
Start in 20 seconds, even from a terminal
> curl -X POST https://watchpup.watchpup.workers.dev/api/signup \
-d '{"email":"you@example.com","password":"β¦"}'
{ "api_key": "wp_β¦" }
> curl -X POST https://watchpup.watchpup.workers.dev/api/monitors -H "Authorization: Bearer wp_β¦" \
-d '{"kind":"http","name":"my site","url":"https://example.com"}'
Prefer a CLI? curl -fsSL https://watchpup.watchpup.workers.dev/cli -o ~/.local/bin/watchpup && chmod +x ~/.local/bin/watchpup β then watchpup signup you@example.com.
Free while in beta: 15 monitors per account, 60-second minimum interval, 8 alert channels, unlimited status pages.