Getting started
Kritano API
Run website audits and read their results from your own code, CI or tools.
The Kritano API runs audits and reads their results: the same sites, audits and findings you see in the app. It's a JSON API over HTTPS, described by an OpenAPI 3.1 document you can load into your own tools.
Make your first call
1. Make an API key
In the app, go to Settings → API keys, give the key a name and choose what it may do. For this guide, tick audits:read, audits:write and findings:read. Every plan includes the API. The key is shown once:
kt_live_0193f1b27c4e7a1d9b2a3c5d6e7f8a9b_Xc1…
Keep it somewhere safe, such as an environment variable or your CI's secrets, and out of code you share.
2. Start an audit
curl -X POST https://app.kritano.com/api/v1/audits \
-H "Authorization: Bearer $KRITANO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/", "consent": true}'
If you haven't added example.com as a site, this adds it. consent confirms you're allowed to audit a site you haven't verified yet; an unverified site is audited three pages at a time, slowly. The response is the new audit, with "status": "queued".
3. Wait for it, then read the results
Poll the audit until status is completed, failed or cancelled. A small site takes a minute or two:
curl https://app.kritano.com/api/v1/audits/AUDIT_ID \
-H "Authorization: Bearer $KRITANO_API_KEY"
A completed audit has its scores. Its findings, worst first:
curl "https://app.kritano.com/api/v1/audits/AUDIT_ID/findings?status=active" \
-H "Authorization: Bearer $KRITANO_API_KEY"
Each finding names its rule. Every rule has a page here explaining what it checks and how to fix it: see Audit rules.
The basics
Base URL:
https://app.kritano.com/api/v1Authentication:
Authorization: Bearer kt_live_…. See Authentication.Requests and responses are JSON. Send
Content-Type: application/jsonwith a body.Rate limits depend on your plan and come back on every response. See Rate limits.
Errors all have the same shape. See Errors.
Lists take
pageandlimit(up to 100) and return apaginationobject.
Just need scores for one page, without adding a site? Use a scan.