UptimeRobot and Better Stack cover what most small apps need, and UptimeRobot's free tier is genuinely sufficient for a handful of endpoints. Checkly is the developer option — monitors written as code, running real browser checks. Cronitor and Healthchecks.io monitor the thing nobody monitors: scheduled jobs that fail silently. Pingdom is the incumbent. Uptime Kuma self-hosts for free if you have somewhere to run it. The mistake almost everyone makes is monitoring the homepage, which stays up while the login flow, the payment webhook and the nightly job are all broken. Monitor the transaction, not the server.
A green status page next to a broken product is the normal outcome of default uptime monitoring.
Monitor the thing that matters
Three levels, and most teams only do the first. Is it reachable — a ping or an HTTP 200 on the homepage. Does it work — a real request through the critical path: log in, load the dashboard, submit the form. Did the background work happen — the nightly invoice job, the webhook processor, the queue that drains. Levels two and three are where real outages hide, because level one keeps returning 200 throughout.
At a glance
| Tool | Strongest at | Self-host | Free tier |
|---|---|---|---|
| UptimeRobot | Simple HTTP checks at low cost | No | Genuinely useful |
| Better Stack | Monitoring plus incident management | No | Limited free tier |
| Checkly | Monitors as code, browser checks | No | Limited free tier |
| Cronitor | Cron and background job monitoring | No | Limited free tier |
| Healthchecks.io | Cron monitoring, dead simple | Yes, open source | Useful free tier |
| Pingdom | Established, broad feature set | No | Trial |
| Uptime Kuma | Self-hosted everything | Yes, open source | Free if you host it |
Pricing shapes checked September 2026 — verify live before budgeting.
The tools, honestly
UptimeRobot is the answer for most small apps and the free tier is not a teaser — it monitors a real number of endpoints at a real interval. Better Stack is the step up when you want on-call scheduling and incident management attached rather than assembled.
Checkly is built for developers who want checks in version control, reviewed like code, running actual browser flows rather than HTTP pings. That is the level-two monitoring above, done properly, and it is the most under-adopted thing in this category.
Cronitor and Healthchecks.io solve the silent failure: a scheduled job that stops running produces no error, no alert and no downtime — just data that quietly stops updating. Both work by having the job check in, and both are cheap. Healthchecks.io self-hosts. If you have a nightly job and no monitoring on it, that is the highest-value thing on this page.
Uptime Kuma is excellent and free, with the obvious caveat: it needs to run somewhere that is not the thing it is monitoring, and that box needs maintaining.
Got an idea? Build it now!
Just start with a simple prompt. No coding required — Greta.sh turns your idea into a working app in minutes.
The checks worth having on a small app
Start with five. The critical user path as a browser check, not a ping. The payment or billing webhook endpoint. Every scheduled job, via check-in monitoring. SSL certificate expiry — an entirely preventable outage that still happens constantly. And a check from a second region, because "down for everyone" and "down from one datacentre" need different responses.
Set the alert destination to somewhere you will actually see at 3am, and test that path deliberately once. An alert route nobody has exercised is a guess.
If you built the app with AI
The monitoring story is the same — the app is deployed software and needs checking from outside. Plainly: Greta builds and deploys it and is not an uptime monitor; install one of the tools above. Where it helps is that a failing check tells you exactly what broke, and the incident handoff template covers what to record before you start fixing. Free tier is 30 credits a month (5 a day); $20/month after ($5 with the current welcome offer).
FAQ
What is the best free uptime monitoring tool? UptimeRobot for hosted, Uptime Kuma if you can self-host, Healthchecks.io for cron jobs. All three are usable rather than crippled.
How often should checks run? Frequently enough that you learn before your users tell you — every minute or two for a critical path. The cost of a shorter interval is mostly false positives, which is an alert-policy problem rather than a reason to check less.
What is the most commonly missed check? Scheduled jobs. They fail silently, produce no downtime, and are usually discovered days later by someone noticing stale data. Check-in monitoring costs almost nothing and catches it the same day.
Do I need this if my host has a status page? Yes. A host's status page reports the host's view of the host. It cannot tell you your app returns 500 on login, or that your nightly job stopped running three days ago.



