Cookies
/v1/checks/cookiesAPI keyCookie inventory after load (not a CMP). name, domain, path, secure, httpOnly, sameSite, expires, size, first_party. 3 credits.
List cookies on a page
Opens the URL, optionally dismisses a known cookie banner, then reads the browser cookie jar.
{
"url": "https://example.com",
"dismiss_cookie_banner": true
}{
"status": "success",
"url": "https://example.com",
"final_url": "https://example.com/",
"cookies": [
{
"name": "_ga",
"domain": ".example.com",
"path": "/",
"secure": true,
"httpOnly": false,
"sameSite": "Lax",
"expires": 1893456000,
"expires_at": "2030-01-01T00:00:00.000Z",
"size": 28,
"first_party": true
}
],
"response_time_ms": 980,
"timestamp": "…"
}Console
/v1/checks/consoleAPI keyConsole messages during load (capped at 200): type, message, url, line, column. 3 credits.
Network summary
/v1/checks/networkAPI keyNot a full HAR. Status-class counts, cors_errors, mixed_content, timeouts/failures; optional top_slowest (up to 20). 4 credits.
| Name | Type | Required | Description |
|---|---|---|---|
url | string | required | Page to open. |
top_slowest | boolean | optional | Include up to 20 slowest requests (url, method, status, duration_ms, resource_type). |
dismiss_cookie_banner / settle_ms / … | … | optional | Standard browse options. |
Network summary with slowest requests
{
"url": "https://example.com",
"top_slowest": true
}{
"status": "success",
"url": "https://example.com",
"final_url": "https://example.com/",
"network": {
"counts": { "2xx": 42, "3xx": 2, "4xx": 1, "5xx": 0, "other": 0 },
"cors_errors": 0,
"mixed_content": 0,
"timeouts": 0,
"failures": 1,
"top_slowest": [
{ "url": "https://cdn.example.com/app.js", "method": "GET", "status": 200, "duration_ms": 412, "resource_type": "script" }
]
},
"response_time_ms": 1200,
"timestamp": "…"
}Broken assets
/v1/checks/assetsAPI keyFailed stylesheet / image / font / script requests (status ≥ 400 or failed). 3 credits.
Resource summary
/v1/checks/resourcesAPI keyCounts by type (stylesheet, script, image, font, media, xhr_fetch, other) plus transfer size estimates when Content-Length is present. 3 credits.
JSON-LD
/v1/checks/json-ldAPI keyParse application/ld+json scripts: valid?, @type(s), missing common fields for Product/Organization/WebSite/Article/BreadcrumbList, parse_error. 3 credits.
Canonical chain
/v1/checks/canonicalAPI keyrequest_url, redirect_chain, final_url, canonical_href / canonical_absolute, notes. 3 credits.
Sitemap inspection
/v1/checks/sitemapAPI keyResolve sitemaps via robots.txt Sitemap: lines and/or /sitemap.xml (max 3). valid_xml, url_count, lastmod range, errors. 3 credits.
Inspect site sitemaps
{
"url": "https://example.com"
}{
"status": "success",
"url": "https://example.com",
"robots_referenced_urls": ["https://example.com/sitemap.xml"],
"sitemaps": [
{
"url": "https://example.com/sitemap.xml",
"valid_xml": true,
"url_count": 128,
"lastmod_min": "2025-01-01",
"lastmod_max": "2026-07-20",
"robots_referenced": true,
"errors": []
}
],
"errors": [],
"response_time_ms": 340,
"timestamp": "…"
}Images
/v1/checks/imagesAPI keyimg inventory (cap 200): src, alt, width/height, loading, decoding, fetchpriority, natural sizes when available. 3 credits.
Open Graph / Twitter
/v1/checks/opengraphAPI keyog:* and twitter:* meta fields. Optional screenshot: true adds viewport JPEG base64 (8 credits with screenshot, else 3).
| Name | Type | Required | Description |
|---|---|---|---|
url | string | required | Page to open. |
screenshot | boolean | optional | If true, attach viewport JPEG as screenshot_base64 (credit cost becomes 8). |
A11y snapshot
/v1/checks/a11y-snapshotAPI keyNot full axe — inventory of buttons, link count, headings, landmarks, aria-* presence. Prefer POST /v1/checks/a11y for axe violations. 3 credits.
Forms
/v1/checks/formsAPI keyForms (cap 50): method, action, enctype, inputs[{name,type,required}]. 3 credits.
Link graph (shallow)
/v1/checks/linksAPI keyOne-page outbound internal link graph: nodes[{url,text}] and edges (max 100). Not a multi-page crawl — use /v1/crawl for that. 3 credits.
DOM diff
/v1/diff/domAPI keyCompare simplified DOM trees for url_a/url_b (or before_url/after_url). Counts + sample diffs (max 50). 8 credits.
Diff two URLs
{
"url_a": "https://example.com/",
"url_b": "https://example.com/pricing"
}{
"status": "success",
"url_a": "https://example.com/",
"url_b": "https://example.com/pricing",
"final_url_a": "https://example.com/",
"final_url_b": "https://example.com/pricing",
"diff": {
"added_count": 12,
"removed_count": 3,
"changed_count": 5,
"added_samples": [{ "path": "/html/body[0]/main[0]/section[1]", "after": { "tag": "section", "class": "pricing" } }],
"removed_samples": [],
"changed_samples": []
},
"response_time_ms": 2400,
"timestamp": "…"
}Header diff
/v1/diff/headersAPI keyCompare response headers: only_a, only_b, changed[{key,a,b}]. 4 credits.