Reference · Tools
UptimeRobot
Manage website uptime monitors, alert contacts, maintenance windows, public status pages, and account details via the UptimeRobot API.
The UptimeRobot node manages monitors, alert contacts, maintenance windows, public status pages and account details. A typical build is creating a monitor automatically whenever a new service is deployed, and pausing it during planned maintenance.
- Node type
- Action
- Parameters
- 45
- Outputs
- Output, Error
- Credentials
- UptimeRobot API
UptimeRobot
Manage UptimeRobot monitors, alert contacts, maintenance windows, and status pages.
Overview
UptimeRobot is a website monitoring service that checks if websites, servers, and services are up and running. This tool provides full CRUD operations for monitors (HTTP, keyword, ping, port, heartbeat), alert contacts, maintenance windows, and public status pages. It also retrieves account details. All API operations use POST with form-encoded bodies and API key authentication.
Category: Development
Tool Name: uptime_robot
Version: 1
Appearance: Icon: lucide-MonitorCheck | Color: #3bd671
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires UptimeRobot API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Account | account |
| Alert Contact | alertContact |
| Maintenance Window | maintenanceWindow |
| Monitor | monitor |
| Public Status Page | publicStatusPage |
Operations
Each resource has its own Operation list, and most resources reuse the values create, delete, get, getAll and update. Pick the resource first, then the operation.
| Resource | Operation | Value | Description |
|---|---|---|---|
| Account | Get | get | Get account details |
| Monitor | Create | create | Create a monitor |
| Monitor | Delete | delete | Delete a monitor |
| Monitor | Get | get | Get a monitor |
| Monitor | Get Many | getAll | Get many monitors |
| Monitor | Reset | reset | Reset a monitor |
| Monitor | Update | update | Update a monitor |
| Alert Contact | Create | create | Create an alert contact |
| Alert Contact | Delete | delete | Delete an alert contact |
| Alert Contact | Get | get | Get an alert contact |
| Alert Contact | Get Many | getAll | Get many alert contacts |
| Alert Contact | Update | update | Update an alert contact |
| Maintenance Window | Create | create | Create a maintenance window |
| Maintenance Window | Delete | delete | Delete a maintenance window |
| Maintenance Window | Get | get | Get a maintenance window |
| Maintenance Window | Get Many | getAll | Get many maintenance windows |
| Maintenance Window | Update | update | Update a maintenance window |
| Public Status Page | Create | create | Create a public status page |
| Public Status Page | Delete | delete | Delete a public status page |
| Public Status Page | Get | get | Get a public status page |
| Public Status Page | Get Many | getAll | Get many public status pages |
Parameters
Account: Get takes no parameters of its own.
UptimeRobot’s enumerated values are numbers, not strings — a monitor Type of 1 means HTTP(S). Lists of IDs are joined with dashes, e.g. 15830-32696-83920.
Monitor: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Friendly Name (friendlyName) | string | Yes | — | The friendly name of the monitor. |
| Type | options | Yes | 1 | The type of the monitor. |
Options: 1 (HTTP(S)), 2 (Keyword), 3 (Ping), 4 (Port), 5 (Heartbeat) | ||||
| URL | string | Yes | — | The URL/IP of the monitor. |
Monitor: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the monitor. |
Monitor: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the monitor. |
Monitor: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 50 | Max number of results to return. Accepts 1–100. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Narrow the monitor list and choose how much detail comes back. |
— Alert Contacts (alert_contacts) | boolean | No | false | Whether the alert contacts set for the monitor to be returned. |
| — Logs | boolean | No | false | Whether the logs of each monitor will be returned. |
— Maintenance Window (mwindow) | boolean | No | false | Whether to return the maintenance windows for the monitors. |
— Monitor IDs (monitors) | string | No | — | Monitors IDs separated with dash, e.g. 15830-32696-83920. |
— Response Times (response_times) | boolean | No | false | Whether the response time data of each monitor will be returned. |
| — Search | string | No | — | A keyword to be matched against URL and friendly name. |
| — Statuses | multiOptions | No | [] | Filter by monitor statuses. |
Options: 0 (Paused), 1 (Not Checked Yet), 2 (Up), 8 (Seems Down), 9 (Down) | ||||
| — Types | multiOptions | No | [] | Filter by monitor types. |
Options: 1 (HTTP(S)), 2 (Keyword), 3 (Ping), 4 (Port), 5 (Heartbeat) |
Monitor: Reset
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the monitor. |
Monitor: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the monitor. |
Update Fields (updateFields) | collection | No | {} | Monitor fields to change. Only the fields you add are sent. |
— Friendly Name (friendly_name) | string | No | — | The friendly name of the monitor. |
— HTTP Auth Type (http_auth_type) | options | No | — | The authentication type for password-protected web pages. |
Options: 1 (HTTP Basic), 2 (Digest) | ||||
— HTTP Method (http_method) | options | No | — | The HTTP method to be used. |
Options: 1 (HEAD), 2 (GET), 3 (POST), 4 (PUT), 5 (PATCH), 6 (DELETE), 7 (OPTIONS) | ||||
— HTTP Password (http_password) | string | No | — | The password used for password-protected web pages. |
— HTTP Username (http_username) | string | No | — | The username used for password-protected web pages. |
| — Interval | number | No | — | The interval for the monitoring check (in seconds). |
| — Port | number | No | — | The monitored port. |
| — Status | options | No | — | Pause or resume the monitor. |
Options: 0 (Pause), 1 (Resume) | ||||
— Sub Type (sub_type) | options | No | — | Specify which pre-defined port/service or custom port is monitored. |
Options: 1 (HTTP — port 80), 2 (HTTPS — port 443), 3 (FTP — port 21), 4 (SMTP — port 25), 5 (POP3 — port 110), 6 (IMAP — port 143), 99 (Custom Port) | ||||
| — URL | string | No | — | The URL/IP of the monitor. |
Alert Contact: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Friendly Name (friendlyName) | string | Yes | — | The friendly name of the alert contact. |
| Type | options | Yes | 2 | The type of the alert contact. |
Options: 1 (SMS), 2 (E-Mail), 3 (Twitter DM), 4 (Boxcar), 5 (Webhook), 6 (Pushbullet), 9 (Pushover) | ||||
| Value | string | Yes | — | The correspondent value for the alert contact type (e.g. email address, phone number, webhook URL). |
Alert Contact: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the alert contact. |
Alert Contact: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the alert contact. |
Alert Contact: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 50 | Max number of results to return. Accepts 1–100. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Narrow the alert contact list. |
— Alert Contact IDs (alert_contacts) | string | No | — | Alert contact IDs separated with dash, e.g. 236-1782-4790. |
Alert Contact: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the alert contact. |
Update Fields (updateFields) | collection | No | {} | Alert contact fields to change. Only the fields you add are sent. |
— Friendly Name (friendly_name) | string | No | — | The friendly name of the alert contact. |
| — Value | string | No | — | The correspondent value for the alert contact type (can only be used if it is a Webhook alert contact). |
Maintenance Window: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Duration (Minutes) (duration) | number | Yes | 1 | The maintenance window activation period (minutes). |
Friendly Name (friendlyName) | string | Yes | — | The friendly name of the maintenance window. |
| Type | options | Yes | 1 | The type of the maintenance window. |
Options: 1 (Once), 2 (Daily), 3 (Weekly), 4 (Monthly) | ||||
Week Day (weekDay) | options | No | 1 | The day of the week for weekly maintenance windows. (shown when Type is 3) |
Options: 1 (Monday), 2 (Tuesday), 3 (Wednesday), 4 (Thursday), 5 (Friday), 6 (Saturday), 7 (Sunday) | ||||
Month Day (monthDay) | number | No | 1 | The day of the month for monthly maintenance windows. Accepts 1–30. (shown when Type is 4) |
Start Time (start_time) | dateTime | Yes | — | The maintenance window start datetime. For one-time windows, the full datetime is used as a Unix timestamp. For recurring windows (daily/weekly/monthly), only the time portion (HH:mm) is used. |
Maintenance Window: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the maintenance window. |
Maintenance Window: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the maintenance window. |
Maintenance Window: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 50 | Max number of results to return. Accepts 1–100. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Narrow the maintenance window list. |
— Maintenance Window IDs (mwindow) | string | No | — | Maintenance windows IDs separated with dash, e.g. 236-1782-4790. |
Maintenance Window: Update
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the maintenance window. |
Duration (Minutes) (duration) | number | Yes | 1 | The maintenance window activation period (minutes). |
Update Fields (updateFields) | collection | No | {} | Maintenance window fields to change. Only the fields you add are sent. |
— Friendly Name (friendly_name) | string | No | — | The friendly name of the maintenance window. |
— Start Time (start_time) | dateTime | No | — | The maintenance window start datetime. |
| — Type | options | No | 1 | The type of the maintenance window. |
Options: 1 (Once), 2 (Daily), 3 (Weekly), 4 (Monthly) | ||||
— Week Day (weekDay) | options | No | 1 | The day of the week for weekly maintenance windows. (shown when Type is 3) |
Options: 1 (Monday), 2 (Tuesday), 3 (Wednesday), 4 (Thursday), 5 (Friday), 6 (Saturday), 7 (Sunday) | ||||
— Month Day (monthDay) | number | No | 1 | The day of the month for monthly maintenance windows. Accepts 1–30. (shown when Type is 4) |
Public Status Page: Create
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
Friendly Name (friendlyName) | string | Yes | — | The friendly name of the status page. |
Monitor IDs (monitors) | string | Yes | — | Monitor IDs to be displayed in status page (the values are separated with a dash (-) or 0 for all monitors). |
Additional Fields (additionalFields) | collection | No | {} | Optional properties to set on the status page. |
— Custom Domain (custom_domain) | string | No | — | The domain or subdomain that the status page will run on. |
| — Password | string | No | — | The password for the status page. |
| — Sort | options | No | 1 | The sorting of the status page. |
Options: 1 (Friendly Name A-Z), 2 (Friendly Name Z-A), 3 (Status Up-Down-Paused), 4 (Status Down-Up-Paused) |
Public Status Page: Delete
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the public status page. |
Public Status Page: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| ID | string | Yes | — | The ID of the public status page. |
Public Status Page: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 50 | Max number of results to return. Accepts 1–100. (shown when Return All is false) |
Filters (filters) | collection | No | {} | Narrow the status page list. |
— Public Status Page IDs (psps) | string | No | — | Public status pages IDs separated with dash, e.g. 236-1782-4790. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. Accepts 1–100. |
Output Data
The UptimeRobot record is merged onto the input item’s JSON at the top level — the returned fields sit alongside the fields the item already carried, so downstream nodes address them directly ({{ $json.id }}). A response field with the same name as an existing item field overwrites it. The API’s envelope is unwrapped for you, so you read friendly_name rather than monitor.friendly_name.
Binary data is not forwarded. Unlike most nodes, this one builds its output items from JSON only, so any binary property on the input item is dropped. Branch binary around this node if a later step needs it.
Both Get and Get Many fan out, because UptimeRobot answers a single-record lookup with a filtered list. Each record becomes its own output item, still merged onto the same input JSON — a Get normally yields one, a Get Many yields as many as matched.
| Operations | Output |
|---|---|
| Monitor, Alert Contact, Maintenance Window and Public Status Page — Get and Get Many | One output item per record returned. Turn Return All on to page through everything; leave it off and Limit caps the page. |
| Account Get; Monitor Create, Delete, Reset and Update; Alert Contact Create, Delete and Update; Maintenance Window Create and Update; Public Status Page Create and Delete | One output item carrying the returned record. |
| Maintenance Window Delete | One output item carrying status, set to the message the API returned. |
If a call returns nothing at all, one output item is still emitted carrying the input item’s JSON unchanged.
Usage Examples
- Create an HTTP monitor to check website uptime every 5 minutes
- List all monitors that are currently down
- Create an email alert contact for downtime notifications
- Set up a maintenance window for scheduled server updates
- Create a public status page showing monitor statuses
- Reset a monitor to clear its statistics
- Get account details including monitor limits
Example Configuration
Read the account’s plan and monitor limits:
{
"type": "uptime_robot",
"parameters": {
"resource": "account",
"operation": "get"
}
}
Create an HTTP(S) monitor:
{
"type": "uptime_robot",
"parameters": {
"resource": "monitor",
"operation": "create",
"friendlyName": "My Website Monitor",
"type": 1,
"url": "https://example.com"
}
}
List monitors that are down or look down, with their logs and response times:
{
"type": "uptime_robot",
"parameters": {
"resource": "monitor",
"operation": "getAll",
"returnAll": false,
"limit": 10,
"filters": {
"logs": true,
"response_times": true,
"statuses": [8, 9],
"search": "example"
}
}
}
Rename a monitor and slow its check interval to ten minutes:
{
"type": "uptime_robot",
"parameters": {
"resource": "monitor",
"operation": "update",
"id": "{{ $json.id }}",
"updateFields": {
"friendly_name": "Updated Monitor Name",
"interval": 600,
"url": "https://newexample.com"
}
}
}
Pause a monitor:
{
"type": "uptime_robot",
"parameters": {
"resource": "monitor",
"operation": "update",
"id": "{{ $json.id }}",
"updateFields": {
"status": 0
}
}
}
Add an email alert contact:
{
"type": "uptime_robot",
"parameters": {
"resource": "alertContact",
"operation": "create",
"friendlyName": "Admin Email",
"type": 2,
"value": "admin@example.com"
}
}
Schedule a one-hour maintenance window every Monday:
{
"type": "uptime_robot",
"parameters": {
"resource": "maintenanceWindow",
"operation": "create",
"friendlyName": "Weekly Maintenance",
"type": 3,
"weekDay": 1,
"duration": 60,
"start_time": "2026-01-05T02:00:00Z"
}
}
Publish a password-protected status page on your own domain:
{
"type": "uptime_robot",
"parameters": {
"resource": "publicStatusPage",
"operation": "create",
"friendlyName": "Public Status",
"monitors": "123-456-789",
"additionalFields": {
"custom_domain": "status.mysite.com",
"password": "{{ $json.statusPagePassword }}",
"sort": 3
}
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Manage UptimeRobot monitors, alert contacts, maintenance windows, and public status pages for website uptime monitoring.
Monitor Management Workflow
- Create the monitor with its type and URL.
- Get it by ID to read current status, or Get Many with Statuses to sweep for anything down.
- Update settings through Update Fields — the same operation pauses (
status0) and resumes (status1) a monitor. - Reset clears a monitor’s accumulated statistics without deleting it.
Maintenance Window Scheduling
- One-time windows use Type
1and consume the full Start Time datetime. - Recurring windows use Type
2(daily),3(weekly, with Week Day) or4(monthly, with Month Day), and only the time portion of Start Time is used. - Duration (Minutes) is required on both Create and Update, even when you are only changing the name.
Batch Operations
Use Return All for a complete sweep, or leave it off and set Limit for a predictable page. Filters narrows by ID list, keyword, status or type, and the boolean filters on monitors control how much extra detail (logs, response times, alert contacts, maintenance windows) each record carries.
Frequently asked questions
What does a monitor lifecycle look like?
Create the monitor with its type and URL, get it by ID to read current status or use Get Many with Statuses to sweep for anything down, then update settings through Update Fields.
How do I pause and resume a monitor?
Through the same update operation — status `0` pauses and the corresponding value resumes, so maintenance windows can be automated.
Can it manage status pages?
Yes, public status pages are supported alongside monitors and alert contacts.
Which credential does it need?
An UptimeRobot API credential.
Build with the UptimeRobot node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need UptimeRobot API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.