Skip to main content
by PingZen Team

Export and Import Monitors as CSV

Before, adding fifty monitors meant making them one by one. And there was no way to save a copy of your monitors. Now you can do both — from buttons on the Workspaces page, from the API, or from an AI agent.

Export: all your monitors in one file

GET /api/v1/monitors/export/csv

One click (or one request) downloads every monitor you have, from all your workspaces, as a CSV file. You can open it in Excel, Google Sheets, or LibreOffice. Want only one workspace? Add ?workspace_id=<id>.

The file has all the settings: URL, protocol, check interval, timeouts, retries, keyword checks, DNS values, SSL limits — for every protocol we support. Each row also has a workspace column with the workspace name, so the file still makes sense outside your account.

Two things are never put in the file:

  • Passwords and tokens. Passwords, API tokens, and proxy logins are left out. People forward and share CSV files, so your secrets should not be inside them. (StatusCake leaves passwords out too.)
  • Formulas. Some text can act as a formula when you open a CSV in Excel (text that starts with =, +, -, or @). We make that text safe, so the file is safe to open.

Import: from a spreadsheet — or another service

POST /api/v1/monitors/import/csv

Upload a CSV and get monitors. Most people use it to restore their own export, but the import also reads files from other tools:

  • Our own export — imports back with no changes.
  • UptimeRobot files — the columns Type, Friendly Name, URL/IP, Interval, Keyword Value, and Port are read as they are. Ping becomes an ICMP check, Port becomes a TCP check with the port added, and Keyword becomes an HTTP check that looks for that word.
  • StatusCake files — including their format that uses ; and the columns WebsiteName, WebsiteURL, CheckRate, and FindString.
  • A file you made yourself — you only need a url column. The name comes from the address, the protocol comes from http/https, and the rest uses safe defaults.

Nothing is created until you say so

Add ?dry_run=true and the import only checks the file. It tells you what would happen for each row — created, skipped, or failed, and why — but it does not add anything. Run it, read the result, then run it again without dry_run to really import.

One bad row does not stop the rest

If one row has a mistake (for example, a wrong URL), only that row fails, and you see the reason. All the other rows still import. Monitors that already exist are skipped, so you can safely run the same file again.

In the dashboard

You do not need the API. The Workspaces page has an Export monitors button and an Import monitors button at the top. Each workspace card also has a download icon to export just that one workspace.

When you import, you first see a preview: drop the file, and you see which rows would be created, which already exist, and which would fail — with the reason for each one. Then you confirm. If some rows fail, click Download error rows to get only those rows with the reason, fix them, and upload again.

For AI agents: two new MCP tools

The same feature is in our MCP server (v0.17.0) as export_monitors_csv and import_monitors_csv. An AI agent connected to PingZen can back up and move monitors just by chatting — for example, “export my production workspace” or “import these 30 sites from this file”.

One safety rule for agents: preview is on by default. If an agent calls import_monitors_csv and does not set dry_run: false, it only gets the preview — nothing is added. The agent shows you what would happen, and the real import runs only when it asks for it on purpose.

Move from another service in two steps

  1. Export your monitors from the other tool. From StatusCake, click Export Settings on the test list. Moving from UptimeRobot? Their dashboard only exports logs, not monitor settings — so use a file in their bulk-upload template (Type, Friendly Name, URL/IP, Interval, …). HetrixTools files work too.
  2. Open Import monitors, drop the file, and check the preview. Then confirm.

You do not need to rename any columns.

Limits and details

  • Up to 500 rows / 1 MB for each import.
  • The exported file is UTF-8 with BOM, so Excel shows non-English monitor names correctly.
  • Both , and ; are detected automatically.
  • List values (DNS values, custom DNSBL servers) can be JSON or just separated by ;. HTTP headers are a JSON object in one cell.
  • Works with a JWT token or an API key, like the rest of the monitors API.

Want the full list of columns? Export your monitors and look at the first row — the export file and the import file use the same columns.

Ready to monitor your site?

Start free

No credit card · about a minute to set up