StatOSS

StatOSS compared with openstatus

openstatus is an open source status page and uptime monitor under AGPL-3.0, hosted from $30 a month. StatOSS is open source under MIT, hosted from free.

northwind.statoss.comPublic page

Northwind is up.

All 2 monitors are responding, 5 failed checks in the last 24 hours.

API

Up for 6 h 51 min99.65% passed

1,438 checks, median 204 ms, 5 timeouts

95% under 299 ms

  • Timed out5 min, 5 checks

Website

Up for 23 h 58 min100% passed

1,438 checks, median 137 ms, all passed

95% under 199 ms

The same five-minute outage at 03:02 UTC on a StatOSS strip, with made-up data: five amber bars and an entry naming the time and the reason. On a page of daily squares the day stays green and the month reads 99.99%.

Side by side

StatOSSopenstatus
Free tier1 page, 1 monitor, checks every 5 minutes, 7 days of history, email alertsHobby: 1 monitor, checks every 10 minutes, 1 status page with 3 components
Cheapest paid planHobby $4 a month: 10 monitors, every minute, 90 days. Pro $15: 100 monitors across 10 pages, a year, your own domainStarter, $30 a month or $300 a year: 20 monitors, checks every minute from 6 regions, 1 status page with 20 components, your own domain, subscribers, 3 months of data
Sold separatelySubscribers past 1,000 a page, in blocks of 1,000; people past 3 on Pro at $5 a month each10 more monitors $15 a month, another status page $20, a custom theme $20, white label $300, email authentication $100, IP restriction $100
Check locationsAarhus and Copenhagen in Denmark, Falkenstein in Germany, Ashburn in the USA, Singapore, and Sydney in Australia, the regions in turn, with every failure checked again from every region28 public regions on Fly.io, Railway and Koyeb, Sydney among them: 6 per monitor on Starter, all 28 on Pro, $100 a month; private locations on Pro
Monitor typesHTTP with keyword, TCP, DNS, ping, certificate, domain expiry, heartbeat, componentHTTP, TCP, DNS, ping and gRPC
AlertsEmail on every plan; Slack, Discord, Microsoft Teams, Telegram, PagerDuty, Opsgenie, Pushover, ntfy and a signed webhook on Hobby and Pro. No SMSSlack, Discord, email, webhook, WhatsApp, PagerDuty, Opsgenie and Grafana OnCall
PeoplePro includes 3 people, $5 a month for each one afterUnlimited team members on every plan
LicenceMIT: run it, change it and ship it inside something elseAGPL-3.0: a changed version run as a network service must publish its source

Facts about the other product were read from its own site on 5 October 2026. Prices and limits change; check theirs before deciding, and tell [email protected] if something here is out of date.

What StatOSS does differently

Most uptime pages show a row of green squares, one per day, and a percentage. A five-minute outage at 3 a.m. becomes a square that is still green and a figure that still says 99.99%. StatOSS draws a strip per monitor where every bar is one check, its height the response time, amber for a timeout and red for any other failure, and groups the failed checks into entries with the time and the reason. The mark stays visible for the whole range. A customer who was refused at 3 a.m. finds the moment on the page, and so do you.

Before a failure counts, a second server on another network repeats the check, and only a failure both see goes on the record; two of those in a row make an outage. The response time of every check is kept, and a slow threshold turns a sluggish service into its own state with its own alert. The core is open source under MIT, so the page you get from the hosted service is the page you can run yourself.

When openstatus is the better pick

If you need 30-second checks, private locations inside your own network, WhatsApp alerts or unlimited team members, openstatus has them. Its checks and its page are open source too, with a self-hosting guide.

Where StatOSS fits: Hobby is $4 a month for 10 monitors checked every minute, and Pro is $15 for 100 monitors across 10 pages with your own domains; openstatus Starter is $30 for 20 monitors on one page. Every failure is checked again from every region before it counts. Any CSV with a URL column imports; the import page has the steps.