Try the RankNibbler SEO API

Get an analysis Beta

GET /api/v1/monitors/{id}/analysis/{aid}

One diagnosis in full, with every stage that ran and the traceroute when there is one.

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.

Read-only: anything other than GET returns 405.

Path parameters

NameTypeDescription
id requiredstringThe monitor id.
aid requiredstringThe analysis id, for example an_7c1e04b93af2d5608a. Get it from the analysis list.

Request

Response

200 · application/json
  1. {
  2. "analysis": {
  3. "id": "an_7c1e04b93af2d5608a",
  4. "monitorId": "mon_79ce3cf9c4fa56e98af4",
  5. "cause": "tls",
  6. "summary": "The certificate expired 2 days ago",
  7. "createdAt": "2026-09-16T22:28:04.117Z",
  8. "steps": [
  9. { "stage": "dns", "ok": true, "ms": 24, "detail": "203.0.113.10",
  10. "addresses": [{ "address": "203.0.113.10", "family": 4 }] },
  11. { "stage": "tcp", "ok": true, "ms": 31, "detail": "Connected to 203.0.113.10:443" },
  12. { "stage": "tls", "ok": false, "ms": 88, "detail": "TLSv1.3, issued by Let's Encrypt, expired 2 days ago",
  13. "error": "The certificate expired 2 days ago" }
  14. ],
  15. "traceroute": null
  16. },
  17. "usage": { "used": 55, "dailyLimit": 100, "tier": "free" }
  18. }

Response fields

The same fields as the list, plus:

FieldTypeDescription
stepsobject[]Each stage that ran, in order, as { stage, ok, ms, detail, error }. The dns step also carries addresses, and an http step carries an excerpt of the reply. See the stages.
steps[].okbooleanfalse on the stage that failed. Nothing after it runs.
steps[].msinteger | nullHow long that stage took.
steps[].errorstringOnly on a stage that failed.
tracerouteobject | nullA traceroute as { host, address, hops }, attached when a connection failed and the checking server could run one. null otherwise.

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.
404No monitor with that id in your workspace, or no analysis with that id for this monitor.
405Anything other than GET.
429A rate limit or your daily quota was hit. Read Retry-After, in seconds.
500, 503Something went wrong, or the API is temporarily unavailable. Try again.

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

Related