Skip to content

We check your site from somewhere your server cannot take down with it.

No account, five checks an hour. You get the status code, the response time, the certificate expiry and the redirect chain.

Two ways a monitor quietly stops working

The first is self-hosting it next to the thing it watches. Uptime Kuma in a container on the same box as your app is a dashboard, not a monitor. The host runs out of memory and both go down. The disk fills and both go down. The provider reboots the node and both come back together, with nothing recorded in between, because the only witness was also unconscious.

The second is a free tier. They cap the number of checks and the interval, and their terms are usually written for personal use, which is a problem the day the side project starts invoicing. Neither cap is unreasonable. They are just not a foundation.

your server, 03:14

app.example.com  no route to host

uptime-kuma    no route to host

alerts sent: 0

Both processes were on the same machine. Nothing was wrong with either of them.

What a check can be

Six kinds. Each one is a condition that either holds or does not, evaluated every five minutes.

HTTPGET /health → 200
A request completes and comes back with a status code you named, inside a timeout you set. Redirects are followed and counted.
Keyword presentbody contains "queue: ok"
A 200 with an error page in the body is still an outage. Name a string that has to be there.
Keyword absentbody absent "Traceback"
The inverse, for when failure has a signature. A stack trace rendered to the page counts as down.
Certificate expirycert valid_to − now > 14d
Read on every check. You hear about it a fortnight out, then again at three days, then on the day.
Domain expirywhois expiry − now > 30d
Checked daily. Auto-renew fails quietly when a card expires, and the domain is gone before anyone notices.
HeartbeatPOST /beat/6f2a every 1h
For work with no URL to poll. Your cron job calls us when it finishes; we alert when the call does not arrive.

One message per incident

A check that fails once has usually not failed. We retry twice, thirty seconds apart, and only then decide something is wrong. Alerts go to email and Telegram.

You get one message when an incident opens and one when it closes, with the duration. Not one per failed check. A four-hour outage is two messages, which is the difference between an alert you read and a channel you mute.

  1. 12:04:00GET https://api.example.com/healthconnect timeout
  2. 12:04:30retry 1connect timeout
  3. 12:05:00retry 2connect timeout
  4. 12:05:00alert sentemail + Telegram
  5. 12:31:00200 OK in 240 msresolved, 27 min

Telegram

Resolved — api.example.com
Down 27 min, 12:05 to 12:31 UTC.
Now 200 OK in 240 ms.

A status page you can send to a customer

One public page per account, at a URL you choose. It shows the checks you mark public, the last ninety days, and the incidents as they were recorded, with no way to edit history after the fact.

It is served from the same place the checks run, which means it stays up when you do not. That is the whole point of it.

Example, Inc.

All systems answering

Web app

100%

API

99.94%

Nightly export

99.99%

Ninety days, oldest on the left.

Pricing

MonthlyAnnual, two months off

Ten checks

One project, and the things around it that can expire.

$6a month

  • 10 checks of any type
  • 1 public status page
  • Email and Telegram alerts
  • 30 days of history

Fifty checks

Everything you run, including the jobs nobody watches.

$18a month

  • 50 checks of any type
  • 1 public status page
  • Email and Telegram alerts
  • 90 days of history
  • Heartbeats for cron jobs

Three things to know before you pay

  • Best effort, no SLA.

    We do not offer credits and we do not promise a number. If your business needs a contractual guarantee, buy one from someone who sells it.

  • Email and Telegram only.

    No SMS, no phone calls, no Slack, no PagerDuty. If nobody reads email or Telegram at night, this will not wake anyone.

  • Five minutes is the floor.

    No plan checks faster, at any price. A short outage between two checks is one we will never see.

Against the two things you are probably weighing

Uptime Kuma is genuinely good software and it is free. If you are willing to run it on a machine separate from the one you are watching, it will do more than we do. This table is here so you can decide against us quickly.

Feature comparison
IsMyAppUpUptime Kuma, self-hostedUptimeRobot free
Runs onOur machines, in a different data centre from yoursA machine you own and pay forTheir machines
Price$6 or $18 a monthFree software, plus whatever the server costsFree
Notices when your server diesYesOnly if it is not on that serverYes
Fastest interval5 minutesDown to 20 seconds5 minutes
Alert channelsEmail and TelegramNinety-odd, including Slack, Discord, SMS gatewaysEmail, and more on paid plans
Status pagesOne per accountUnlimited, fully themeableYes
Upgrades and backupsOursYoursTheirs
Commercial useYesYesRead their terms before you rely on it

Questions

Where do the checks run from?

Servers in Germany and Finland, on infrastructure we do not share with the parts of our own stack that serve this website. A check is only useful if it fails independently of the thing it is checking.

What happens when your service goes down?

You get no alerts, and you should assume that is possible. There is no SLA and we will not pretend otherwise at this size. Our own status page is in the footer, and the checks that watch us run somewhere else again.

Why should I pay when Uptime Kuma is free?

Often you should not. If you already run a box that is separate from the thing you want to watch, and you do not mind maintaining one more service, Uptime Kuma is better software than this and it costs nothing. Pay us when you do not want a second box to look after.

Can I get alerts in Slack, Discord, or by SMS?

Not today. Email and Telegram are the two we can support properly, so they are the two we ship. Adding channels we cannot answer questions about would make the product worse.

How quickly will I hear about an outage?

Checks run every five minutes and we retry twice, thirty seconds apart, before alerting. In practice that is five to seven minutes from the first failure. If you need sub-minute detection, this is the wrong product.

What do you keep?

The URLs you ask us to check, their results, your email address, and your Telegram chat id if you connect one. Response bodies are read for keyword matching and then discarded, never stored.