Esc

API reference

Retrieve a site’s stored result

GET/v1/sites/{domain}

Returns our latest stored result for a site, with the checks you ask for (every check if you leave out checks); the other fields are null.

This is the Lookup API: it never starts a scan. Check scannedAt, use maxAgeDays to require a more recent result, and scan the site with POST /scans when you need a new one. Every response has an ETag: send it back in If-None-Match, and while the result is unchanged you get a free 304 with no body.

Credits

Each check you ask for costs its stored price, up to 3 for every check, when a result is found. A no_result error or a 304 costs nothing.

Request

cURL
curl "https://api.checkanysite.com/v1/sites/wikipedia.org?checks=ai" \
  -H "Authorization: Bearer $CHECKANYSITE_API_KEY"
Python
from checkanysite import CheckAnySite

client = CheckAnySite()  # Reads the key from CHECKANYSITE_API_KEY.

site = client.sites.retrieve("wikipedia.org", checks=["ai"])
JavaScript
const url = 'https://api.checkanysite.com/v1/sites/wikipedia.org?checks=ai';
const response = await fetch(url, {
  headers: {
    Authorization: `Bearer ${process.env.CHECKANYSITE_API_KEY}`,
  },
});
const site = await response.json();

Parameters

  • domainstringrequiredpath

    The site’s domain, such as example.com.

  • checksstringquery

    The checks to answer, separated by commas. Leave it out to ask for every check.

    One of: ai, readiness, popularity, tech, dns, trust, summary, history.

  • maxAgeDaysintegerquery

    Return a result only if it is at most this many days old (1 to 3650); otherwise the API returns no_result.

  • If-None-Matchstringheader

    The ETag of a response you already have. While the result is unchanged, the API returns a 304 with no body, for free.

Response

StatusBodyWhen
200 OKSiteResultThe stored result, with its ETag.
304 Not ModifiedNoneThe result hasn’t changed since the ETag you sent. No body, and no credits.
Response 200: The stored 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": []
}

A site’s result: every field is on the result object.

Errors

StatusCodeWhat happened
400invalid_domainNot a public domain
400invalid_parameterInvalid parameter
401missing_api_keyNo API key
401invalid_api_keyUnknown API key
401revoked_api_keyRevoked API key
401expired_api_keyExpired API key
429rate_limitedToo many requests
404no_resultNo stored result
429quota_exceededMonthly credits used up
429key_limit_reachedKey limit reached
500internal_errorInternal error