Try the RankNibbler SEO API

List monitors Beta

GET /api/v1/monitors

Returns the monitors in your workspace, with their latest status and 24-hour uptime. Filters combine: a monitor must match all of them.

Needs an X-API-Key header whose owner has access to uptime monitoring in the app. The call counts once against your daily quota. See Monitoring API: getting started for authentication, rate limits and errors.

Query parameters

NameTypeDescription
status optionalstringComma list of up, down, pending.
type optionalstringComma list of check types, such as http or smtp,imap.
active optionalbooleantrue for running monitors, false for paused ones.
tags optionalstringComma list of tag names, not case-sensitive. A monitor matches if it has any of them.
q optionalstringText to find in the monitor's name or URL, not case-sensitive.
page optionalintegerPage number, starting at 1. Default 1.
per optionalintegerMonitors per page, 1 to 1000. Default 100.

Request

Response

200 · application/json
  1. {
  2. "total": 1,
  3. "page": 1,
  4. "per": 50,
  5. "monitors": [
  6. {
  7. "id": "mon_79ce3cf9c4fa56e98af4",
  8. "name": "Checkout",
  9. "url": "https://shop.example.com/checkout",
  10. "host": "shop.example.com",
  11. "type": "http",
  12. "port": null,
  13. "status": "down",
  14. "active": true,
  15. "statusCode": 503,
  16. "responseMs": 2140,
  17. "error": "HTTP 503",
  18. "intervalMinutes": 5,
  19. "regions": ["default"],
  20. "importance": "high",
  21. "tags": ["production"],
  22. "uptime24h": 98.6,
  23. "checks24h": 288,
  24. "lastCheckedAt": "2026-09-17T09:30:04.221Z",
  25. "lastChangedAt": "2026-09-17T09:10:03.980Z",
  26. "createdAt": "2026-08-02T14:22:51.000Z",
  27. "sslExpiresAt": "2026-11-28T23:59:59.000Z",
  28. "domainExpiresAt": "2027-03-14T00:00:00.000Z"
  29. }
  30. ],
  31. "usage": { "used": 12, "dailyLimit": 100, "tier": "free" }
  32. }

Monitor fields

FieldTypeDescription
idstringThe monitor id, for example mon_79ce3cf9c4fa56e98af4.
namestringThe name you gave it. Can be empty.
url, hoststringWhat is being checked: a URL for a web check, or the bare host for every other type, plus the host name on its own.
typestringWhat the monitor checks. See Check types.
portinteger | nullThe port for a port or mail check, or null.
statusstringup, down or pending.
activebooleanfalse when paused.
statusCodeinteger | nullHTTP status from the last check, or null when no response came back.
responseMsinteger | nullResponse time of the last check, in milliseconds.
errorstring | nullWhy the last check failed, or null.
intervalMinutesintegerHow often it's checked.
regionsstring[]Where it's checked from. See settings.
importancestringhigh or low.
tagsstring[]Tag names.
uptime24hnumber | nullPercentage of checks in the last 24 hours that were up, to one decimal place. null with no checks.
checks24hintegerNumber of checks in the last 24 hours.
lastCheckedAt, lastChangedAtstring | nullWhen it was last checked, and when its status last changed.
createdAtstringWhen the monitor was created.
sslExpiresAt, domainExpiresAtstring | nullWhen the certificate and the domain registration expire, when known.

Errors

StatusWhen
401The API key is missing or invalid.
403The key's owner doesn't have access to uptime monitoring, or the key isn't linked to a workspace.
405The endpoint doesn't accept that method.
429A rate limit or your daily quota was hit. Read Retry-After, in seconds.
500Something went wrong on our side. Try again.
503The API is temporarily unavailable. Try again shortly.

Errors are JSON: { "error": "message" }. See Monitoring API errors.

Related