Checkly is free to start on its Hobby plan, then $24/month for Starter and $64/month for Team when billed annually, with a custom Enterprise tier above that. The plan price is only half the story. Checkly meters API checks and browser checks per run, so what you actually pay depends on how many checks you have, how often they run, and from how many locations. This is a walkthrough of the 2026 plans, how check-run billing turns into a surprise line on the invoice, and how to tell whether you need what Checkly sells.
All prices here were checked against Checkly's live pricing page on 2026-08-15.
How much does Checkly cost?
Checkly has three published tiers plus a custom one. The headline is the plan price. The part that moves your bill is the bucket of included check runs.
- Hobby (free): 10 uptime monitors, 10,000 API check runs/month, 1,000 browser check runs/month, 1 user, 6 public locations.
- Starter ($24/month, billed annually): 50 uptime monitors, 25,000 API check runs/month, 3,000 browser check runs/month, 3 users, 100 SMS credits/month.
- Team ($64/month, billed annually): 75 uptime monitors, 100,000 API check runs/month, 12,000 browser check runs/month, 10 users, all 22 locations, private locations included, 200 SMS credits/month.
- Enterprise (custom): negotiated monitors, runs, and seats.
Checkly advertises up to 20% off for paying annually. Two costs sit outside the base price:
- Extra uptime monitors: $8 per block of 25, on Starter and Team.
- Check-run overages: on Starter, $6.50 per 1,000 browser runs and $2.60 per 10,000 API runs. On Team, $6.25 per 1,000 browser runs and $2.50 per 10,000 API runs.
Uptime monitors are a flat count. Browser and API checks are the metered part, and they are where a $24 plan can quietly become a $60 one.
What is a check run, and why does the bill surprise people?
A check run is one execution of an API or browser check. The number that lands on your invoice is not the number of checks you built. It is:
runs per month = (number of checks) x (runs per hour) x (24 hours) x (30 days) x (locations)
Every term multiplies. That is the whole trap. Here is what it looks like for one browser check on the Starter plan.
A single Playwright browser check running every 5 minutes fires 288 times a day, which is about 8,640 runs a month from one location. Starter includes 3,000 browser runs. So one check at a 5-minute interval leaves you roughly 5,640 runs over the limit. At $6.50 per 1,000 browser runs, that is about $37 in overages on top of the $24 base. One browser check, about $61 a month. Add a second location or a second flow and it climbs from there.
API checks are bucketed more generously, so they bite less often. Starter's 25,000 API runs cover about three API checks at a 5-minute interval (each is roughly 8,640 runs a month). Tighten one of those to a 1-minute interval, though, and that single check is around 43,200 runs a month on its own, which pushes you into API overages too.
None of this is hidden, exactly. It is just spread across a run count that most people do not multiply out before they sign up. The Starter price you remember is $24. The bill you get reflects how hard you actually run your checks.
When is Checkly worth the price?
For the right team, easily. Checkly is a synthetic monitoring platform, and the thing it does that most uptime tools cannot is run real browser flows as tests. A few reasons to pay for it:
- Playwright browser checks. You can script a login, a checkout, a multi-step form, and have Checkly replay it on a schedule from real browsers. That catches breakage a status-code ping never sees.
- Monitoring as code. Checks are TypeScript, Terraform, or Pulumi resources deployed from a CLI, so your monitoring lives in the same repo and review flow as your app.
- Global coverage and traces. Checks run from 20-plus locations, and OpenTelemetry traces let you follow a failing request through your stack.
- Status pages and team features. Hosted status pages, more seats, and private locations arrive on the higher tiers.
If your product breaks in ways only a real browser session reveals, and you have the engineering time to write and maintain checks as code, Checkly's price buys something genuinely hard to replicate. That is the reader who should stop here and go sign up.
When are you paying for synthetic monitoring you don't use?
The other common case: you opened Checkly because your site went down and nobody told you, or a cron job failed silently for a week. That is an uptime and heartbeat problem, not a browser-testing problem. If you are not writing Playwright flows, not deploying checks as code, and not reading traces, most of what you are paying for on Starter or Team is sitting idle, and the check-run meter is still running.
A quick gut check. You probably do not need Checkly's synthetic tier if:
- You mostly want to know that a URL or API endpoint returns 200 and responds quickly.
- Your riskiest silent failures are background jobs and cron tasks, not front-end flows.
- You want one predictable monthly number, not a bill that moves with check frequency.
- You would rather click a monitor into existence than write and maintain it in code.
That is a real and common set of needs, and it does not require per-run billing to meet.
How does CanaryHub compare on price?
CanaryHub is built for that second reader: the solo dev or small team who wants uptime and cron alerts without a synthetic-testing platform attached. The pricing is flat, and there is no check-run meter.
- Free ($0): 1 project, 3 monitors, 5-minute checks, Telegram alerts batched every 4 hours, AI daily digest.
- Pro ($8.99/month, or $71/year at about $5.92/month): 3 projects, unlimited monitors, 60-second checks, instant alerts with no batching.
- Business ($24.99/month, coming soon): unlimited projects and monitors, team seats, 30-second checks.
The structural difference is the meter. An HTTP monitor checking every 60 seconds runs about 43,200 times a month, and on CanaryHub that is simply included in a flat plan. There is no per-run browser or API tier to overshoot, so the number you pay in month one is the number you pay in month six.
Two other things solo devs tend to care about. CanaryHub defaults to Telegram alerts, with Slack, Discord, and email alongside it, whereas Checkly routes through Slack, PagerDuty, OpsGenie, Teams, Discord, and email but not Telegram. And CanaryHub does heartbeat monitoring the same way Checkly does: point your cron job at a unique ping URL, and if the ping is late, you get alerted.
# Add to the end of your cron job, after the real work succeeds
curl -fsS -m 10 https://ingest.canaryhub.ai/ping/YOUR_TOKEN
Silence past the expected interval plus a grace period becomes the alert. That is the dead man's switch for the jobs a green uptime check cannot see.
To be clear about the trade: CanaryHub does not run Playwright browser checks, does not offer monitoring-as-code, does not run from 20-plus locations, and does not do OpenTelemetry traces or hosted status pages. If you need those, Checkly is the better tool and worth its price. If you do not, you are choosing between a flat $8.99 and a metered $24-and-up for a job the flat plan already does.
The short version
Checkly's list price is $24/month for Starter and $64/month for Team, but the real bill rides on check runs, and browser checks at a tight interval are what turn a small plan into a large invoice. Pay it when you are running real browser flows and monitoring-as-code, because nothing cheaper replaces that. Skip it when you mainly need uptime and cron heartbeat alerts, because a flat-rate monitor does that without the meter. Work out your own run count first, using the multiplication above, before you assume the plan price is the price.
