A GEO audit API: send a URL, get 26 checks on whether AI assistants can crawl, parse and cite the page, scored 0-100 with fixes, as JSON. Basic plan and up.
SEO Score API's GEO audit API is a REST endpoint, GET /geo/audit, that scores how ready one page is to be read and cited by AI assistants and AI search (generative engine optimization). It runs 26 checks in five categories: crawl access, structured data, content structure, entity clarity and freshness, and returns a 0-100 GEO score, a letter grade, every check's result and a list of fixes ranked by severity, as JSON. It is for developers, agencies and content teams who want an AI-visibility check in a report, a CI job or an AI assistant, and it is included from the Basic plan ($15/mo).
curl -H "X-API-Key: YOUR_KEY" \
"https://seoscoreapi.com/geo/audit?url=https://example.com"
Or from Python with requests:
import requests
r = requests.get(
"https://seoscoreapi.com/geo/audit",
params={"url": "https://example.com"},
headers={"X-API-Key": "YOUR_KEY"},
)
data = r.json()
print(data["geo_score"], data["geo_grade"], data["checks_passed"], "/", data["checks_total"])
/llms.txt exists, and whether the content is in the HTML without JavaScript.sameAs links.<pre>/<code>.dateModified in schema, a Last-Modified header, a current copyright year, and recent dates in the content.{
"url": "https://example.com",
"geo_score": 41.7, "geo_grade": "F",
"categories": {
"crawl_access": {"score": 73.3, "checks": [
{"name": "robot_gptbot", "status": "pass", "score": 100,
"detail": "GPTBot allowed"},
{"name": "llms_txt", "status": "info", "score": 0,
"detail": "No /llms.txt file",
"recommendation": "Create a /llms.txt file to provide AI-friendly site summary"},
...]},
"structured_data": {...}, "content_structure": {...},
"entity_clarity": {...}, "freshness_signals": {...}
},
"priorities": [{"severity": "high", "category": "structured_data",
"check": "jsonld_present",
"issue": "No JSON-LD structured data",
"fix": "Add JSON-LD markup (Organization, Article, FAQPage, etc.)",
"plain_english": "...", "who_fixes_it": "content"}, ...],
"checks_total": 26, "checks_passed": 6,
"timestamp": "..."
}An excerpt of a real run on example.com, a placeholder page with almost no content, so it scores low. Each check is pass, warning, fail or info; priorities lists failures first, and every entry carries a plain_english sentence and a who_fixes_it tag for a client report.GEO audits come with a monthly allowance from the Basic plan: Basic ($15/mo) 1, Pro ($39/mo) 5 and Ultra ($99/mo) 10 a month, shared with GEO brand probes. The free and Starter plans do not include the GEO audit. Every plan, free included, gets the ai_readability block inside the standard GET /audit response, a lighter AI-readability signal. See pricing.
The same audit is the geo_audit tool on the SEO Score API MCP server at https://seoscoreapi.com/mcp. Add it to ChatGPT, Claude, Cursor, VS Code and others with the MCP setup guides, then ask: "Is https://example.com visible to ChatGPT and AI search? Run a GEO audit." It uses the same plan allowance as the REST API. The Python and Node SDKs have it too (geo_audit / geoAudit).
It reads the page and its robots.txt and llms.txt; it does not ask any AI model about you, so a good GEO score does not mean you are cited, only that nothing on the page is in the way. To see whether ChatGPT, Gemini, Perplexity and Claude actually mention you, use AI citation tracking. It audits one URL per call, checks those four AI crawlers only, reads the HTML as served without running JavaScript, and does no keyword or rank tracking.
What a GEO audit API measures, how it differs from an SEO audit, and how to call one: 26 checks on whether AI assistants can read, trust and cite a page.
AI search engines cite only 2-7 domains per response. Here's how to optimize your site across 5 categories so LLMs find, understand, and recommend your content.
llms.txt is an emerging standard telling AI crawlers what to read on your site. How to write one, what to put in it, and why it lifts your AIO score today.
Which AI crawlers do popular sites block? We checked 15 AI crawlers against robots.txt on the Tranco top 10,000. Training bots are blocked twice as often as AI search bots.
Track whether AI answer engines mention and cite your brand. GPT-6, Claude, Perplexity and Nova, on every paid plan. Here is what they said about us today.
An API that scores how ready a web page is to be read and cited by AI assistants and AI search, which is generative engine optimization (GEO). SEO Score API's GET /geo/audit runs 26 checks across crawl access, structured data, content structure, entity clarity and freshness, and returns a 0-100 score, each check's result and ranked fixes as JSON.
26 checks in five categories: crawl access (robots.txt rules for GPTBot, ClaudeBot, Google-Extended and PerplexityBot, llms.txt, content in the HTML), structured data (JSON-LD, Organization, FAQPage or HowTo, author, sameAs), content structure (headings, summary, lists, section length, link text, tables, code blocks), entity clarity (brand naming, About page, author byline) and freshness (dateModified, Last-Modified header, copyright year, recent dates).
An SEO audit asks whether a page can rank and get clicked: titles, meta, links, speed, mobile. A GEO audit asks whether an AI assistant can reach the page, parse it and tell who is behind it. Most sites need both; the same API key runs both.
No. It means nothing on the page is stopping a model from reading it. Whether an assistant cites you also depends on the topic and the competition. AI citation tracking measures actual mentions.
Basic ($15/mo) includes 1 GEO audit a month, Pro ($39/mo) 5 and Ultra ($99/mo) 10, shared with GEO brand probes. The free and Starter plans do not include it, but every plan gets the ai_readability block in the standard audit.
Yes. It is the geo_audit tool on the hosted MCP server at https://seoscoreapi.com/mcp; the setup guides at seoscoreapi.com/mcp-server cover each assistant.
Check a page's AI search visibility from your code