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/csvOne 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/csvUpload 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, andPortare read as they are.Pingbecomes an ICMP check,Portbecomes a TCP check with the port added, andKeywordbecomes an HTTP check that looks for that word. - StatusCake files — including their format that uses
;and the columnsWebsiteName,WebsiteURL,CheckRate, andFindString. - A file you made yourself — you only need a
urlcolumn. The name comes from the address, the protocol comes fromhttp/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
- 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. - 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.