Migrate

Migrate from UptimeRobot to Quietbeat

Quietbeat adds on-call and escalation, heartbeats that report a run, a status page and a write-capable MCP server to the monitors you bring across, in a flat plan with no seat charges. A read-only API key in, your monitors across, and their uptime history after them. The importer reads your UptimeRobot account, shows the plan as a checklist and creates only what you tick. It never writes to UptimeRobot and never deletes anything here. This page says exactly what transfers and what does not, from the importer's own code.

What you gain by moving.

  • On-call and escalation in every paid plan. Rotations, overrides and escalation ladders from Solo at $9 a month, with 1 schedule on Solo and unlimited from Team. A rotation emails the person on call; ladder pages to chat channels and webhooks repeat up to 20 rounds until acknowledged, with nothing billed per message. UptimeRobot: No on-call scheduling or escalation; Team and Scale can hand off to PagerDuty. (source, 16 Oct 2026)
  • No seats to buy. Teammates are unlimited from Team, and a page can reach 5 people on Team and 40 on Scale. UptimeRobot: Team includes 3 login seats and 3 notify seats; an extra login seat is from $15/mo billed annually. (source, 16 Oct 2026)
  • More monitors at the same interval. Team watches 200 monitors every 30 seconds for $19 a month billed monthly, or $190 a year. UptimeRobot: Team is 100 monitors every 30 s. The page as read showed euro prices: €41/mo billed monthly, €35/mo billed annually (€420/yr). (source, 16 Oct 2026)
  • Heartbeats on every plan, the free one included. A start ping opens a run, a fail ping carries the job's exit code, and the output you send travels with the beat. UptimeRobot: Heartbeat monitors on Solo and above. (source, 16 Oct 2026)

Step by step.

  1. Create a read-only API key. UptimeRobot → Integrations → API → Read-only API key → Create. A read-only key is all the importer needs, so Quietbeat can never change anything in your UptimeRobot account.
  2. Open /import/uptimerobot and paste the key. You need a Quietbeat account; the free plan is enough to start. The importer fetches every monitor on the account, page by page, and shows the plan: what would be created, what would be updated, what is already here.
  3. Tick what you want and import. Monitors are matched by name, so a second run updates rather than duplicates. Your plan's monitor limit is applied up front: if more monitors come back than you have free slots, the plan says which ones did not fit, and a re-run after an upgrade brings them across.
  4. Point each heartbeat cron at its new URL. A ping token cannot transfer. Every heartbeat the import creates gets a new URL, shown once on this page when the import finishes. Copy it then: it is not shown again, and a lost one is replaced by rotating the address on the monitor's page. The cron is changed before UptimeRobot is switched off.
  5. The uptime history follows. Once the import is applied, Quietbeat reads the UptimeRobot log by itself for the monitors it just created: the outages the log returns and the days around them, from each monitor's creation date, as far back as your plan keeps history. Outages become incidents and days become daily history, so the monitor does not start from a blank day. The log is read in batches of up to 200 events, so a single very busy day can come back incomplete. For monitors that are already here, the preview of a re-run offers a button that brings their history across.
  6. Switch UptimeRobot off. Only once every heartbeat has pinged its new URL and the first checks have run.

What transfers.

One row per UptimeRobot monitor type, as the importer handles it. Anything else UptimeRobot adds is skipped with a note rather than guessed at.

UptimeRobot type Becomes Outcome
HTTP(s) http imported with its URL and interval
Keyword http imported with the keyword when UptimeRobot alerted on it going missing; an alert-when-it-appears keyword comes across as a plain HTTP check, with a note
Ping (ICMP) nothing skipped with a note: no ICMP check here
Port tcp imported as a TCP check on host:port
Heartbeat heartbeat imported; the cron must be pointed at the new ping URL

Intervals come across as the nearest offered rhythm at or above yours, and never below your plan's floor: 60 seconds on Hobby and Solo, 30 seconds from Team.

What does not transfer.

  • Alert contacts. The importer reads monitors only. Alert channels are set up here, at /alert_channels, and email alerts are on from the first monitor.
  • Status pages. Not read. A status page is created here at /pages and the imported monitors are added to it.
  • Maintenance windows. Not read. They are declared here at /maintenance.
  • Heartbeat ping URLs. The token stays with UptimeRobot; each heartbeat the import creates gets a new URL here.
  • Other monitor types. An ICMP ping monitor, and any type the table above does not name, is skipped with a note that says so.

From a script instead.

The same import runs over the API: POST /api/v1/import/uptimerobot with a writable Quietbeat token and a body of {"api_key": "...", "dry_run": true}. It returns the sync result and the same notes the page shows. Drop dry_run to apply. The API does not return heartbeat ping URLs: open each new heartbeat monitor and rotate its address to get one. The API reference has the request and response.

Questions people ask.

Why move from UptimeRobot to Quietbeat?

On-call and escalation in every paid plan; no seats to buy; more monitors at the same interval; and heartbeats on every plan, the free one included.

What do I need to migrate from UptimeRobot?

A read-only API key: UptimeRobot → Integrations → API → Read-only API key → Create. Paste it at /import/uptimerobot, and Quietbeat reads your monitors and shows the plan as a checklist before anything is created.

Which UptimeRobot monitors transfer?

HTTP(s), Keyword, Port, Heartbeat monitors are imported with their names and intervals. Ping (ICMP) monitors are skipped with a note, because Quietbeat has no equivalent check.

Does my UptimeRobot uptime history come across?

Yes. After you apply the import, Quietbeat reads the UptimeRobot log for the monitors it brought across: the outages the log returns and the days around them, from each monitor's creation date, as far back as your plan keeps history. The log is read in batches of up to 200 events, so a single very busy day can come back incomplete. For monitors already here, a re-run's preview offers a button to bring their history across.

Will the import change anything in my UptimeRobot account?

No. The key is read-only and Quietbeat only reads. Nothing is deleted here either: the import creates and updates monitors by name and never removes one.

Do my heartbeat ping URLs keep working?

No. A ping token cannot transfer, so each imported heartbeat gets a new URL, shown once after the import, and the cron is pointed at it before UptimeRobot is switched off.

UptimeRobot is a trademark of its owner. Quietbeat is not affiliated with UptimeRobot. What this page says about the importer is read from its code; what it says about UptimeRobot's plans is sourced and dated above and on the comparison page, with sources and dates.