AI Search Visibility Audit — AEO Audit for Websites avatar

AI Search Visibility Audit — AEO Audit for Websites

Pricing

from $40.00 / 1,000 audited pages

Go to Apify Store
AI Search Visibility Audit — AEO Audit for Websites

AI Search Visibility Audit — AEO Audit for Websites

Run an AEO audit of any website: AI crawler access, llms.txt, sitemap, schema, answer blocks, authors and citations, scored per page. USD 50 per 1,000 pages.

Pricing

from $40.00 / 1,000 audited pages

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

20 hours ago

Last modified

Share

AI Search Visibility Audit runs an AEO audit of one website: it crawls up to 100 public pages from your start URL and sitemap and returns, for each page, a 0–100 score with a grade, five category scores, robots.txt access for six AI crawlers, llms.txt and sitemap status, question-led answer blocks, author and date signals, external citations and a list of issues with fixes, plus a site-level summary. It costs USD 50 per 1,000 audited pages on the FREE tier (USD 0.050001 per page), with a start fee of USD 0.006251.

It is built for SEO and GEO consultants, content teams and AI agents that need a quick, repeatable answer to "is this site ready to be found and quoted by AI search?". It is a deterministic on-site audit: it never queries AI assistants and does not measure mentions or rankings inside their answers.

What does the AEO audit return for each page?

Each audited page becomes one dataset row with 24 fields.

FieldWhat it tells you
url, finalUrl, statusCodeRequested URL, URL after redirects and HTTP status
title, metaDescription, canonicalUrl, h1Count, wordCountCore page metadata and visible word count
indexablefalse when the page declares noindex
structuredDataTypesschema.org types found in JSON-LD
answerBlockCountQuestion headings (ending in "?") followed by a 40–700 character answer
externalCitationCountNumber of distinct external sites the page links to
hasAuthor, publishedAt, modifiedAtAuthor signal and publication or modification dates
aiCrawlerAccesstrue or false for OAI-SearchBot, ChatGPT-User, GPTBot, ClaudeBot, PerplexityBot and Google-Extended on this page's path
llmsTxt, sitemappresent, missing, blocked or error for the site
score, grade, categoryScoresTotal score, grade and the five category scores
issues, recommendationsMatching lists of problems and fixes
auditedAtUTC timestamp

The OUTPUT record in the run's key-value store adds the site summary: status (success, warning, blocked, empty or rejected), pages audited, blocked and failed, average score and grade, robots.txt, llms.txt, sitemap and AI-crawler status for the site, the ten most common issues and the ten most common recommendations with the number of affected pages, and warnings.

How is the AI search visibility score calculated?

Each page earns up to 100 points in five categories, and grades are A (90+), B (75–89), C (60–74), D (40–59) and F.

  • Crawlability (20): HTTP 200, no noindex, a canonical URL.
  • Content clarity (25): title, meta description, exactly one H1, at least 300 words, at least one answer block.
  • Structured data (20): any JSON-LD, a page-purpose type (Article, FAQPage, HowTo, Product, Service, LocalBusiness or WebPage), BreadcrumbList.
  • Trust (20): author signal, a published or modified date, at least one external citation, an Organization, Person or LocalBusiness entity.
  • AI discovery (15): how many of the six AI crawlers robots.txt allows (all six earn 8 points), llms.txt present (4), sitemap present (3).

Robots.txt rules are matched per crawler with wildcard fallback; a site without robots.txt counts as allowing every crawler.

Give one website URL. The Actor reads robots.txt, llms.txt and up to four sitemap files, queues the start page and sitemap URLs, then follows internal links up to maxDepth until it has audited maxPages pages.

{
"startUrl": "https://www.apify.com/",
"maxPages": 25,
"maxDepth": 2,
"includeSubdomains": false,
"respectRobotsTxt": true
}
  • startUrl (required): one public HTTP(S) URL. The Console prefill is https://www.apify.com/; API calls must pass their own URL.
  • maxPages: 1–100 HTML pages, default 10. This caps charged rows.
  • maxDepth: 0–5, default 2. Depth 0 audits the start page plus sitemap URLs.
  • includeSubdomains (default false): also follow links to subdomains of the start domain; www and the bare domain are always treated as the same site.
  • respectRobotsTxt (default true): skips pages disallowed for generic crawlers. AI-crawler rules are always measured either way.

Requests are always direct; the Actor takes no proxy settings. Private and local network addresses and URLs with embedded credentials are rejected with a clear status and no page charges.

When should I use this AEO audit, and when not?

Use it for a fast site-level answer engine optimization audit: which AI crawlers your robots.txt blocks, whether llms.txt and a sitemap exist, and which pages lack answer blocks, schema, authors, dates or citations.

Do not use it for:

Output example

Abridged row from the default run on 2026-10-26.

{
"url": "https://apify.com/about",
"finalUrl": "https://apify.com/about",
"statusCode": 200,
"title": "About · Apify",
"canonicalUrl": "https://apify.com/about",
"h1Count": 1,
"wordCount": 380,
"indexable": true,
"structuredDataTypes": ["ContactPoint", "ImageObject", "Organization", "PostalAddress"],
"answerBlockCount": 0,
"externalCitationCount": 27,
"hasAuthor": false,
"publishedAt": null,
"aiCrawlerAccess": { "OAI-SearchBot": true, "ChatGPT-User": true, "GPTBot": true, "ClaudeBot": true, "PerplexityBot": true, "Google-Extended": true },
"llmsTxt": "present",
"sitemap": "present",
"score": 70,
"grade": "C",
"categoryScores": { "crawlability": 20, "contentClarity": 20, "structuredData": 5, "trust": 10, "aiDiscovery": 15 },
"issues": ["No question-led concise answer block was detected.", "No page-purpose schema type was detected.", "No author signal was found.", "No publication or modification date was found."],
"recommendations": ["Add question headings followed by concise, self-contained answers where useful.", "Add an accurate Article, FAQPage, HowTo, Product, Service, LocalBusiness, or WebPage type as appropriate."]
}

Pricing: how much does an AEO audit cost?

Pay per event; Apify platform usage is included. One event is charged for each page row written to the dataset.

EventFREEBRONZESILVERGOLD / PLATINUM / DIAMOND
Actor start (per started GB of allocated memory)USD 0.006251USD 0.006094USD 0.005938USD 0.005
Audited page (primary)USD 0.050001USD 0.04875USD 0.0475USD 0.04

The default memory is 512 MB, so a normal run has one start event.

  • Default input, 10 pages (FREE): 0.006251 + 10 × 0.050001 = about USD 0.51.
  • 100 pages (GOLD): 0.005 + 100 × 0.04 = about USD 4.01.

Blocked, failed, skipped and non-HTML pages produce no row and no charge, and a page reached twice through a redirect is written and charged once. The pricing block inside OUTPUT and the start status message use the live price for your tier, and the page budget is computed from your run's maximum total charge.

How reliable is the audit?

The default 10-page run took about 8 seconds on 2026-10-26. Requests retry twice on timeouts, 429 and 5xx responses and follow up to five redirects. How it handles edge cases:

  • Pages are deduplicated by finalUrl after redirects, so a www start URL that redirects to the bare domain is audited once.
  • A page counts as blocked only on HTTP 401, 403 or 429 or a recognised bot-challenge interstitial. Pages that merely mention CAPTCHAs or embed a CAPTCHA widget are audited normally.
  • Only server-delivered HTML is read; content rendered by JavaScript is not seen.

Use it from an AI assistant

AI Search Visibility Audit works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/ai-search-visibility-audit to your client.

Example prompt: "Run an AEO audit on 30 pages of example.com and tell me which AI crawlers are blocked, whether llms.txt exists, and the five most common issues with affected page counts."

Run it from the API

JavaScript (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/ai-search-visibility-audit').call({
startUrl: 'https://www.apify.com/',
maxPages: 25,
maxDepth: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const output = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('OUTPUT');
console.log(items, output?.value);

Python (apify-client 3.x):

from apify_client import ApifyClient
client = ApifyClient(token='YOUR_APIFY_TOKEN')
run = client.actor('muhammadafzal/ai-search-visibility-audit').call(run_input={
'startUrl': 'https://www.apify.com/',
'maxPages': 25,
})
items = client.dataset(run.default_dataset_id).list_items().items

FAQ

What is an AEO audit?

An AEO (answer engine optimization) audit checks whether AI search engines can crawl, understand and trust your pages: crawler access, structured data, direct-answer formatting, authorship, dates and citations. This Actor runs those checks across a site.

Does it show whether AI assistants cite my site?

No. It audits the on-site factors you control. Use the AI Visibility Tracker to measure mentions and rank inside AI answers.

Should I block or allow AI crawlers?

That is a business decision. The audit reports what your robots.txt currently allows for each crawler so the policy is intentional; allowing all six earns the full crawler points.

Do I need llms.txt?

It is optional. A present /llms.txt adds 4 of 100 points and is reported for the whole site.

Can it audit several domains in one run?

No. One run audits one site. Use the AI Readiness Checker or AI SEO Audit to cover several sites at once.

Can it audit pages behind a login?

No. It audits public pages only and does not bypass authentication, paywalls or CAPTCHAs.

Responsible use

Audit only public sites you own or are allowed to analyze, keep respectRobotsTxt on unless you have permission, and keep page budgets reasonable. The Actor does not log in, bypass access controls or solve CAPTCHAs.

Last verified: 2026-10-27