AEO
10 endpoints for auditing how AI engines fetch, parse, and cite your content, plus llm-ready chunking.
For AI-discovery teams, agencies, and content engineers measuring AEO posture across pages and competitors.
Endpoints in this bundle
Each endpoint is independently callable. Bundle membership is for discovery only — you do not need to opt in.
| Method | Path | Credits | Summary |
|---|---|---|---|
| POST | /v1/aeo/page-audit | 3 | Orchestrator over 8-9 component AEO probes for a single URL. |
| POST | /v1/aeo/competitor-diff | 3 | Diff a domain's AEO posture against named competitors. |
| POST | /v1/aeo/citation-readiness | 1 | Likelihood that AI engines cite this page. |
| POST | /v1/aeo/schema-coverage | 1 | Coverage of JSON-LD schema types vs intent. |
| POST | /v1/aeo/llm-fetch-simulator | 1 | Simulate fetch from GPTBot, ClaudeBot, and PerplexityBot. |
| POST | /v1/aeo/llms-txt-audit | 1 | Audit an existing llms.txt for completeness and link rot. |
| POST | /v1/aeo/ai-bot-allowlist | 1 | Report robots.txt posture for 14 named AI crawlers. |
| POST | /v1/aeo/freshness-signal | 1 | lastmod and visible dateline coverage. |
| POST | /v1/aeo/heading-hierarchy-score | 1 | h1..h6 nesting quality score. |
| POST | /v1/aeo/snippet-format-detect | 1 | Detect list, table, definition, and FAQ snippet formats. |
| POST | /v1/scrape/llm-ready | 1 | Fetch and token-chunk a page for downstream AEO scoring or RAG ingest. |
Audit then iterate
- Run /v1/aeo/page-audit against the target URL to get an aggregate score plus component breakdowns.
- For any sub-score below threshold, call the corresponding component endpoint (e.g. /v1/aeo/schema-coverage, /v1/aeo/heading-hierarchy-score) to see the underlying findings.
- Apply fixes, then re-run /v1/aeo/llm-fetch-simulator with the GPTBot and PerplexityBot user-agents to confirm the rendered page reaches the bot intact.
- Track over time by storing the page-audit JSON keyed by URL + run timestamp.
Try a request
Pick a language. Click to expand the snippet.
curl
curl -X POST https://api.ollagraph.com/v1/aeo/page-audit \
-H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/pricing"}'
python
import httpx, os
r = httpx.post(
"https://api.ollagraph.com/v1/aeo/page-audit",
headers={"Authorization": f"Bearer {os.environ['OLLAGRAPH_API_KEY']}"},
json={"url": "https://example.com/pricing"},
timeout=60.0,
)
print(r.json())
node
const res = await fetch("https://api.ollagraph.com/v1/aeo/page-audit", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.OLLAGRAPH_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ url: "https://example.com/pricing" }),
});
console.log(await res.json());
AEO bundle FAQ
Does page-audit count as one call or many?
One call, 3 credits. The orchestrator runs ~9 probes server-side but you only pay once and only refund once on error.
Which AI bots does llm-fetch-simulator emulate?
GPTBot, ChatGPT-User, ClaudeBot, anthropic-ai, PerplexityBot, Google-Extended, and Amazonbot, with each user-agent string verbatim from their published docs.
Can I run AEO checks on a page behind login?
No. AEO endpoints fetch as the named bot would, which means anonymously. Gate-removed preview URLs are the workaround.
Ship with the AEO bundle.
1,000 credits on signup. No card. Every endpoint in this bundle is live from minute one.