The Problem
Teams investing in Generative Engine Optimization (GEO) cannot tell whether AI engines cite their pages because of structured schema markup or because of content quality. Without this data, optimization budgets are allocated blindly.
The Scavio Solution
Use Scavio to track which of your pages appear in AI-generated search results, then cross-reference with your schema markup and content quality scores. Identify whether schema or content is the stronger citation driver for your domain.
Before
Guessing whether to invest in schema markup or content rewriting for GEO. No data on which factor drives AI engine citations for your specific pages.
After
Clear data showing citation rates for schema-heavy vs content-optimized pages, enabling targeted investment in the higher-ROI optimization lever.
Who It Is For
SEO teams and content strategists optimizing for AI Overview citations.
Key Benefits
- Tracks which pages earn AI engine citations
- Compares schema markup vs content quality as citation drivers
- Data-driven GEO budget allocation
- Identifies highest-ROI optimization opportunities
Python Example
import requests
def track_geo_citations(domain: str, pages: list) -> list:
citation_data = []
for page in pages:
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": SCAVIO_API_KEY, "Content-Type": "application/json"},
json={"query": page["target_query"], "platform": "google", "limit": 20}
)
results = resp.json().get("results", [])
cited = any(domain in r.get("link", "") for r in results)
position = next(
(r["position"] for r in results if domain in r.get("link", "")), None
)
citation_data.append({
"page": page["url"],
"has_schema": page["has_schema"],
"content_score": page["content_score"],
"cited": cited,
"position": position
})
return citation_data
pages = [
{"url": "/pricing", "target_query": "scavio pricing", "has_schema": True, "content_score": 85},
{"url": "/blog/serp-api", "target_query": "serp api comparison", "has_schema": False, "content_score": 92}
]
results = track_geo_citations("scavio.dev", pages)
for r in results:
print(f"{r['page']}: cited={r['cited']}, schema={r['has_schema']}, content={r['content_score']}")JavaScript Example
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
fetch('https://api.scavio.dev/api/v1/search', {method: 'POST', headers: H, body: JSON.stringify({query: 'example', country_code: 'us'})}).then(r => r.json()).then(d => console.log(d.organic_results?.length + ' results'));Platforms Used
Web search with knowledge graph, PAA, and AI overviews