Schema coverage audit
Parse every JSON-LD / Microdata / OpenGraph block; score coverage against the 12 schema.org types AEO answer engines weight most.
/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..."]
}