Try the RankNibbler SEO API

Performance report Beta

GET /api/v1/monitors/{id}/performance

Check counts and response times grouped by hour, day or week, ready for a chart. Add includeUptime=true to get uptime and downtime for each bucket too.

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
resolution optionalstringhour (default), day or week. Buckets line up on UTC hours, UTC days, or weeks starting on Monday.
from optionalstring | integerStart of the window. Default: 1 day before to for hour, 30 days for day and week.
to optionalstring | integerEnd of the window. Default: now. Longest window: 31 days for hour, 400 for day, 800 for week.
region optionalstringOne location code. Filters the check counts and response times.
includeUptime optionalbooleantrue adds uptimePct, downSeconds, unknownSeconds and maintenanceSeconds to each bucket. Only allowed when the response has 400 buckets or fewer (for example, up to 16 days at hour).

Request

Response

200 · application/json
  1. {
  2. "id": "mon_79ce3cf9c4fa56e98af4",
  3. "from": "2026-09-14T00:00:00.000Z",
  4. "to": "2026-09-17T00:00:00.000Z",
  5. "resolution": "day",
  6. "buckets": [
  7. { "from": "2026-09-14T00:00:00.000Z", "to": "2026-09-15T00:00:00.000Z", "checks": 288, "upChecks": 288,
  8. "avgResponseMs": 204, "minResponseMs": 121, "maxResponseMs": 866,
  9. "uptimePct": 100, "downSeconds": 0, "unknownSeconds": 0, "maintenanceSeconds": 0 },
  10. { "from": "2026-09-15T00:00:00.000Z", "to": "2026-09-16T00:00:00.000Z", "checks": 0, "upChecks": 0,
  11. "avgResponseMs": null, "minResponseMs": null, "maxResponseMs": null,
  12. "uptimePct": null, "downSeconds": 0, "unknownSeconds": 86400, "maintenanceSeconds": 0 },
  13. { "from": "2026-09-16T00:00:00.000Z", "to": "2026-09-17T00:00:00.000Z", "checks": 285, "upChecks": 282,
  14. "avgResponseMs": 219, "minResponseMs": 118, "maxResponseMs": 1934,
  15. "uptimePct": 99.028, "downSeconds": 840, "unknownSeconds": 0, "maintenanceSeconds": 0 }
  16. ],
  17. "usage": { "used": 24, "dailyLimit": 100, "tier": "free" }
  18. }

Errors

StatusWhen
400from or to isn't a valid time, from isn't before to, the window is too long for the resolution, resolution or region isn't allowed, or includeUptime would return more than 400 buckets.
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.
404No monitor with that id in your 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