Skip to content

Hear about a client’s site going down before the client does.

Add every site you look after, each checked on its own interval. When one of them changes state, a webhook goes out on that check, to wherever you actually read.

Free watches 3 sites every 5 minutes. No card needed to start.

Client sitessample data
  • Harbour Dental bookings
    online
    212ms
  • Northside Bakery
    online
    148ms
  • Kiln Studio shop
    degraded
    2,840ms
  • Fieldwork Legal
    online
    96ms
  • Tidewater Hotel booking
    offline
    no reply

One mark per check · last hour at 5-minute checks

When a site changes state, this is what arrives.

One JSON POST to the URL you choose, sent by the check that sees the change. Point it at your own endpoint, an incident tool, or a chat tool through a relay.

While a site stays the same, nothing is sent. The checks still land in the log, so you can look back at what happened before the alert.

POST to your webhook URL sample payload
{
  "event": "service.status_change",
  "service": {
    "id": 118,
    "name": "Kiln Studio shop",
    "url": "https://kiln-studio.example/shop",
    "uptime": 99.41,
    "checkInterval": 5,
    "lastChecked": "2026-10-28T09:40:02.118Z"
  },
  "status": {
    "old": "online",
    "new": "degraded"
  },
  "timestamp": "2026-10-28T09:40:02.531Z",
  "responseTime": 2840
}

A page you can send a client.

Pro and Business include one public status page for your account. It lists every service on the account with the last 24 hours of checks, and lives at a random link nobody can guess.

Because it shows the whole account, it suits clients who may see everything you watch. There is one page per account, not one per client.

/status/4f9c2a71e0b3d856sample data

Northlight Studio

5 services monitored

Major outage

  • Fieldwork Legal100.00%
  • Harbour Dental bookings100.00%
  • Kiln Studio shop100.00%
  • Northside Bakery99.65%
  • Tidewater Hotel booking99.31%

One mark per 15 minutes over the last 24 hours

Three things it does that a browser tab does not.

An interval per site

A client’s checkout can be checked every minute while their brochure site is checked once an hour. Anything from 1 to 1440 minutes, with the floor set by your plan.

Every check kept

Status and response time are recorded on every run, so the log and the per-site analytics answer “when did this start?” instead of “it looks fine now.”

Your sites, your account

Every site is scoped to the account that added it, sessions expire on their own, and a check will not reach a private address.

Three steps, then it goes quiet.

  1. Add a URL

    Paste the address, name it after the client, and choose how often it is checked: every 5 minutes or slower on Free, from every minute on Pro and Business, up to once a day.

  2. It runs on schedule

    A background scheduler checks each site on its own interval and writes down the status and the response time.

  3. You hear about changes

    Only a status change reaches you. Everything else waits in the log and the analytics until you go looking for it.

Three plans. The free one is a real one.

Every plan uses the same checker and sends the same webhooks. Plans differ in how many sites you can watch, how often they are checked, how far back the log goes, and whether you get a status page.

Free

$0/mo

Your own site and a couple of clients’, to see how it fits.

  • 3 monitors
  • 5 min checks
  • 7-day log history
  • No status page
Start on Free

Pro

$9/mo

25 monitors for $9, checked every minute, with a status page to send clients.

  • 25 monitors
  • 1 min checks
  • 30-day log history
  • Public status page
Start free, upgrade later

Business

$29/mo

More sites, and a longer record to look back through.

  • 100 monitors
  • 1 min checks
  • 90-day log history
  • Public status page
Start free, upgrade later

Every account starts on Free, with no card needed. Move between plans any time from Settings, under Plan & Billing.

The details.

Check interval
1 to 1440 minutes; the floor depends on your plan
Notifications
One JSON POST per status change, up to 3 attempts
Status page
One per account, listing every service on it (Pro and Business)
Recorded
Status and response time, on every check
Accounts
Email sign-in, sites scoped per account
Targets
Public HTTP and HTTPS; private addresses refused

Start with the one URL you would hate to hear about last.

Add a site, set an interval, point the webhook somewhere you actually read.