Try the RankNibbler SEO API

Hours of day report Beta

GET /api/v1/monitors/{id}/hours-of-day

The average response time at each hour of the day, across the whole window. Use it to spot a site that slows down at busy times.

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
from optionalstring | integerStart of the window. Default: 7 days before to.
to optionalstring | integerEnd of the window. Default: now. The window can be up to 92 days.
region optionalstringOne location code.
utcOffsetMinutes optionalintegerShifts the hours into your local time, from -840 to 840. For example, 60 for British Summer Time. Default 0 (UTC).

Request

Response

200 · application/json
  1. {
  2. "id": "mon_79ce3cf9c4fa56e98af4",
  3. "from": "2026-09-10T09:31:00.000Z",
  4. "to": "2026-09-17T09:31:00.000Z",
  5. "utcOffsetMinutes": 60,
  6. "hours": [
  7. { "hour": 0, "checks": 28, "avgResponseMs": 176 },
  8. { "hour": 1, "checks": 28, "avgResponseMs": 171 },
  9. { "hour": 23, "checks": 28, "avgResponseMs": 190 }
  10. ],
  11. "usage": { "used": 25, "dailyLimit": 100, "tier": "free" }
  12. }

hours always has 24 rows, from hour 0 to 23 in the offset you asked for. checks counts every check in that hour; avgResponseMs uses successful checks only and is null when there were none. An offset outside the allowed range is brought back to the nearest limit, and the response shows the offset that was used.

Errors

StatusWhen
400from or to isn't a valid time, from isn't before to, the window is too long, or region isn't a location code.
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