On this page

AI crawlers explained: the tokens, the robots.txt, and the curl that proves it

By Ruslan KutumbaevPublished Updated 7 min readAI crawlers

The AI crawlers that matter in 2026 answer to eleven user-agent tokens, and they split into three jobs. Training crawlers (GPTBot, ClaudeBot) teach models that you exist. Search crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot, Bingbot) build the live indexes that produce linked citations. On-demand fetchers (ChatGPT-User, Claude-User, Perplexity-User) grab a single page the moment a user asks for it. Allow all eleven if you want to be cited — then prove they get through, because on the SaaS sites I scan, the block is almost never in robots.txt anymore.

An AI crawler is a user-agent run by an AI company that requests your pages much like Googlebot does, except it feeds a language model or an answer engine instead of a classic ten-blue-links index.

Every token, what it does, and what blocking it costs

Read the last column before you touch your config. Blocking a training bot costs you what future models know; blocking a search bot costs you citations now; blocking a fetcher fails in front of a live prospect. Three of these tokens aren't what they look like — footnotes below the table.

TokenRun byWhat it doesIf you block it
GPTBotOpenAICollects training data for OpenAI modelsFuture models never learn you; ChatGPT Search citations unaffected
OAI-SearchBotOpenAIIndexes for ChatGPT SearchYou lose eligibility for ChatGPT's live, linked citations
ChatGPT-UserOpenAIFetches a page when a user asks ChatGPT to open or read itChatGPT tells your prospect it can't access your site
ClaudeBotAnthropicCollects training data for Claude modelsFuture Claude models never learn you
Claude-SearchBotAnthropicIndexes for Claude's web searchClaude stops citing you in searched answers
Claude-UserAnthropicFetches a page when a Claude user asks for itThe fetch fails while the user watches
PerplexityBotPerplexityIndexes for Perplexity search — not model trainingYou disappear from Perplexity's citations
Perplexity-UserPerplexityFetches a page when a Perplexity user asksSame failure, same audience
GooglebotGoogleCrawls for Google Search, including AI OverviewsYou vanish from Google entirely. Don't
Google-ExtendedGooglerobots.txt token controlling Gemini training and groundingGemini stops learning from you; Search rankings unaffected
BingbotMicrosoftCrawls for Bing's indexBing goes dark — and ChatGPT's search leans on Bing

Table 1 — The eleven AI crawler tokens worth knowing in 2026, by job and by cost of blocking.

The footnotes that actually matter

Google-Extended never appears in your logs. It isn't a bot. It's a robots.txt token that Google's regular crawlers read to decide whether your content may train Gemini and ground its answers. Googlebot keeps crawling either way — and AI Overviews is a Search surface, governed by Googlebot, not by this token. Block Google-Extended and you still rank. Block Googlebot and you're gone from everything at once.

Bingbot is the ChatGPT dependency nobody audits. ChatGPT's live search runs on Bing's index. Seer Interactive measured the overlap in February 2025: 87% of SearchGPT's citations matched Bing's top organic results, against 56% for Google's. Whatever your OpenAI rules say, if Bingbot can't read you, ChatGPT mostly can't cite you.

ChatGPT-User is not a click-through fetcher. It fires mid-conversation, when a user asks ChatGPT to open or read a specific page — "pull up their docs and check the rate limits." Citation eligibility in ChatGPT Search belongs to OAI-SearchBot, full stop. A lot of published advice swaps those two, which is how sites end up blocking exactly the wrong bot with complete confidence. And the Perplexity cousin plays by different rules again: Perplexity's own docs say Perplexity-User generally ignores robots.txt, on the logic that a human asked for the page.

The copy-paste robots.txt for getting cited

The cautious default — repeated in most "protect your content" posts — is to block the training bots and grudgingly allow the rest. For a publisher guarding a paywall, fine. For a SaaS that wants to be recommended inside AI answers, backwards: you can't be the cited source for a model that was never allowed to learn you exist. On a site whose entire job is getting cited — this one — I allow everything.

A plain User-agent: * with Allow: / already permits every token in the table; robots.txt only needs rules to restrict. I list the AI tokens explicitly anyway. It documents intent, and it gives you one obvious switch per bot if you ever change your mind.

# quillcite.com/robots.txt — allow everything that can cite us.
# "User-agent: * / Allow: /" already permits these; the explicit
# block below documents intent and makes audits trivial.

User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Googlebot
User-agent: Google-Extended
User-agent: Bingbot
Allow: /

User-agent: *
Allow: /

Sitemap: https://quillcite.com/sitemap.xml

One trap: robots.txt groups don't merge. A bot that matches a named group obeys that group alone and ignores User-agent: * — so if your * section disallows /admin or /drafts, repeat those lines inside the AI group, because the named bots won't inherit them. The reverse trap bites harder: any bot you never listed falls through to *, where a stray Disallow: / from someone's 2023 scraper panic still blocks every AI crawler that shipped since.

Verify, don't assume

