GEO Content Auditor — AI Answerability Score
Pricing
from $40.00 / 1,000 page auditeds
GEO Content Auditor — AI Answerability Score
Audit webpages for AI answerability. Score structure, facts, entities, schema, and authority, then get prioritized fixes for stronger AI citations.
Pricing
from $40.00 / 1,000 page auditeds
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
GEO Content Auditor is an Apify Actor that runs a GEO content audit on public web pages and gives each page an AI answerability score from 0 to 100 for content, SEO, and agency teams. It returns five sub-scores, a letter grade, strengths, prioritized issues, quick wins, missing schema types, and suggested Q&A pairs as JSON, CSV, or Excel.
Free plan limit: every page audit calls a paid AI model, so runs on the Apify free plan deliver at most one page audit per run. Paid Apify plans use the
maxPageslimit you set (up to 50 pages per run).
What does GEO Content Auditor do?
- Scores AI answerability on five dimensions that add up to 100: structure (30), extractable facts (25), entity clarity (20), machine readability (15), and authority signals (10).
- Grades each page A (90-100), B (75-89), C (60-74), D (40-59), or F (0-39).
- Lists strengths, issues, and three quick wins so writers know what to keep and what to fix first.
- Detects JSON-LD and
llms.txtand suggests missing Schema.org types such as FAQPage or Organization. - Suggests buyer-style Q&A pairs the page could answer to become easier to quote.
- Scores prompt fit (0-100) when you supply the questions the page should answer.
- Writes a site-level
SUMMARYwith the average score, recurring issues, the lowest-scoring priority pages, and URLs that could not be fetched.
Which AI models does it use?
| Step | Model (as of October 2026) |
|---|---|
| Page analysis and scoring | openai/gpt-6-luna via OpenRouter, reasoning disabled, strict JSON output |
The Actor owner pays the model cost inside the event price, so you do not need an OpenRouter or OpenAI account or API key. The model is fixed in code; a model value sent in the input is ignored and logged as a warning.
What data does it return?
One dataset row per page the AI audited:
| Field | Type | Description |
|---|---|---|
url | string | Audited page URL |
page_title | string or null | HTML title of the page |
ai_answerability_score | integer or null | Overall score 0-100 (sum of sub-scores); null if the audit failed |
structure_score | integer or null | Question-style headings, FAQ, lists, heading hierarchy (max 30) |
facts_score | integer or null | Statistics, dates, named entities, definitions (max 25) |
entity_score | integer or null | Brand definition, author, JSON-LD, named product (max 20) |
readability_score | integer or null | Semantic markup, chunkability, llms.txt (max 15) |
authority_score | integer or null | Cited sources, publication date, breadcrumbs (max 10) |
grade | string or null | Letter grade A-F; null if the audit failed |
strengths | array of strings | What the page does well |
issues | array of strings | Actionable issues, most impactful first |
quick_wins | array of strings | Highest-impact fixes to do first |
missing_schema_types | array of strings | JSON-LD types that would help |
suggested_qa_pairs | array of objects | question and answer_hint pairs to add |
llms_txt_present | boolean | Whether /llms.txt exists on the domain |
has_json_ld | boolean | Whether the page contains JSON-LD |
word_count | integer | Approximate body word count |
prompt_fit_score | integer or null | How well the page answers your target prompts (0-100); null without prompts |
model | string | OpenRouter model that produced the audit |
error | string or null | Error message if the AI audit failed; null on success |
audited_at | string | ISO 8601 timestamp |
Use cases
- Content teams check new or existing articles for AI answer engine readiness before and after an update.
- SEO and GEO agencies deliver an AI answerability score and a fix list as part of client reporting.
- Product marketers confirm that product pages define the brand and key facts clearly.
- Editors prioritize a content library by its lowest-scoring pages and most frequent issues.
- AI agents audit a page and return structured recommendations inside a content workflow.
When to use it and when not to
Use it for page-level GEO content audits, LLM citation readiness reviews, and AI SEO page audits. Do not use it as proof that an AI engine will cite a page, as a Google ranking predictor, or as a technical SEO crawler; AI engines do not publish a citation formula.
- For technical on-page SEO and security headers, use SEO Site Checkup.
- For crawler access, AI bot rules, and sitemaps, use AI Readiness Auditor.
- To see whether AI answers actually cite your domain, use AI Citation Monitor.
How to use GEO Content Auditor
- Open the Actor in Apify Console and click Try for free.
- Add the page URLs to audit in URLs to Audit.
- Optionally enter your Brand / Product Name and the buyer questions the pages should answer in Target AI Prompts.
- Set Max Pages and click Start.
- Download the dataset as JSON, CSV, or Excel and open the
SUMMARYrecord in the key-value store for the site view.
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array (required) | prefill https://apify.com/about | Direct http or https page URLs; duplicates are skipped |
brandName | string | none | Brand or product used for the entity check; inferred from the page when empty |
targetPrompts | array of strings | [] | Buyer questions the page should answer; enables prompt_fit_score |
maxPages | integer | 10 | Maximum pages per run, 1-50; extra URLs are ignored |
{"startUrls": [{ "url": "https://example.com/product" },{ "url": "https://example.com/blog/buyers-guide" }],"brandName": "Acme","targetPrompts": ["What is the best workflow tool for small teams?"],"maxPages": 10}
Output example
{"url": "https://example.com/product","page_title": "Acme Workflow Platform","ai_answerability_score": 61,"structure_score": 18,"facts_score": 15,"entity_score": 12,"readability_score": 10,"authority_score": 6,"grade": "C","strengths": ["Clear H2 headings", "Product name defined in the first paragraph"],"issues": ["No FAQ section or FAQPage JSON-LD", "No publication or update date"],"quick_wins": ["Add an FAQ with five buyer questions", "Open with a one-sentence answer", "Add an update date"],"missing_schema_types": ["FAQPage", "Organization"],"suggested_qa_pairs": [{ "question": "What does Acme do?", "answer_hint": "One-sentence definition of the product" }],"llms_txt_present": false,"has_json_ld": false,"word_count": 1240,"prompt_fit_score": 55,"model": "openai/gpt-6-luna","error": null,"audited_at": "2026-10-20T12:00:00.000Z"}
Use it via API, MCP, and AI agents
Run synchronously and get the dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~geo-content-auditor/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://example.com/product"}],"brandName":"Acme","maxPages":5}'
JavaScript with apify-client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/geo-content-auditor').call({startUrls: [{ url: 'https://example.com/product' }],brandName: 'Acme',targetPrompts: ['What is the best workflow tool for small teams?'],maxPages: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();const summary = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('SUMMARY');console.log(items, summary?.value);
For Claude, ChatGPT, Cursor, and other MCP clients, add the Apify MCP server with this Actor as a tool: https://mcp.apify.com?tools=muhammadafzal/geo-content-auditor.
On the Apify platform you can also schedule re-audits, trigger webhooks, and send results to Make, Zapier, n8n, or Google Sheets.
How much does it cost?
The Actor uses pay-per-event pricing. Current prices in USD by Apify plan tier:
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
page-audited (per successful page audit) | $0.050001 | $0.04875 | $0.0475 | $0.04 | $0.04 | $0.04 |
apify-actor-start (per run, per started GB of memory) | $0.006251 | $0.006094 | $0.005938 | $0.005 | $0.005 | $0.005 |
No price change is scheduled. The start event is charged once per started GB of allocated memory: one event for up to 1 GB. The Actor fetches HTML over HTTP and runs no browser, so its default of 512 MB pays a single start event per run.
- Free plan, one page: $0.006251 + 1 × $0.050001 = $0.056252.
- SILVER plan, 10 pages: $0.005938 + 10 × $0.0475 = $0.480938.
Pages that cannot be fetched, return an HTTP error, or fail AI analysis are not charged. The AI model cost is included; there is no separate usage fee.
Limits and reliability
- Free plan: one page audit per run. Paid plans: up to
maxPages, at most 50 per run. - Pages are fetched as raw HTML without running JavaScript. Pages that render their text in the browser may show a low word count and score lower than what visitors see.
- The model sees the title, meta description, up to 30 H1-H3 headings, JSON-LD types, and the first 3,000 characters of body text. Word count uses the full body text.
- One model request per page, 90-second timeout, no automatic retry. Failed audits keep an
errorand null scores; unreachable or HTTP-error pages are listed inSUMMARY.failed_urls. - If the AI provider rejects requests (for example, an exhausted provider budget), the run stops, delivered rows are kept, and remaining pages are not processed or charged.
- Scores come from an AI model and can vary between runs. Compare trends across repeated audits rather than small single-run differences.
- Only public pages are audited; login-only, paywalled, or blocked pages are not.
FAQ
Do I need an OpenRouter or OpenAI API key?
No. The model cost is paid by the Actor owner and included in the per-page price. You only need an Apify account.
What is an AI answerability score?
It estimates how easily an answer engine can tell what a page is about, extract a concise answer, and quote it with clear entities and sources.
Does a high score guarantee ChatGPT or Perplexity will cite my page?
No. Citation choice also depends on the query, competing sources, authority, and each engine's retrieval system. The score is a diagnostic, not a guarantee.
How often should I run it?
After publishing or updating important pages, and on a schedule such as monthly for key landing pages. Apify schedules can automate this.
How is it different from AI Citation Monitor?
GEO Content Auditor inspects your page and tells you what to fix. AI Citation Monitor asks AI engines real questions and records which domains they cite.
Related Actors
- AI Citation Monitor: track which domains and URLs AI answers cite for your prompts.
- AI Brand Monitor — Visibility Rank Tracker: track brand position and share of voice in AI answers.
- AEO Tracker: monitor answer engine optimization visibility across AI engines.
- AI GEO Recommendation Tracker: get GEO recommendations and reports based on AI visibility checks.
- ChatGPT Brand Visibility Tracker: measure brand mentions and citations in ChatGPT-style answers.
Legal and responsible use
Audit only public pages you are allowed to access and follow the site's terms. Review AI recommendations and validate structured data before publishing changes.
Support
Report problems or request features on the Issues tab of this Actor's page. Feedback is welcome.