Get Agent Readiness
Changed onHow ready the project's own brand domains and its competitors' domains are for AI agents, from Peec's agent readiness audit. Each domain of each brand is its own entry in own or competitors.
Each site gets a level from 0 to 5 (0 Turned away, 1 Reachable, 2 Findable, 3 Readable, 4 Operable, 5 Transactable), named in level_name. A level is reached when every counted check of that level and of every level below it passes, so next_level.blocking_check_ids lists what to fix next. A level counts its gate checks; a level with no gate, such as Operable and Transactable, counts every applicable check instead. Each check also reports its own outcome and what that outcome means in reason_label, including the optional checks of a gated level that never block it, how to fix it, and the pages it failed on.
Reading this endpoint never starts an audit; request one for the project's own domains with POST /agent-analytics/readiness/audits, then follow it through latest_run on the domain's own entry. A domain without an audit completed in the last 90 days returns audit: null.
Request
- Base URLhttps://api.peec.ai/customer/v1
- URLhttps://api.peec.ai/customer/v1/agent-analytics/readiness
- Auth
- API key in header X-API-Key
- or API key in query parameter api_key
- or HTTP bearer
Query parameters
Required if using a company api key
Only include these domains, own or competitor, exactly as the response lists them. Omit to include every domain.
[ "peec.ai" ]
Only include these checks in each audit's checks. Omit to include every check. level, next_level and blocking_check_ids always count every check.
[ "domain.llms_txt" ]
Response
Success
Example response
{
"own": [
{
"brand": {
"id": "kw_3f1c9a2e-7b4d-4e8a-9c21-5d6b8e0f1a2b",
"name": "Peec AI"
},
"domain": "peec.ai",
"audit": {
"completed_at": "2026-10-01T09:30:00.000Z",
"level": 2,
"level_name": "Findable",
"level_question": "Can they find what's there?",
"ceiling": 4,
"ceiling_name": "Findable",
"ceiling_question": "Can they find what's there?",
"next_level": {
"level": 3,
"level_name": "Findable",
"level_question": "Can they find what's there?",
"passed_gates": 3,
"total_gates": 5,
"blocking_check_ids": [
"page.structured_data",
"page.organization_schema"
]
},
"checks": [
{
"id": "domain.llms_txt",
"title": "llms.txt",
"level": 2,
"level_name": "Findable",
"level_question": "Can they find what's there?",
"tier": "emerging",
"outcome": "absent",
"reason_label": "The server reported that this resource does not exist.",
"why": "A curated index of the pages you'd want an LLM to read first.",
"fix": "If you keep one, link canonical pages from valid Markdown.",
"failing_pages": [
"https://peec.ai/blog/ai-search"
]
}
]
},
"latest_run": {
"id": "0199c3a4-5b6e-7f80-9a1b-2c3d4e5f6a7b",
"status": "completed",
"created_at": "2026-10-01T09:28:00.000Z",
"finished_at": "2026-10-01T09:30:00.000Z"
}
}
],
"competitors": [
{
"brand": {
"id": "kw_915e742b-396d-4a86-ad57-8bc84e8c2232",
"name": "Acme"
},
"domain": "acme.com",
"audit": {
"completed_at": "2026-10-01T09:30:00.000Z",
"level": 2,
"level_name": "Findable",
"level_question": "Can they find what's there?",
"ceiling": 4,
"ceiling_name": "Findable",
"ceiling_question": "Can they find what's there?",
"next_level": {
"level": 3,
"level_name": "Findable",
"level_question": "Can they find what's there?",
"passed_gates": 3,
"total_gates": 5,
"blocking_check_ids": [
"page.structured_data",
"page.organization_schema"
]
},
"checks": [
{
"id": "domain.llms_txt",
"title": "llms.txt",
"level": 2,
"level_name": "Findable",
"level_question": "Can they find what's there?",
"tier": "emerging",
"outcome": "absent",
"reason_label": "The server reported that this resource does not exist.",
"why": "A curated index of the pages you'd want an LLM to read first.",
"fix": "If you keep one, link canonical pages from valid Markdown.",
"failing_pages": [
"https://peec.ai/blog/ai-search"
]
}
]
}
}
]
}Changes
- info
endpoint added
- info