Built for whoever gets the phone call

When a client's site stops answering, either someone in your studio notices or the client does. UptimeWarrior exists so that it is you.

No middleman

Our own software requests your site directly and reads what comes back.

No cap on a paid plan

Billing is metered per site, so there is no paid plan you outgrow at eleven. Free is the one with a limit: 3 sites.

No agent

Nothing to install on your server, and nothing to change in your markup or DNS.

01 / who

Who this is for

UptimeWarrior watches websites on behalf of the people who maintain them: agencies, freelancers and in-house developers looking after more sites than anyone can reasonably open in a morning.

Every check is made by our own software, against your site directly. There is no third-party monitoring API in the middle taking a cut and deciding what you are allowed to see. When we say a certificate expires in fourteen days, we read that certificate.

Billing is metered per site, because the number of sites is the only figure that scales with what this costs to run. There are no seats and no site cap on a paid plan, so you never have to abandon a plan to add an eleventh site.

02 / how

What each check does

Uptime

every cycle

An HTTP GET to your URL. We record the status code and how long the answer took. A 5xx or a connection that never completes counts as down. One failed request is not an outage, though, so before anyone is told the site is asked again 30 seconds later. This is the only check that runs on every cycle: 15 min on Free, 60s on Pro, 60s on Agency.

TLS certificate

hourly

We open the certificate twice: once without verification, to read the expiry date even on a chain nobody trusts, and once with it, to find out whether a browser would object. Certificates do not change minute to minute, so hourly is enough.

Domain expiry

every 6h

A lookup against the registry for the registrable domain (RDAP first, WHOIS behind it), for the registrar and the renewal date. An expired domain takes a site down without warning, and it cannot be put right in ten minutes. Some registries publish no expiry date, .nl and .de among them, and for those we say so rather than leaving a blank. On by default for a new site, on Pro and up.

Broken links

on your plan cadence

We read the page and then follow up to 50 of the links on it, confirming any rejection with a second request before calling it broken. A server that turns our request away is reported as could not check, not as a broken link. Following a page full of links is hundreds of times the work of one uptime check, which is why it runs on a schedule rather than on every cycle.

Meta tags

on your plan cadence

Title, description, social image, mobile viewport and charset, read from the page we already fetched for the uptime check rather than fetching it a second time.

Alerts

when something changes

Email on every plan; Slack, Teams, Discord and Google Chat if you add a webhook. Every confirmed outage is announced, and gets an all-clear saying how long it lasted; one that is still running gets a reminder every 4 hours, and a site that flaps is announced at most 3 times in 4 hours before it goes quiet. Certificates get a reminder at 14, 7, 3 and 1 days left, and domains at 30, 14, 7, 3 and 1. Broken links and meta tags send nothing: they wait on the dashboard.

03 / what it costs

Things we don't do

Resell somebody else's monitoring

No upstream provider sits between your site and your result, so nothing gets summarised or rate-limited on the way to you.

Keep your free check

The check on the front page runs once and is rendered once. It needs no account, nothing is stored, and there is no shareable page making claims about a site you may not own.

Charge for seats

On the plans that carry team access, invite as many colleagues as the work needs. They need no account of their own, and there is nothing for them to pay. The bill follows sites.

Ask you to install anything

There is no agent to install, nothing to add to your markup and no DNS change to make. You give us a URL.

See it on a site you know

Run one check now without an account, or make one and leave it watching. Free covers 3 sites, takes no card and keeps running for as long as somebody signs in.