UptimeRobot is where many people start, and for good reason. Its free plan watches 50 monitors, covers HTTP, keyword, ping, port and DNS checks, and costs nothing. The catch is in the details of the pricing and location pages: free checks run every 5 minutes, from a region UptimeRobot assigns, and the plan is described as "good for hobby and non-profit projects".
None of that matters for a side project. For a site that earns money, two questions are worth asking of any monitor: where are the checks coming from, and how often?
Where the checks come from
UptimeRobot lists four monitoring regions: North America, Europe, Asia and Australia. Free monitors get a region assigned automatically; choosing one, or adding several to a monitor, takes a paid plan. When a check fails, UptimeRobot confirms it from other nodes within the same region before opening an incident.
CheckHTTP is built around a different idea: the same check, run on three separate cloud providers. Every site, including the free one, is checked by runners on AWS, Google Cloud and Azure, each on its own network. Paid plans add more locations on the same three clouds:
aws/us-west-1 and gcp/us-west-1.Why the provider matters: a checker can only report what its own network sees. On October 20, 2025, a DNS fault in DynamoDB disrupted a large part of AWS's US-East-1 region for most of a day. A monitor that lived only inside that region had no clean way to tell its own trouble from yours. With runners on three clouds, "AWS sees it down, Google Cloud and Azure see it up" is a different message from "all three see it down", and you can set alerts to wait for the second kind.
How long outages actually last
CheckHTTP checks every monitor once a minute. Over the 30 days to October 17, 2026, that came to 4.5 million checks of 125 sites. We counted every time a site failed two or more checks in a row, and how long it stayed down.
Most outages are short. A deploy restarts a server, a load balancer drops a node, a database fails over, and a minute or two later everything is back. That is exactly the kind of event a 5-minute check tends to step over:
Roughly half of these outages would never have registered on a 5-minute schedule. Whether that matters depends on the site. A two-minute blip on a blog is noise. A two-minute blip on a checkout during a launch is lost orders, and if it repeats every few days, a pattern you would want to see before your customers point it out.
The price of checking every minute
On UptimeRobot, 60-second checks start with the Solo plan: $12 a month billed yearly ($144), or $13 month to month, for 10 monitors, with SMS and voice credits included. Team, at $39 a month billed yearly, checks every 30 seconds and adds seats for colleagues.
CheckHTTP takes the opposite trade. The free plan checks one site every 60 seconds from all three clouds. Premium covers five sites for $7 a month and adds US East and Germany; Professional covers ten for $15 and adds Ohio, Tokyo, Singapore and São Paulo. You get fewer monitors for free, but the free monitor is as fast as the paid ones, and there is no hobby-only clause.
Uptime, real users and visitor stats in one place
UptimeRobot's plans are about uptime; real-user monitoring is not among the features they list. CheckHTTP puts both halves on the same plan. Add one script to your site and the monitor's Visitors & RUM tab shows:
- Visitors and engagement: how many real people came, how many sessions were engaged and how long pages stayed in view, with bots filtered out.
- Page speed from real browsers: LCP, INP, CLS and time to first byte at the 75th percentile, graded against the Core Web Vitals bands.
- JavaScript errors: grouped by message, with the pages they happened on.
So an outage alert comes with the question that follows it answered: how many visitors were on the site when it broke. The full analytics, with referrers, countries and devices, open in StatsHarbor with one click, no second login.
At a glance
Competitor details from their own pricing and documentation pages, checked October 18, 2026.
Where UptimeRobot is the better choice
- Breadth for free. Fifty monitors costs nothing. If you need a rough eye on many endpoints and five minutes is fine, nothing here beats it.
- Alert channels. Microsoft Teams, Telegram, PagerDuty and Zapier connect directly, and paid plans add SMS and voice calls. CheckHTTP sends email, Slack messages and webhooks.
- Monitor types. Ping, port, UDP, DNS and domain-expiry monitors are built in. CheckHTTP checks HTTPS endpoints, plus whatever you can script over HTTP.
- Mobile app and team seats. UptimeRobot has a mobile app and sells seats for teams.
What else CheckHTTP records
A CheckHTTP check records more than up or down. Every request logs DNS lookup, connection, TLS handshake and time to first byte, the runner and cloud that made it, and the certificate's issuer and expiry date, so a slow afternoon shows up as "TLS took 900 ms from Azure" and not just "slow". You can attach a HAR file to a sample of checks, or capture one on demand while you debug.
When a plain status code is not enough, a scripted check runs a few lines of JavaScript with fetch, assert and an HTML parser, and secrets you store encrypted:
const started = Date.now();
const res = await fetch(url + '/api/health', {
headers: { 'x-api-key': secrets.HEALTH_KEY }
});
const body = await res.json();
assert.equal(body.database, 'ok'); // a failed assert marks the check down
return { status: 'up', http_status: res.status, latency_ms: Date.now() - started };
Using both
The two do not have to be either-or. A common split is to keep UptimeRobot's free plan watching the long tail of endpoints at 5 minutes, and point CheckHTTP's multi-cloud, 60-second checks at the one or two paths that pay the bills: the checkout, the login, the public API.
Check your most important page every minute, from three clouds. One site free, no credit card.
Start monitoring free