Read the scan at its links.self, which includes those checks. complete becomes true when the scan has failed, or has completed with every slow source in. Until then, the Retry-After header says when to read it again.
Credits
Free.
Request
curl "https://api.checkanysite.com/v1/scans/0b5a7a6e-1f7e-4d7c-9a4e-2f0d8b1c6a11?checks=ai" \
-H "Authorization: Bearer $CHECKANYSITE_API_KEY"from checkanysite import CheckAnySite
client = CheckAnySite() # Reads the key from CHECKANYSITE_API_KEY.
scan = client.scans.retrieve(
"0b5a7a6e-1f7e-4d7c-9a4e-2f0d8b1c6a11", checks=["ai"]
)const url = 'https://api.checkanysite.com/v1/scans/0b5a7a6e-1f7e-4d7c-9a4e-2f0d8b1c6a11?checks=ai';
const response = await fetch(url, {
headers: {
Authorization: `Bearer ${process.env.CHECKANYSITE_API_KEY}`,
},
});
const scan = await response.json();Parameters
idstringrequiredpathThe scan’s
id, returned by POST /scans.checksstringqueryThe checks the scan was asked for;
links.selfincludes them.One of:
ai,readiness,popularity,tech,dns,trust,summary,history.
Response
| Status | Body | When |
|---|---|---|
| 200 OK | Scan | The scan as it is now. |
{
"id": "0b5a7a6e-1f7e-4d7c-9a4e-2f0d8b1c6a11",
"domain": "wikipedia.org",
"checks": [
"ai"
],
"status": "completed",
"createdAt": "2026-11-10T09:30:00.000Z",
"finishedAt": "2026-11-10T09:30:06.000Z",
"complete": true,
"failure": null,
"result": {
"domain": "wikipedia.org",
"checks": [
"ai"
],
"scanId": "0b5a7a6e-1f7e-4d7c-9a4e-2f0d8b1c6a11",
"scannedAt": "2026-11-10T09:30:06.000Z",
"complete": true,
"pending": [],
"limited": null,
"finalUrl": "https://www.wikipedia.org/",
"resultUrl": "https://checkanysite.com/site/wikipedia.org?focus=ai",
"versions": {
"signatures": "0.6.1",
"score": "1.1"
},
"ai": {
"level": "none",
"builders": [],
"patterns": []
},
"readiness": null,
"popularity": null,
"tech": null,
"dns": null,
"trust": null,
"score": null,
"summary": null,
"history": null,
"notes": []
},
"links": {
"self": "https://api.checkanysite.com/v1/scans/0b5a7a6e-1f7e-4d7c-9a4e-2f0d8b1c6a11?checks=ai",
"result": "https://checkanysite.com/site/wikipedia.org?focus=ai"
}
}idstringThe scan’s id.
domainstringThe domain scanned.
checksarray of one of: ai, readiness, popularity, tech, dns, trust, summary, historyThe checks its result holds: those asked that the scan answers.
statusstringWhere it is:
queued,running,completedorfailed.One of:
queued,running,completed,failed.createdAtdate-timeWhen it was asked for.
finishedAtdate-time or nullWhen it finished; null while it runs.
completebooleanTrue once the scan failed, or completed with every slow source in.
failureobject or nullWhy the scan couldn’t finish; null unless
statusisfailed.resultobject or nullThe result once
statusiscompleted.linksobjectWhere to poll the scan, and where its result is shown.
Once completed, result holds the site’s result, as on the result object.
Errors
| Status | Code | What happened |
|---|---|---|
| 404 | scan_not_found | Scan not found |
| 410 | scan_expired | Scan expired |
| 400 | invalid_parameter | Invalid parameter |
| 401 | missing_api_key | No API key |
| 401 | invalid_api_key | Unknown API key |
| 401 | revoked_api_key | Revoked API key |
| 401 | expired_api_key | Expired API key |
| 429 | rate_limited | Too many requests |
| 500 | internal_error | Internal error |