10 AEO endpoints · designed for AI-citation surfaces

Get cited by the
answer engines.

ChatGPT, Perplexity, Claude, Gemini, Google AI Overviews — they all fetch your pages, parse your schema, and decide whether to cite you. Audit your AEO surface programmatically. Get a remediation checklist, not a screenshot.

WHY AEO

Search is changing. So is "ranking."

Google's AI Overviews already account for more than 50% of zero-click impressions on informational queries. Perplexity cites sources directly. ChatGPT's browse mode fetches your page and cites what it finds. The new SEO is: can a model read your page, trust it, and quote it. AEO is the audit surface for that question.

1

Make your page legible to crawlers

JSON-LD, OpenGraph, semantic headings, llms.txt, ai-license. We score each signal and tell you which ones are missing.

2

Earn the citation

Snippet-readiness, freshness, schema coverage, citation EEAT signals — the things that actually drive whether a model quotes you instead of a competitor.

3

Check what the model actually sees

The LLM fetch simulator hits your page with GPTBot, ClaudeBot, PerplexityBot user-agents and returns the bytes they get back. No more guessing.

THE API

10 AEO endpoints, one Bearer token.

Every endpoint is credit-metered, returns structured JSON, and works with curl, the MCP server, or any HTTP client. No browser automation, no screenshots — just signals your agent can reason about.

POST /v1/aeo/page-audit

Page audit

Composite AEO score for a URL. Aggregates schema, meta, headings, freshness, fetch-simulator, and citation signals into one report.

POST /v1/aeo/citation-readiness

Citation readiness

Score a page against post-ChatGPT EEAT signals — author, dates, sources, structured data. Tells you why a model would (or wouldn't) cite you.

POST /v1/aeo/schema-coverage

Schema coverage

Inspect JSON-LD, microdata, RDFa coverage. Flags missing rich-result types for the content you've actually written.

POST /v1/aeo/llm-fetch-simulator

LLM fetch simulator

Hits your URL as GPTBot, ClaudeBot, PerplexityBot, CCBot, Google-Extended. Returns response body, headers, and whether you served or blocked them.

POST /v1/aeo/ai-bot-allowlist

AI-bot allowlist audit

For 14 named AI crawlers, report whether your robots.txt allows or blocks each one. Catches accidental blocks from over-eager bot-management rules.

POST /v1/aeo/llms-txt-audit

llms.txt audit

Validate your /llms.txt against the emerging AEO-readiness convention. Structure check, section coverage, link rot (up to 50 links).

POST /v1/aeo/freshness-signal

Freshness signal

Score a page's date signals — dateModified, datePublished, Last-Modified, sitemap lastmod, visible "updated on" copy. Stale content loses citations.

POST /v1/aeo/snippet-format-detect

Snippet format detect

Classify what kind of snippet your page is best positioned to win — list, table, paragraph, comparison, how-to — and flags the gaps.

POST /v1/aeo/heading-hierarchy-score

Heading hierarchy

Scores your H1/H2/H3 tree. Models lean on heading structure to chunk pages for retrieval; a broken hierarchy hurts retrieval recall.

POST /v1/aeo/competitor-diff

Competitor diff

Diff your AEO surface against a competitor URL. Side-by-side schema, freshness, citation-readiness — find the specific gaps to close.

QUICK EXAMPLE

One call. Full audit.

The page-audit endpoint composes the others. Hand it a URL, get back a score and a structured remediation list your agent can act on.

# Request
curl https://api.ollagraph.com/v1/aeo/page-audit \
  -H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/blog/post"}'

# Response (abridged)
{
  "status": "success",
  "url": "https://example.com/blog/post",
  "aeo_score": 72,
  "signals": {
    "schema_coverage":    { "score": 85, "missing": ["Article.author"] },
    "citation_readiness": { "score": 68, "flags":   ["no_visible_dateModified"] },
    "freshness":          { "score": 55, "age_days":    412 },
    "llm_fetch":          { "gptbot": "200", "claudebot": "200", "perplexitybot": "403" }
  },
  "remediation": [
    { "priority": "high", "fix": "Add visible 'Updated on' line in template" },
    { "priority": "high", "fix": "Unblock PerplexityBot in robots.txt (currently 403)" },
    { "priority": "med",  "fix": "Populate Article.author in JSON-LD" }
  ]
}
STANDARDS & FURTHER READING

The specs our audits check against.

AEO isn't folklore — it rests on public standards that answer engines actually implement. Our audits validate your pages against the primary sources:

Run your first audit.

1,000 credits on signup. No card required. Most AEO endpoints cost 1 credit per call. page-audit and competitor-diff each cost 3 (they fan out across 8–9 component probes internally).