For AEO Agencies · White-Label Answer-Engine Audits

Audit every client for AI citation. Ship your own report.

You optimize client sites so ChatGPT, Perplexity, Claude, Gemini, and Google AI Overviews cite them. Ollagraph turns every answer-engine check into one API call — so you can audit a whole book of client domains the same way, every time, and render findings under your agency's brand.

Built on the AEO audits capability. Solo practitioner? See the for SEO consultants page — or browse the full surface.

AGENCY ADVANTAGES

Built for agency-scale workflows.

Eliminate manual screenshots and ad-hoc checklists. Deliver standardized, high-margin audits.

01

Audit a whole book of clients

Run the same scored AEO audit across every domain you manage in one loop. Citation readiness, schema coverage, AI-crawler access, and freshness signals come back as structured JSON per URL — not screenshots you have to read by hand. Slot it straight into a recurring monthly deliverable.

02

White-label, end to end

The endpoints return clean JSON; you render the report. Your client sees your agency's branding, your template, your recommendations. There is no forced attribution on the output. Wrap the responses in your existing PDF, Notion, or Looker pipeline and ship it as your own product.

03

AEO and technical SEO in one pass

Answer-engine checks (citation readiness, schema coverage, the LLM fetch simulator, llms.txt audit) and classic technical-SEO checks (meta audit, schema validation) come from the same bearer token. One integration covers both halves of a 2026 audit instead of stitching a browser extension to a desktop crawler to a rich-results test.

04

Site-wide, async, repeatable

Crawl a client's whole site, then audit every page the crawl returns. Long jobs run detached and POST to your webhook when done, so a 5,000-page audit never holds a socket open. Schedule the re-audit monthly and report the trend line, not just the snapshot.

CORE ENDPOINTS

The endpoints behind an AEO audit.

Every answer-engine check is one call. These are the ones an agency runs most.

Citation readiness & freshness

Is the page cite-ready for answer engines? Scored with the recency and attribution signals AI surfaces weigh before quoting content.

/v1/aeo/citation-readiness • /v1/aeo/freshness-signal

AI crawler access & fetch simulation

Can GPTBot, ClaudeBot, and PerplexityBot reach the right paths? Simulate crawler fetches and audit the client's llms.txt compliance.

/v1/aeo/ai-bot-allowlist • /v1/aeo/llm-fetch-simulator • /v1/aeo/llms-txt-audit

Structured data coverage

Which schema types are present, which are missing, and is the markup valid — the difference between a quoted result and an ignored one.

/v1/aeo/schema-coverage • /v1/seo/schema-validate

One-call page audit + competitor diff

A composite scored audit for a single URL, classic meta checks, and competitor diffing for recurring client trend reports.

/v1/aeo/page-audit • /v1/seo/meta-audit • /v1/aeo/competitor-diff

The full set lives in the AEO bundle and the SEO bundle — part of the 147-endpoint surface.

IMPLEMENTATION PATTERNS

Patterns you can ship this week.

Drop these ready-to-run automation snippets into your agency's reporting stack.

Audit a book of clients • bash
# Audit a whole book of client domains for AI-citation readiness.
# One loop, one bearer token, structured findings you can roll into a report.
export OLLAGRAPH_API_KEY="osk_..."

for DOMAIN in clienta.com clientb.com clientc.com; do
  echo "== $DOMAIN =="

  # 1. The headline number: how cite-ready is the page for answer engines?
  curl -s -X POST https://api.ollagraph.com/v1/aeo/citation-readiness \
    -H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"url\": \"https://$DOMAIN\"}"

  # 2. Can the AI crawlers even reach it? GPTBot / ClaudeBot / PerplexityBot.
  curl -s -X POST https://api.ollagraph.com/v1/aeo/ai-bot-allowlist \
    -H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
    -d "{\"url\": \"https://$DOMAIN\"}"

  # 3. Is the structured data answer engines look for actually present?
  curl -s -X POST https://api.ollagraph.com/v1/aeo/schema-coverage \
    -H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
    -d "{\"url\": \"https://$DOMAIN\"}"
done
White-label reporting pipeline • python
# White-label pipeline: call the audit endpoints, render with YOUR branding.
# The client sees your agency's report — they never need to know Ollagraph exists.
import os, httpx

API = "https://api.ollagraph.com"
client = httpx.Client(
    headers={"Authorization": f"Bearer {os.environ['OLLAGRAPH_API_KEY']}"},
    timeout=60.0,
)

def audit_client(domain: str) -> dict:
    url = f"https://{domain}"
    return {
        # One call, the full scored page audit (multiple AEO checks at once).
        "page_audit": client.post(f"{API}/v1/aeo/page-audit",
            json={"url": url}).json(),
        # Does the page lead with the answer? Heading hierarchy + snippet shape.
        "citation": client.post(f"{API}/v1/aeo/citation-readiness",
            json={"url": url}).json(),
        # Schema.org coverage gap analysis — what's missing for rich answers.
        "schema": client.post(f"{API}/v1/aeo/schema-coverage",
            json={"url": url}).json(),
        # Classic technical-SEO meta audit for the same report.
        "meta": client.post(f"{API}/v1/seo/meta-audit",
            json={"url": url}).json(),
    }

