๐ŸŽ‰ Limited time โ€” 20% off all plans. View pricing โ†’
Docs ยท AEO

Schema coverage audit

Parse every JSON-LD / Microdata / OpenGraph block; score coverage against the 12 schema.org types AEO answer engines weight most.

POST /v1/aeo/schema-coverage

Fetches the page and extracts all structured-data signals: JSON-LD blocks (including nested @graph arrays), Microdata types, OpenGraph tags. Scores 0โ€“100 / Aโ€“F based on which of the 12 AEO-critical types are present: Article, NewsArticle, BlogPosting, FAQPage, HowTo, Product, Recipe, Organization, WebSite, BreadcrumbList, Person, Review. FAQPage and HowTo earn disproportionate AI Overview citation โ€” Perplexity and ChatGPT pull-quote them verbatim. Returns concrete recommendations for which schemas to add.

Modern-framework sites (Next.js, SvelteKit, Astro): set use_residential_proxy: true to fetch via residential pool with JS rendering โ€” captures JSON-LD that's injected client-side after hydration. Bills +3 credits.

Parameters

Name Type Required Default Description
url string yes โ€” Page URL to inspect.
use_residential_proxy boolean no false Premium fetch via residential pool with JS rendering. Bills +3 credits. Use for JS-hydrated schemas.

Request

curl -X POST https://api.qcrawl.com/v1/aeo/schema-coverage \
  -H "Authorization: Bearer osk_..." \
  -d '{"url": "https://qcrawl.com/architecture/"}'

Response

{
  "status": "success",
  "url": "https://qcrawl.com/architecture/",
  "score": 60,
  "grade": "C",
  "json_ld_types_present": ["Article", "BreadcrumbList", "Organization", "FAQPage"],
  "json_ld_block_count": 3,
  "aeo_critical_present": ["Article", "BreadcrumbList", "Organization", "FAQPage"],
  "aeo_critical_missing": ["HowTo", "Person", "Product", "Recipe", "Review", "WebSite", ...],
  "open_graph_present": true,
  "twitter_card_present": true,
  "recommendations": ["Page contains how-to-style content; add HowTo schema..."]
}

Related