SEO Optimizer
API Reference
SEO Optimizer
Analyzes a page's on-page SEO, GEO/AI-search readiness, and E-E-A-T trust signals, with optional JavaScript rendering, keyword/competitor comparison, and Google Search Console data.
/api/seo-optimizerasyncStarts a scan - on-page SEO, GEO, E-E-A-T, and optional JS rendering
Request body
{
"url": "https://example.com/page",
"keyword": "target keyword",
"competitorUrl": "https://competitor.com/page",
"renderJs": false
}Response (immediate)
{
"scanId": "clxyz..."
}Example
curl -X POST https://www.scanverra.com/api/seo-optimizer \
-H "X-API-Key: sk_live_..." \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/page","keyword":"widgets"}'/api/seo-optimizersynchronousFetches a scan's status and full results once complete
Query params
?id={scanId}Response
{
"id": "clxyz...",
"status": "done",
"score": 88,
"pageData": {...},
"findings": [...],
"keywordAnalyses": [...],
"crawlability": {...},
"aiSuggestions": {...},
"competitorPageData": {...},
"competitorFindings": [...]
}status is running, done, or failed. pageData, findings, and aiSuggestions are only populated once status is done.
Example
curl "https://www.scanverra.com/api/seo-optimizer?id=clxyz..." \ -H "X-API-Key: sk_live_..."
Optional request fields
keyword: comma-separated target keywords to check placement/density for. competitorUrl: a second URL to scan and compare against in the same report. renderJs: set to true to render the page in a headless browser first - slower, but sees content that a plain fetch would miss on React/Vue/SPA sites.