Everything above this line is permission. None of it is access. The real 2026 story is that blocking moved down the stack — out of robots.txt, into the CDN and the WAF, where nobody who writes content ever looks.

Cloudflare made it policy: from September 15, 2026, Training and Agent crawlers are blocked by default on pages that carry ads, for new domains and all Free-tier customers (announced July 1, 2026). Search crawlers stay allowed — but a multi-purpose bot gets caught wherever Training is blocked, and Cloudflare's own examples of multi-purpose crawlers include Googlebot and BingBot. Read that again next to the 87% figure above. Perplexity, meanwhile, now publishes step-by-step WAF-whitelisting guides for Cloudflare and AWS. Vendors don't write docs like that for problems that don't exist.

In July 2026 I ran the exact check below across 72 SaaS domains. writer.com — an AI company — allows every one of these bots in robots.txt while its WAF returns 403 to six of them. Only OAI-SearchBot gets through. Someone whitelisted one bot and called it done. beehiiv.com serves 429 to ChatGPT-User, which means every reader who asks ChatGPT to open a beehiiv newsletter watches the fetch fail.

A clean robots.txt is permission, not access. The only proof that an AI bot can read your site is fetching the site as that bot.

— Ruslan Kutumbaev

The check is one line:

curl -sSL -A "GPTBot" -o /dev/null -w "%{http_code}\n" https://yourdomain.com/

200 means readable. 403 is a WAF block, 429 is rate-limiting, 503 is usually a bot challenge — and every one of them means that crawler can't read you, whatever robots.txt says. Loop it across the fleet:

for UA in GPTBot OAI-SearchBot ChatGPT-User ClaudeBot Claude-SearchBot \
          Claude-User PerplexityBot Perplexity-User Bingbot; do
  printf '%-17s ' "$UA"
  curl -sSL -A "$UA" -o /dev/null -w '%{http_code}\n' "https://yourdomain.com/"
done

Healthy output is a column of 200s. Here is writer.com from my July scan, seven bots tested:

GPTBot            403
OAI-SearchBot     200   <- the one bot on the whitelist
ChatGPT-User      403
ClaudeBot         403
Claude-SearchBot  403
PerplexityBot     403
Perplexity-User   403

Two honest caveats. Run the loop once with no -A flag as a control — if bare curl also gets a 403, your WAF blocks curl itself, and your access logs become the ground truth: grep them for the tokens above and count 200s against 403s. And a spoofed user-agent catches user-agent rules, which is what my scan was catching; a WAF that verifies crawlers by IP range can treat the real bot differently than it treats your laptop. If you'd rather not open a terminal, the free access checker runs this same comparison from your browser, control request included, in about ten seconds.

One thing the status code won't show: whether the bot got your content. Most AI crawlers don't execute JavaScript, so if your pricing table only exists after React hydrates, a 200 delivers an empty shell. Drop the -o /dev/null and grep the raw HTML for the sentence you want cited. If it isn't there, neither are you.

Access is the first gate, not the win

An open bot fleet makes you readable. Cited takes more — extractable answers, schema that matches the page, third-party proof — the rest of the GEO guide for technical SaaS. And if the loop comes back all-200 while ChatGPT keeps recommending your competitor, the problem sits upstream: why your SaaS is invisible in ChatGPT covers the five causes I keep finding.

Run the curl first, though. Access is gate one of six in my GEO audit method because it's the cheapest check in the discipline and the one that fails most often. Two minutes, nine status codes, and you know whether anything else you fix can matter.

Sources and further reading

FAQ

Should I block GPTBot?
Not if you want to be cited. GPTBot is OpenAI's training crawler; block it and future models never learn your product exists. It doesn't govern ChatGPT Search citations — OAI-SearchBot does — but the citation-maximizing default is to allow both.
What is the difference between GPTBot and OAI-SearchBot?
GPTBot collects training data for OpenAI's models. OAI-SearchBot builds the index behind ChatGPT Search and decides whether you are eligible for live, linked citations. A third token, ChatGPT-User, fetches a page when a user asks ChatGPT to open or read it mid-conversation.
Does allowing AI crawlers hurt my SEO?
No. These tokens are separate from Googlebot, so allowing GPTBot or PerplexityBot has no effect on your Google rankings. You are only deciding whether AI answer engines may read and cite you.
Is Google-Extended a crawler?
No — it's a robots.txt token, not a bot, and it never appears in your logs. Google's regular crawlers read it to decide whether your content may train and ground Gemini. Block it and you still rank in Google Search; AI Overviews is a Search surface governed by Googlebot, not by this token.
How do I know a crawler actually reached my page?
Don't trust robots.txt — fetch your page with the bot's user-agent via curl and read the status code, or grep your access logs for the tokens. In my July 2026 scans, sites with clean robots.txt files were serving 403s to AI bots from the WAF. A 200 with real HTML is the only proof.

Want this done for your SaaS?

Get the productized GEO audit (from $1,500, fixed fee) — or start free: grab the checklist and run the first pass yourself.