# Roll each result into your own PDF / Notion / Looker template.
# JSON in, your-brand report out. One workspace per client keeps it tidy.
report = audit_client("client.example.com")
Simulate the answer-engine fetch • bash
# "Will ChatGPT actually see this page the way the client thinks?"
# The LLM fetch simulator answers that. Pair it with the freshness signal
# so the deliverable shows both reachability AND recency.
export OLLAGRAPH_API_KEY="osk_..."

# Simulate how an answer-engine crawler fetches and parses the page.
curl -X POST https://api.ollagraph.com/v1/aeo/llm-fetch-simulator \
  -H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://client.example.com/pricing"}'

# Audit the client's llms.txt — the file answer engines increasingly read.
curl -X POST https://api.ollagraph.com/v1/aeo/llms-txt-audit \
  -H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
  -d '{"url": "https://client.example.com"}'

# Freshness: are the signals an answer engine uses to judge recency present?
curl -X POST https://api.ollagraph.com/v1/aeo/freshness-signal \
  -H "Authorization: Bearer $OLLAGRAPH_API_KEY" \
  -d '{"url": "https://client.example.com/blog/guide"}'

For a site-wide audit, enumerate the pages with the crawler first, then run these against every URL it returns. Watching each call land is part of the per-URL observability surface.

COMMON QUESTIONS

AEO agency questions.

What is AEO and why do agencies need a dedicated audit toolkit for it?

AEO is Answer Engine Optimization — optimizing a site so that ChatGPT, Perplexity, Claude, Gemini, and Google AI Overviews can find it, fetch it, understand it, and cite it in their answers. It overlaps with SEO but adds new checks: can the AI crawlers reach the page, does the content lead with the answer, is the structured data present, is the llms.txt file in good shape. Ollagraph turns each of those checks into one API call so an agency can audit many client domains the same way every time.

How is this page different from the AEO audits page and the for-SEO consultants page?

The AEO audits page describes the capability itself — the individual endpoints and what each one measures. The for-SEO-consultants page is aimed at independent SEO practitioners doing technical audits. This page is for agencies whose product is AEO: teams that audit many client domains for AI-citation readiness, produce white-label reports, and re-run the same audit on a schedule. Same underlying API, different workflow.

Can I white-label the results in client reports?

Yes. Every endpoint returns plain JSON, and you build the client-facing deliverable. No Ollagraph branding is forced onto the output. Most agencies render the JSON into their own PDF, Notion, or dashboard template so the client only ever sees the agency's brand.

Which endpoints power an AEO agency audit?

The core AEO set: citation-readiness, schema-coverage, ai-bot-allowlist, llm-fetch-simulator, llms-txt-audit, freshness-signal, competitor-diff, and a combined page-audit that runs several checks at once. Pair those with the technical-SEO meta-audit and schema-validate endpoints, and use the crawler to enumerate every page on a site before auditing each one.

How do I audit an entire client site rather than a single page?

Start a crawl with the crawl endpoint to enumerate the site, collect the result by webhook or by polling the jobs endpoint, then run the AEO audit endpoints against each URL the crawl returned. The crawler is async and honors robots.txt by default, so a site-wide audit runs detached and never holds a connection open.

Does Ollagraph replace Ahrefs, SEMrush, or a desktop SEO crawler?

Partially. Ollagraph covers the AEO layer and the technical-SEO audit layer — citation readiness, AI-crawler access, schema coverage and validation, meta audits, llms.txt — as a programmable API. It does not do keyword research, backlink profiles, or SERP rank tracking. Agencies pair it with a rank-and-backlink tool for those layers and use Ollagraph for the audit and answer-engine layer.

Can I run the same audit on a schedule for trend reporting?

Yes. Because every check is an API call, you can re-run the full audit monthly from your own scheduler, store each snapshot, and report the trend line to the client. The competitor-diff endpoint is built to compare a client against rivals over time, which makes a clean recurring deliverable.

What is the fastest way to prove the value to one client?

Sign up for the free tier, pick one existing client, and run the citation-readiness and page-audit endpoints against their top landing pages. Render the result as a one-page branded PDF that says exactly which pages an answer engine can cite and which can't. That single deliverable usually sells the recurring engagement.

WHITE-LABEL

Your agency's report. Powered by our API.

Call the audit endpoints from your reporting pipeline and render the results with your branding. The client sees your report — clean JSON in, your-brand deliverable out. Run one workspace per client for isolated billing and rate limits, schedule the re-audit, and report the trend instead of a one-off snapshot.

1,000 credits on signup · No credit card required

Prove it on one client this week.

1,000 free credits on signup — enough to run a full client audit and ship a polished, white-label deliverable. One bearer token, failed calls auto-refund.

No card required White-label JSON Output Auto-Refund on Failures