saysOK vs Better Stack
Both watch your sites, page whoever is on call and run your status page. The difference is the bill: Better Stack charges for each responder and sells monitors and status page features in packs; saysOK is one flat price per workspace.
- 5 responders × $34
- $170
- 1 pack of 50 monitors
- $25
- Pro, flat
- $19
- 5 seats, 50 monitors
- included
Side by side
saysOK's column is what its plans include today. Better Stack's is what its pricing page said on Oct 8, 2026; check there for current figures.
| What is compared | saysOK | Better Stack |
|---|---|---|
| Price | ||
| How it is priced | $19 or $79 a monthPro or Team, flat per workspace | $34 a month per responder$29 billed yearly, plus packs |
| People included | 5 or 10 seatsPro or Team; $4 a month per extra seat on Team | Paid per personEach responder is a paid licence |
| Free plan | 10 monitors5 min interval, 1 status page | 10 monitors and heartbeats1 status page, Slack and e-mail alerts |
| Monitoring | ||
| Monitors | 50 or 250Pro or Team | 10 included50 more for $25 a month ($21 billed yearly) |
| Fastest check | 30 sec or 15 secPro or Team, up to 3 million or 15 million checks a month | 30 sec |
| Logs, metrics and traces | Not offered | OfferedIn the same product |
| Status pages | ||
| Status pages | 3 or unlimitedPro or Team, each on your own domain | 1 includedEach further page $15 a month ($12 billed yearly) |
| Password-protected status page | Included | $50 a month per page$42 billed yearly |
| Custom CSS on a status page | Included | $15 a month per page$12 billed yearly |
| Alerts | ||
| SMS and voice call alerts | 50 messages and 20 calls a monthSMS or WhatsApp, on Pro. Team: 500 and 100 | UnlimitedAs listed on its pricing page |
Work out your own bill
Set how many people take alerts and how many monitors you run. Yearly discounts and status page extras are left out of both. Better Stack's figures are its listed monthly prices from Oct 8, 2026; tax is left out of both.
Better Stack $195 a month, saysOK $19 a month.
What happens at 02:14 with saysOK.
One night at a made-up product, step by step: what saysOK does on its own, what your team sees, and what your customers read.
- Your teamThe check from Frankfurt gets HTTP 503From api.acme.example/health. One region only, so nobody is paged yet.02:14:00
- Your teamVirginia sees it too: incident openedSEV-1. Maya, primary on call, gets a push notification and the Slack message at once.02:14:07Your status page“We are investigating an issue affecting API.”Nobody typed it: the page and its subscribers are updated from the incident.
- Your teamMaya acknowledgesFrom the Slack message. The secondary on call is never woken.02:16:30
- Your teamChecks pass from every region: resolvedThe incident resolves itself, and the Slack message says so.02:29:50Your status page“This incident has been resolved.”API is operational again, and subscribers are told.
- Your teamThe post-mortem is writtenStarted from the incident's timeline.09:30:00Your status pageThe post-mortem goes on the pageUnder the incident, for customers to read.
- Down for
- 15 min 50 s
- Customers told
- at 02:14
- Status updates typed
- none
Which one fits
Neither is right for everyone. This is how we would choose.
Choose Better Stack if
- You want logs, metrics and tracing in the same tool as uptime. saysOK does uptime, incidents and status pages only.
- Your team sends a lot of SMS and voice call alerts. Better Stack lists them as unlimited; saysOK includes a fixed number each month.
- Only one or two people ever respond, so a per-responder price stays small.
Choose saysOK if
- Several people share on-call, and you do not want the bill to grow with each one.
- You run more than one status page, or want a password or your own CSS on it, without paying per page.
- You want monitors, seats and status pages in one flat price, without packs to add up.
What saysOK includes
Part of the product, not sold as an add-on.
On-call, with a next person if nobody answers
A schedule says who is primary and who is secondary each day. An alert rule pages them in steps: when an alert is not acknowledged in time, the next person is paged.
- at once Slack · #alerts
- +5 min Primary on-call, if not acknowledged
- +10 min Secondary on-call, if still not acknowledged
Every incident keeps its record
A timeline of what was detected, who acknowledged and when it was resolved, with a severity from SEV-1 to SEV-4. Write the post-mortem from it and publish it to your status page.
- 02:14:07Detected: Acme shop is down
- 02:14:08Maya paged by phone call
- 02:15:31Acknowledged by Maya
- 02:31:10Resolved: checks passing again
Cron jobs and backups, next to the uptime checks
A heartbeat monitor expects a ping from each scheduled job and alerts when one does not arrive, so a backup that silently stopped is found the same day.
# crontab: report in when the backup has run
0 3 * * * backup.sh && curl -fsS https://saysok.com/api/heartbeats/YOUR_TOKEN/pingAn API, and a way in for AI assistants
Monitors, incidents and heartbeats are reachable over a public REST API. The MCP endpoint lets assistants such as Claude Code and Cursor work with them too.
curl https://api.saysok.com/v1/monitors \ -H "Authorization: Bearer YOUR_API_KEY"
claude mcp add --transport http saysok https://api.saysok.com/mcp --header "Authorization: Bearer YOUR_API_KEY"
Try it on your own sites.
The free plan covers 10 monitors and one status page. Move to Pro or Team when you need faster checks or seats for a team.