How to Import / Export Monitors

Bulk-create uptime monitors from a JSON or CSV file, and export your monitor configuration for backups or migration.

Accessing Import / Export

On the Monitors page, click the Import / Export dropdown button near the top-right. Choose Import or Export.

Exporting Monitors

Use export to back up your monitor configuration or to copy monitors to another Pinguzo account.

Export as JSON

Downloads monitors-export.json — an array of monitor objects:

[
  {
    "name": "Main Website",
    "url": "https://example.com",
    "type": "https",
    "check_interval": 300,
    "keyword": null,
    "port": null,
    "status": "active",
    "created_at": "2026-01-10T08:00:00Z"
  },
  {
    "name": "Payment API",
    "url": "https://api.example.com/health",
    "type": "https",
    "check_interval": 60,
    "keyword": null,
    "port": null,
    "status": "active",
    "created_at": "2026-01-10T08:05:00Z"
  },
  {
    "name": "Database Port Check",
    "url": "db.internal",
    "type": "port",
    "check_interval": 300,
    "keyword": null,
    "port": 5432,
    "status": "active",
    "created_at": "2026-01-10T08:10:00Z"
  }
]

Export as CSV

Downloads monitors-export.csv:

name,url,type,check_interval,keyword,port,status,created_at
Main Website,https://example.com,https,300,,,active,2026-01-10T08:00:00Z
Payment API,https://api.example.com/health,https,60,,,active,2026-01-10T08:05:00Z
Database Port Check,db.internal,port,300,,5432,active,2026-01-10T08:10:00Z

Importing Monitors

Importing lets you create many monitors simultaneously without filling out the form for each one. Imported monitors are synced to the appropriate edge server within 30 seconds and begin checking immediately.

Import via File Upload

  1. Click Import / Export → Import
  2. Click Choose File and select a .json or .csv file
  3. Click Import Monitors to proceed

Import via Paste

Paste JSON or CSV content directly into the textarea in the import modal. Pinguzo auto-detects the format.

Import File Formats

Minimal JSON (required fields only)

[
  {"name": "Main Website",  "url": "https://example.com",         "type": "https"},
  {"name": "API Endpoint",  "url": "https://api.example.com",     "type": "https"},
  {"name": "Ping — Gateway","url": "192.168.1.1",                 "type": "ping"},
  {"name": "SSH Port",      "url": "server.example.com",          "type": "port",    "port": 22},
  {"name": "Login Keyword", "url": "https://app.example.com/login","type": "keyword","keyword": "Sign in"}
]

Full JSON (all fields)

[
  {
    "name": "Main Website",
    "url": "https://example.com",
    "type": "https",
    "check_interval": 60,
    "keyword": null,
    "port": null
  }
]

Minimal CSV

name,url,type
Main Website,https://example.com,https
API Endpoint,https://api.example.com,https
Ping Gateway,192.168.1.1,ping

Full CSV (all columns)

name,url,type,check_interval,keyword,port
Main Website,https://example.com,https,60,,
SSH Check,server.example.com,port,300,,22
Login Page,https://app.example.com,keyword,300,"Sign in",
CSV with commas in values If a field value contains a comma (e.g., a keyword like Hello, World), enclose it in double quotes: "Hello, World".

Supported Import Fields

FieldRequiredValid ValuesDefault
name Yes String, 1–255 characters, unique per account
url Yes Full URL for http/https/keyword; hostname/IP for ping/port/dns
type Yes http, https, ping, port, keyword, dns
check_interval No 60, 120, 300, 600, 1800, 3600 (seconds) 300
keyword Only for keyword type Any string to search for in the response body null
port Only for port type Integer 1–65535 null

Monitor Type Reference

TypeURL/Host formatAdditional required field
httpshttps://example.com/path
httphttp://example.com/path
pingexample.com or 1.2.3.4
portexample.com or 1.2.3.4port (integer)
keywordhttps://example.com/pagekeyword (string)
dnsapi.example.com

Import Results

After import completes, Pinguzo shows a summary dialog:

Imported monitors appear immediately in the Monitors list with a Pending status while the edge server picks them up. Within 30 seconds they will begin checking and flip to Up or Down.

Validation Rules

Common Use Cases

Migrating from another monitoring tool

Export your URLs from the old tool (most support CSV export), map their check type to Pinguzo types, add a name and type column, and import the CSV into Pinguzo.

Monitoring all pages in a sitemap

Use a script to extract URLs from your sitemap.xml and generate a CSV file, then import it. Example (bash):

echo "name,url,type" > monitors.csv
curl -s https://example.com/sitemap.xml \
  | grep -oP '(?<=<loc>)[^<]+' \
  | awk '{print NR". Page,"$1",https"}' \
  >> monitors.csv

Re-importing after account reset

If you export your monitors before deleting your account, you can re-import the JSON file to a new account and restore your monitor configuration instantly (without historical data).

Next Steps