payments-api.acme.com — 98ms — HEALTHY checkout.acme.com — 112ms — HEALTHY webhooks.acme.com — TIMEOUT — ALERTING jobs.acme.com/cron — 4m ago — DEGRADED auth.acme.com — 44ms — HEALTHY cdn.acme.com — 18ms — HEALTHY payments-api.acme.com — 98ms — HEALTHY checkout.acme.com — 112ms — HEALTHY webhooks.acme.com — TIMEOUT — ALERTING jobs.acme.com/cron — 4m ago — DEGRADED auth.acme.com — 44ms — HEALTHY cdn.acme.com — 18ms — HEALTHY payments-api.acme.com — 98ms — HEALTHY checkout.acme.com — 112ms — HEALTHY webhooks.acme.com — TIMEOUT — ALERTING jobs.acme.com/cron — 4m ago — DEGRADED auth.acme.com — 44ms — HEALTHY cdn.acme.com — 18ms — HEALTHY
Uptime monitoring with intelligent alert routing

Your alerts
always land.

When your service goes down, your alert channel might too. Failover.io cascades alerts across email, SMS, voice, Slack, Discord, Teams, Telegram, PagerDuty, webhooks, and ntfy — until someone acknowledges.

Start monitoring free →
10
Alert channels
< 30s
Alert latency
Failover steps
1-tap
Acknowledge
failover-agent — monitor: api.acme.com
03:02:00[OK]GET api.acme.com/health — 200 — 87ms
03:02:30[OK]GET api.acme.com/health — 200 — 91ms
03:03:00[WARN]GET api.acme.com/health — 504 — 5023ms — threshold exceeded
03:03:30[DOWN]GET api.acme.com/health — CONNECTION REFUSED — initiating alert chain
03:03:31[ALERT]Channel 1: Slack #incidents — sending... no ACK after 120s
03:05:31[FAILOVER]Channel 2: SMS → +1-555-0147 ([email protected]) — delivered
03:06:04[ACK]Incident acknowledged by [email protected] via SMS reply — escalation halted
03:06:04[LOG]Time to acknowledge: 2m 33s — alert chain: slack → sms ✓

Core features

Cascading Alert Chains

Define ordered fallback channels. If Slack doesn't get acknowledged in 2 min, fire SMS. Then voice call. Then page the VP.

🔁
Cron Job Monitoring

Wrap any scheduled job with a heartbeat ping. We alert you if it stops reporting — before your customers notice silent failures.

📡
Smart HTTP Checks

Status codes, response time, keyword match, and SSL expiry — with custom headers for authenticated endpoints. Retry thresholds eliminate alert noise from network blips.

📄
Hosted Status Pages

Public status pages showing your monitors' current state and recent incident history. One-click embed code for your own site or docs.

🕐
On-Call Scheduling

Daily or weekly rotations across your team, in their timezone. One-click overrides when someone needs cover. Alerts route to whoever is on-call now.

🔌
10 Alert Channels

Email, SMS, voice call, Slack, Discord, Telegram, Microsoft Teams, PagerDuty, webhook, and ntfy. Route incidents wherever your team lives — and chain them so the alert always lands.


Use cases

What you can actually monitor.

Not a monitoring tool that says "we support HTTP, figure out the rest." Every workflow below is a checked box in the product, with specific knobs designed for it.

failover-agent — supported check types
01
Web API
REST, GraphQL, webhooks
Any HTTP or HTTPS URL, any method. Assert on status, response_time, response body, or keyword. The core check — what most services need.
GET POST PUT PATCH DELETE
02
Blockchain
RPC nodes & web3 infra
Monitor Ethereum nodes, Solana RPCs, Bitcoin Core, or any JSON-RPC 2.0 service. Send the payload, assert on result, catch errors returned as HTTP 200.
eth solana btc
03
Authenticated
APIs behind a token
Bearer tokens, API keys, custom signing headers. Up to 20 headers per monitor, stored securely. Auth-gated endpoints are monitored like any other.
Authorization X-API-Key
04
SSL
Certificate expiry
Toggle SSL monitoring on any HTTPS URL. Warns 30 days before expiry, escalates at 7, pages at 1. Catches the Friday-afternoon outage nobody saw coming.
30d 7d 1d
05
Cron
Scheduled-job heartbeats
Your cron pings us every run. If the ping doesn't arrive in the expected window, we alert. Catches silent failures — jobs that die without raising an HTTP error.
curl wget http
06
Keyword
Body content validation
Assert specific text appears (or is missing) in the response body. Catches the "200 OK with broken HTML" outage that status-code-only checks miss.
contains missing
6 check types · available on all plans ready

How alert failover works

The alert always gets through.

Configure a priority chain. Each step waits for acknowledgment before cascading to the next. Slack down? No problem.

STEP 01
Slack #ops
Wait 2 min for ack
STEP 02
Wait 5 min for ack
STEP 03
Voice call → Bob
Wait 3 min for ack
STEP 04
PagerDuty escalation
Wakes the on-call rotation
STEP 05
Acknowledged ✓
Cascade halts

Pricing

Free
$0/mo

For side projects and hobby devs who just need the basics.

  • 5 monitors
  • 60s check intervals
  • All channels except SMS/voice
  • 1 status page
  • 7-day incident history
  • 2-step alert chains
Start free
Team
$79/mo

For engineering teams with real on-call responsibilities.

  • Unlimited monitors
  • 15s check intervals
  • All 10 alert channels
  • Unlimited status pages
  • 365-day history
  • On-call scheduling
  • Up to 20 team members
Get Team

Frequently asked

Questions, answered.

What happens if failover.io goes down?
Our infrastructure runs on an active-active HA setup across multiple datacenters with Patroni-managed PostgreSQL replication. If one server goes down, the others continue serving traffic within seconds.
How fast are alerts delivered?
Under 30 seconds from detection to delivery on Pro+ plans. Free plan polls every 60s. Alerts dispatch in parallel to all configured channels in the current escalation step.
Can I acknowledge alerts from SMS?
Yes. Tap the ACK link in the SMS to acknowledge and halt the escalation chain. Same for email (click the ACK button), voice calls (press 1), or Slack (click the button in the alert message).
Which alert channels are supported?
10 channels: email, SMS, voice call, Slack, Discord, Telegram, Microsoft Teams, PagerDuty, webhook, and ntfy. SMS and voice require Pro+. Mix and chain them in any order — Slack first, then SMS if no ack, then a voice call to the on-call, then PagerDuty as the last resort.
Can I cancel anytime?
Yes. Cancel from your billing page — your plan remains active until the end of the current period, then reverts to Free. No cancellation fees, no questions asked.
Do you offer annual billing?
Yes. Pay yearly and get 2 months free on both Pro and Team plans. Toggle on the billing page.
What happens to my monitors if I downgrade?
Monitors over the Free limit are paused (not deleted). Re-upgrade anytime to resume them. No data loss.
Can I use failover.io for internal services?
Yes — HTTP checks work on any publicly accessible URL. For internal services, use our heartbeat monitoring: have your service ping us on a schedule instead.
How is failover.io different from other monitoring tools?
Cheap uptime monitors send one email and assume someone saw it. The serious incident response platforms handle escalation properly but charge per user and don't include monitoring — you end up bolting them onto a separate uptime tool. failover.io is the middle: real cascading escalation combined with monitoring, at flat-rate pricing. Alerts move through your configured channels (email -> SMS -> voice -> on-call) and each step waits for an explicit acknowledgment before the next fires.

Sleep better.
Ship faster.

Start monitoring in 60 seconds. No credit card required.

Start monitoring free →