Creates a new monitoring endpoint in your UptimeRobot account. The monitor will begin checking immediately after creation. Supports HTTP, KEYWORD, PING, PORT, HEARTBEAT, DNS, and API monitor types.
Monitor configuration object (see MonitorPayload interface for all options)
Promise that resolves to the created Monitor object with assigned ID
// Create a basic HTTP monitor
const httpMonitor = await service.monitors.create({
friendlyName: 'My Website',
url: 'https://example.com',
type: 'HTTP',
interval: 300,
httpMethodType: 'HEAD'
});
https://uptimerobot.com/api/v3/#post-/monitors Official API Documentation
Removes a monitor completely from your UptimeRobot account. This action cannot be undone. All historical data and statistics for the monitor will be lost.
Monitor ID (number or string)
Promise that resolves to true when deletion is successful
// Delete a monitor
const success = await service.monitors.delete(12345);
if (success) {
console.log('Monitor deleted successfully');
}
https://uptimerobot.com/api/v3/#delete-/monitors/-id- Official API Documentation
Fetches complete configuration and current status information for an individual monitor by ID. Returns all monitor properties including type, URL, intervals, and current status.
Monitor ID (number or string)
Promise that resolves to the Monitor object
// Get monitor details
const monitor = await service.monitors.get(12345);
console.log(`Monitor "${monitor.friendlyName}" is ${monitor.status}`);
https://uptimerobot.com/api/v3/#get-/URMonitors/-id- Official API Documentation
Fetches comprehensive uptime statistics for your account within a specified time frame. Supports predefined periods (DAY, WEEK, MONTH, etc.) or custom date ranges. Includes overall uptime percentage and optional detailed logs.
Time period for statistics ('DAY', 'WEEK', 'MONTH', 'DAYS_30', 'YEAR', 'ALL', 'CUSTOM')
Optionalfilter: { end?: number; logLimit?: number; start?: number }Optional parameters for customizing the response
Optionalend?: numberEnd timestamp for CUSTOM timeFrame (Unix timestamp)
OptionallogLimit?: numberMaximum number of log entries to return
Optionalstart?: numberStart timestamp for CUSTOM timeFrame (Unix timestamp)
Promise that resolves to aggregated uptime statistics
// Get daily statistics
const dailyStats = await service.monitors.getAggregatedUptimeStatistics('DAY');
// Get custom range with limited logs
const customStats = await service.monitors.getAggregatedUptimeStatistics('CUSTOM', {
start: 1698400000,
end: 1698486400,
logLimit: 100
});
https://uptimerobot.com/api/v3/#get-/URMonitors/uptime-stats Official API Documentation
Retrieves all monitors from the account by automatically handling cursor-based pagination.
This method repeatedly calls the API until all pages are retrieved. Useful for synchronization tasks where the complete state is required.
Page size for each API request when paginating (max 200). Defaults to 50.
All monitors across every page.
Fetches detailed response time metrics for an individual monitor within an optional date range. Returns average, minimum, and maximum response times, with optional time series data for graphing.
Monitor ID (number or string)
Optionalfilter: {Optional parameters for customizing the response
Optionalfrom?: stringStart date in ISO 8601 format (e.g., '2023-10-27T10:00:00Z')
OptionalincludeTimeSeries?: booleanWhether to include detailed time series data
Optionalregion?: ResponseTimeRegionFilterOptional region code (na, eu, as, oc) or all per API; omit for default aggregation
Optionalto?: stringEnd date in ISO 8601 format (e.g., '2023-10-28T10:00:00Z')
Promise that resolves to monitor response time statistics
When 'from' or 'to' date format is invalid, range is invalid, span exceeds 90 days, or region is not allowed
// Get basic response time stats
const stats = await service.monitors.getResponseTimeStatistics(12345);
// Get detailed stats with time series for charting
const detailedStats = await service.monitors.getResponseTimeStatistics(12345, {
from: '2023-10-01T00:00:00Z',
to: '2023-10-31T23:59:59Z',
includeTimeSeries: true
});
https://uptimerobot.com/api/v3/#get-/monitors/-id-/stats/response-time Official API Documentation
Fetches response time metrics for a monitor by region (NA, EU, AS, OC) plus an all aggregate, for an
optional date range. Defaults to the last 24 hours; maximum range is 90 days. Optionally includes time
series per region block.
Monitor ID (number or string)
Optionalfilter: { from?: string; includeTimeSeries?: boolean; to?: string }Optional from / to (ISO 8601) and includeTimeSeries
https://uptimerobot.com/api/v3/#get-/monitors/-id-/stats/response-time/all Official API Documentation
Fetches detailed uptime statistics for an individual monitor within an optional date range. Returns uptime percentage, total checks, and downtime incidents for the specified period.
Monitor ID (number or string)
Optionalfilter: { from?: string; to?: string }Optional date range parameters
Optionalfrom?: stringStart date in ISO 8601 format (e.g., '2023-10-27T10:00:00Z')
Optionalto?: stringEnd date in ISO 8601 format (e.g., '2023-10-28T10:00:00Z')
Promise that resolves to monitor uptime statistics
// Get all-time uptime for monitor
const stats = await service.monitors.getUptimeStatistics(12345);
// Get uptime for specific date range
const rangeStats = await service.monitors.getUptimeStatistics(12345, {
from: '2023-10-01T00:00:00Z',
to: '2023-10-31T23:59:59Z'
});
https://uptimerobot.com/api/v3/#get-/URMonitors/-id-/stats/uptime Official API Documentation
Retrieves a list of monitors from your UptimeRobot account. You can optionally filter by status, group, or search by name/URL. Results are paginated using cursor-based pagination.
Optionalfilter: {Query string parameters passed to the API
Optionalcursor?: numberPagination cursor for next page
OptionalgroupId?: numberFilter by monitor group ID
Optionallimit?: numberNumber of monitors to return (1-50, default: 50)
Optionalname?: stringSearch monitors by friendly name (partial match)
Optionalstatus?: stringFilter by status ('UP', 'DOWN', 'PAUSED', etc.)
Optionaltags?: stringFilter by tag names (comma-separated)
Optionalurl?: stringSearch monitors by URL (partial match)
OptionalreturnFullResponse: falseIf true, returns the full API response object (including pagination metadata). If false or omitted, returns just the array of Monitors.
Returns Monitor[] by default, or URFullResponse<Monitor> if returnFullResponse is true.
// Get first 10 monitors
const monitors = await service.monitors.list({ limit: 10 });
// Filter by status
const downMonitors = await service.monitors.list({ status: 'DOWN' });
// Search by name
const apiMonitors = await service.monitors.list({ name: 'API' });
// Paginate through results
const page1 = await service.monitors.list({ limit: 10 });
const page2 = await service.monitors.list({ limit: 10, cursor: 123456789 });
// Get full response for pagination
const response = await service.monitors.list({ limit: 50 }, true);
const nextUrl = new URL(response.nextLink);
const nextCursorVal = nextUrl.searchParams.get('cursor');
console.log(nextCursorVal);
https://uptimerobot.com/api/v3/#get-/monitors Official API Documentation
Retrieves a list of monitors from your UptimeRobot account. You can optionally filter by status, group, or search by name/URL. Results are paginated using cursor-based pagination.
Query string parameters passed to the API
Optionalcursor?: numberPagination cursor for next page
OptionalgroupId?: numberFilter by monitor group ID
Optionallimit?: numberNumber of monitors to return (1-50, default: 50)
Optionalname?: stringSearch monitors by friendly name (partial match)
Optionalstatus?: stringFilter by status ('UP', 'DOWN', 'PAUSED', etc.)
Optionaltags?: stringFilter by tag names (comma-separated)
Optionalurl?: stringSearch monitors by URL (partial match)
If true, returns the full API response object (including pagination metadata). If false or omitted, returns just the array of Monitors.
Returns Monitor[] by default, or URFullResponse<Monitor> if returnFullResponse is true.
// Get first 10 monitors
const monitors = await service.monitors.list({ limit: 10 });
// Filter by status
const downMonitors = await service.monitors.list({ status: 'DOWN' });
// Search by name
const apiMonitors = await service.monitors.list({ name: 'API' });
// Paginate through results
const page1 = await service.monitors.list({ limit: 10 });
const page2 = await service.monitors.list({ limit: 10, cursor: 123456789 });
// Get full response for pagination
const response = await service.monitors.list({ limit: 50 }, true);
const nextUrl = new URL(response.nextLink);
const nextCursorVal = nextUrl.searchParams.get('cursor');
console.log(nextCursorVal);
https://uptimerobot.com/api/v3/#get-/monitors Official API Documentation
Temporarily stops monitoring checks for the specified monitor without deleting it. The monitor can be resumed later using Monitors.start. Useful for maintenance windows or temporary service shutdowns.
Monitor ID (number or string)
Promise that resolves to the updated Monitor object with paused status
// Pause a monitor during maintenance
const pausedMonitor = await service.monitors.pause(12345);
console.log(`Monitor status: ${pausedMonitor.status}`);
https://uptimerobot.com/api/v3/#post-/monitors/-id-/pause Official API Documentation
Clears all historical data, statistics, and logs for the specified monitor while keeping the monitor configuration intact. The monitor continues running but starts fresh with no historical data.
Monitor ID (number or string)
Promise that resolves to true when reset is successful
// Reset monitor statistics
const success = await service.monitors.reset(12345);
if (success) {
console.log('Monitor statistics reset successfully');
}
https://uptimerobot.com/api/v3/#post-/monitors/-id-/reset Official API Documentation
Starts monitoring checks for a previously paused monitor. The monitor will immediately begin checking according to its configured interval and settings.
Monitor ID (number or string)
Promise that resolves to the updated Monitor object with active status
// Resume a paused monitor
const activeMonitor = await service.monitors.start(12345);
console.log(`Monitor status: ${activeMonitor.status}`);
https://uptimerobot.com/api/v3/#post-/monitors/-id-/start Official API Documentation
Modifies the settings of an existing monitor. Only provided fields will be updated; omitted fields retain their current values. The monitor continues running with the new configuration immediately.
Monitor ID (number or string)
Monitor configuration updates (partial MonitorPayload object)
Promise that resolves to the updated Monitor object
// Update monitor interval and friendly name
const updatedMonitor = await service.monitors.update(12345, {
friendlyName: 'Updated Website Name',
interval: 600
});
https://uptimerobot.com/api/v3/#patch-/monitors/-id- Official API Documentation
Creates a new Monitors client.
The request client to use.
Readonlybulk
Client for the Monitors API.
Bulk operations on a monitor group are on Monitors.bulk.
See
https://uptimerobot.com/api/v3 Official API Documentation
Since
1.0.0