How ready the pages are to be cited in AI answers
https://seolyticize.com /api/v1/tools/get_geo_readiness A 0–100 generative-engine readiness score per page, for the pages given or the top pages by Search Console clicks (up to 20): citability 25 (an answer in the first 40–60 words of each H2 section, self-contained 130–170-word passages, 'X is…' definitions, figures with a cited source, the most citable block in the first 30% of the page), structure 20 (heading hierarchy, question headings, 2–4-sentence paragraphs, tables and lists), multimodal 15 (images, video, VideoObject markup, infographics and charts, calculators and other interactive elements), authority 20 (author, dates, recency — under 3 months best, over 6 stale — links to primary sources, and the brand on Wikipedia, Wikidata, Reddit, YouTube and LinkedIn from the site's sameAs and Wikidata, expert quotes with attribution), technical 20 (server-side rendering from the crawl, OAI-SearchBot, Claude-SearchBot and PerplexityBot allowed, an RSL licence, snippets allowed — nosnippet or max-snippet:0 keeps a page out of AI Overviews and AI Mode, data-nosnippet reported; llms.txt reported at weight 0). Training, search and user crawlers are reported apart, Bytespider, cohere-ai, Google-CloudVertexBot and Google-Agent (which ignores robots.txt) among them. Also a readiness score per answer engine (Google AI Overviews, AI Mode, ChatGPT, Perplexity, Claude, Bing Copilot) from the parts each leans on, 0 where its crawler is blocked: readiness, not measured citations. brandMentions: true adds how often Google finds the brand named on the web, Reddit, YouTube, LinkedIn and Wikipedia (five paid results pages; quote with estimate_cost). Unmeasured parts are null and the rest rescaled; a heuristic, and said so. Answers 'are our pages written to be cited by ChatGPT and Perplexity' and 'what is our GEO score'. Free without brandMentions.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredurlsstring[]topPagesintegerbrandMentionsbooleanmaxCostMicrosintegerdryRunboolean{
"clientId": "string",
"urls": [],
"topPages": 10,
"brandMentions": false,
"maxCostMicros": 0,
"dryRun": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/get_geo_readiness" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","urls":[],"topPages":10,"brandMentions":false,"maxCostMicros":0,"dryRun":true}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
data, and its meta.Example
{
"data": {},
"meta": {
"requestId": "string",
"costMicros": 0,
"cached": true,
"cachedFrom": "string",
"dataAsOf": "string",
"sources": [
"string"
],
"partial": true,
"next": [
{
"tool": "string",
"args": {},
"why": "string"
}
],
"nextCursor": "string",
"dryRun": true
}
}Schema
datarequiredmetaobjectrequiredShow child parameters
requestIdstringrequiredcostMicrosintegerrequiredcachedbooleanrequiredcachedFromstringdataAsOfstringsourcesstring[]partialbooleanrequirednextobject[]requiredShow child parameters
toolstringargsobjectwhystringnextCursorstringdryRunbooleanX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerX-Request-IdstringExample
{
"error": "string",
"code": "string",
"next": "string",
"requestId": "string"
}Schema
errorstringrequiredcodestringnextstringrequestIdstringX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_geo_readiness
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/get_geo_readiness
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_geo_readiness
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_geo_readiness
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_geo_readiness
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_geo_readiness
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/get_geo_readiness
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger