Home / Tools / AI Search Readiness Checker
AI search visibility
AI Search Readiness Checker
Check if ChatGPT, Perplexity, Claude and Google's AI can read and cite your site: robots.txt rules for 17 AI bots, server-level blocking, llms.txt, sitemap, structured data and a 0-100 score with fixes. From $0.005 per site.
- Price: $5 per 1,000 × site checked
- Works with: Apify Console, REST API, Python, JavaScript, MCP (Claude, Cursor, VS Code), n8n, Make, Zapier
- Last updated: 2026-10-29
Sample output
| Site | Score | AI search bots blocked in robots.txt | llms.txt | Sitemap | Words in HTML |
|---|---|---|---|---|---|
| apify.com | 100 | none | yes | yes | 1,590 |
| stripe.com | 100 | none | yes | yes | 1,992 |
| hubspot.com | 98 | none | no | yes | 2,190 |
| github.com | 94 | none | yes | yes | 1,126 |
| bbc.com | 68 | OAI-SearchBot, ChatGPT-User, PerplexityBot, Perplexity-User | no | yes | 2,700 |
| example.com | 66 | none | no | no | 25 |
Real rows from a test run on Oct 27, 2026, 6 of 41 fields shown. Sites change their robots.txt often; your results will differ. Two sites in the same test (nytimes.com, wikipedia.org) refused the request with HTTP 403, so they were reported as errors and not charged.
Output fields
From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.
| Field | Type | Description |
|---|---|---|
site | string | Hostname checked |
url | string | URL submitted |
final_url | string | URL after redirects |
status | string | ok or error |
error | string | Why the site could not be checked |
http_status | number | HTTP status of the page |
readiness_score | number | 0-100 AI search readiness score |
grade | string | A-F grade |
issues_critical | number | Critical issues |
issues_high | number | High-priority issues |
issues_medium | number | Medium issues |
issues_low | number | Low issues |
issues | array | Issues sorted by severity, each with a fix |
search_bots_allowed | array | AI search bots robots.txt allows |
search_bots_blocked | array | AI search bots robots.txt blocks |
training_bots_blocked | array | AI training bots robots.txt blocks (a choice, not scored) |
bots | object | Allowed (true), blocked (false) or unknown (null) per bot |
robots_status | number | HTTP status of /robots.txt |
robots_blocks_all | boolean | robots.txt blocks all crawlers from the whole site |
firewall | object | HTTP status the server returned to each tested AI user agent |
llms_txt | boolean | A valid /llms.txt exists |
llms_full_txt | boolean | A valid /llms-full.txt exists |
sitemap | boolean | A sitemap was found |
sitemap_url | string | Sitemap URL found |
Pricing
Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Site checked main Charged once per site checked (AI bot rules, server blocking test, llms.txt, sitemap, schema, readiness score and fixes). Sites that cannot be fetched are not charged. | $0.005 | $0.0045 | $0.004 | $0.0035 |
Examples on the Free plan: 100 site checkeds = $0.50, 1,000 site checkeds = $5, 10,000 site checkeds = $50. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-29).
Example input
This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.
{
"sites": [
"apify.com",
"bbc.com",
"example.com"
],
"testServerBlocking": true
}Use it from code, no-code or an AI agent
cURL (one request, returns rows)
curl -X POST \
"https://api.apify.com/v2/acts/wrenfield-data~ai-search-readiness-checker/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"sites": ["apify.com", "bbc.com", "example.com"], "testServerBlocking": true}'Python
# pip install apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/ai-search-readiness-checker").call(
run_input={
"sites": [
"apify.com",
"bbc.com",
"example.com"
],
"testServerBlocking": True
},
max_total_charge_usd=1.00, # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/ai-search-readiness-checker').call({
"sites": [
"apify.com",
"bbc.com",
"example.com"
],
"testServerBlocking": true
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);MCP (Claude, Cursor, VS Code, any MCP client)
{
"mcpServers": {
"wrenfield-ai-search-readiness-checker": {
"url": "https://mcp.apify.com?tools=wrenfield-data/ai-search-readiness-checker"
}
}
}Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--ai-search-readiness-checker. More client setups on the MCP page.
n8n, Make, Zapier
Use the official Apify node or app, pick Run Actor, enter wrenfield-data/ai-search-readiness-checker and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.
For AI agents and code generators: this page as Markdown · OpenAPI 3 spec (run, run-sync and dataset endpoints).
FAQ
How much does AI Search Readiness Checker cost?
$0.005 per site checked on the Apify Free plan ($5 per 1,000), billed per result by Apify with no subscription. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.
Does a high score mean ChatGPT or Perplexity will cite my site?
No. The score measures technical access and clarity: whether the bots can fetch your pages and read what is on them. Being cited also depends on content quality, authority and what each engine decides for each question. A low score reliably means something blocks you; a high score means nothing technical does.
Does allowing a bot in robots.txt guarantee it can crawl my site?
No. A CDN or firewall can still block it. That is why the Actor also requests the page with three AI crawler user agents. Real crawlers may be verified by IP address, so a pass here is not proof and a block here is a strong warning.
Should I block training bots?
That is your decision. Blocking training bots (GPTBot, ClaudeBot, Google-Extended and others) does not affect whether search and answer bots can cite you, so the Actor reports them but does not score them. Note that Googlebot also feeds Google AI Overviews and AI Mode, so blocking it removes you from Google Search too.
Is llms.txt required?
No. It is a proposed convention for giving AI systems a Markdown map of your key pages. We report whether it exists and weigh it lightly, because no major AI engine has confirmed that it affects citations.
Why was my site reported as an error and not charged?
The site refused our request (HTTP 401, 403, 407 or 429), did not answer in time or returned a server error. Those checks are free.
Does it check my private pages or log in anywhere?
No. It requests public URLs only, never logs in, and refuses private network addresses.
Related tools
AI Search Visibility Tracker
Brand mentions, share of voice and citations across 6 AI engines.
AI Answer Scraper
Full answers and citations from ChatGPT, Perplexity, Gemini and AI Mode.
Google AI Overview Scraper
Google AI Overviews with every cited source, plus whether your domain is cited.
Agency AI Visibility Reports
White-label weekly AI visibility packets for every client, from one CSV.
Compare and plan
Try AI Search Readiness Checker now
Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.
Open on Apify