How to Migrate From UptimeRobot to PingBase
Whether you're leaving UptimeRobot because of price, features, or reliability, the migration is straightforward. Here's the full walkthrough — monitors, status pages, alert channels, and team members.
UptimeRobot is where a lot of people start with uptime monitoring — it's free for up to 50 monitors and has been around for a long time. But as your product grows, you run into its limits: 5-minute check intervals on the free plan, no multi-region monitoring, limited alert channels, and a status page that can't be white-labeled on free or entry-level plans.
PingBase offers 1-minute checks, multi-region monitoring, custom domain status pages, response time graphs, monitor dependencies, SLA tracking, and more — starting free for up to 5 monitors.
The migration takes about 20 minutes. Here's exactly what to do.
Step 1: Export your UptimeRobot monitor list
Before you start, get a list of everything you're monitoring in UptimeRobot so you don't miss anything. In UptimeRobot:
- Log in and go to My Settings
- Scroll to Export Data
- Download the CSV export — it contains all your monitors, their URLs, types, and alert contacts
Open the CSV and make note of:
- Every URL you're monitoring (you'll recreate these in PingBase)
- Custom HTTP headers or keywords you've set up
- Alert contact emails and integrations (Slack, Telegram, webhooks)
- Which monitors belong to which status page
Step 2: Set up your PingBase account
- Create a free account at app.pingba.se/register
- Verify your email
- You're in — no credit card required for the free plan
Step 3: Recreate your monitors
PingBase supports bulk monitor import via CSV. If you have many monitors, this is the fastest path:
- In your PingBase dashboard, go to Monitors → Import
- Download the PingBase import template CSV
- Map your UptimeRobot export data to the PingBase format (URL, name, type, check interval)
- Upload and import
For smaller setups (under 10 monitors), manually adding them is often faster than reformatting a CSV. Click Add Monitor and fill in:
| UptimeRobot field | PingBase equivalent | Notes |
|---|---|---|
| Friendly name | Monitor name | Same |
| URL | URL | Same |
| Monitor type (HTTP) | HTTP monitor | Same |
| Monitor type (Ping) | TCP monitor | Use host + port 80 |
| Monitor type (Port) | TCP monitor | Same host, specify port |
| Check interval (5 min free) | Check interval | PingBase free plan: 1-min checks |
| Alert contacts | Alert channels | Set up separately in step 4 |
Keyword monitoring in UptimeRobot (check that a string appears or doesn't appear in the page) maps to PingBase's response body contains and response body does not contain fields in the HTTP monitor settings.
Step 4: Set up alert channels
PingBase supports email, Slack, Telegram, PagerDuty, webhook, and SMS alert channels. Go to Settings → Alert Channels and add each one:
Add the same email addresses you had in UptimeRobot. Each email address gets an alert channel — you can assign different channels to different monitors.
Slack
Create a new Slack webhook in your Slack workspace (Manage Apps → Incoming Webhooks), copy the webhook URL, and paste it into PingBase's Slack channel setup. Send a test alert to verify it appears in the right channel.
Telegram
In PingBase, go to Alert Channels → Add Telegram and follow the setup instructions (create a bot via BotFather, get your chat ID). This is identical to UptimeRobot's Telegram integration.
Custom webhooks
If you were using UptimeRobot's webhook integration to connect to custom systems, add a webhook alert channel in PingBase with the same destination URL. PingBase sends structured JSON payloads on alert and resolution — check the API docs for the exact format.
Once your channels are set up, assign them to your monitors: go to each monitor's settings and select which alert channels should notify for that monitor.
Step 5: Recreate your status page
If you had a public status page in UptimeRobot, recreate it in PingBase:
- Go to Status Pages → Create Status Page
- Give it a name and slug (e.g.,
status.yoursite.com) - Add the monitors you want to display — you can group them (API, Website, Infrastructure)
- Configure visibility: public or private (password-protected for internal use)
Custom domain setup
PingBase status pages support custom domains on all plans. To set up status.yourcompany.com:
- In your status page settings, enter your custom domain
- Add a CNAME record in your DNS:
status CNAME pages.pingba.se - SSL is provisioned automatically — usually takes 1-2 minutes
In UptimeRobot, custom domains required a paid plan. In PingBase, it's included.
Step 6: Invite your team
If you had team members in UptimeRobot, add them to PingBase under Settings → Team Members. Enter their email addresses — they'll receive an invite to join your workspace with access to all monitors and the status page.
Step 7: Run both in parallel for 48 hours
Before canceling UptimeRobot, run both services simultaneously for 48 hours. This lets you:
- Verify PingBase is checking all the right URLs
- Confirm alert channels are working (trigger a test alert from each monitor)
- Check that your status page looks correct
- Identify any monitors you may have missed
After 48 hours with no issues, update your status page link in your app and documentation to the PingBase URL, then cancel UptimeRobot.
Features you get that UptimeRobot doesn't have
| Feature | UptimeRobot | PingBase |
|---|---|---|
| 1-minute checks (free plan) | 5 min only | Yes |
| Multi-region monitoring | No | Yes |
| Response time graphs | Basic | 90-day history |
| Custom domain status page (free) | Paid only | All plans |
| Monitor dependencies | No | Yes |
| SLA tracking | No | Yes |
| DNS monitoring | No | Yes |
| Heartbeat / cron monitoring | Limited | Full support |
Ready to make the switch?
Start free — no credit card required. Import your monitors, set up your status page, and you're live in under 20 minutes.
Create free account →