There are three kinds of AI agent, and they cost you very different things when you block them. Search agents (OAI-SearchBot, Claude-SearchBot, PerplexityBot, DuckAssistBot) are how assistants find you to cite you, so keep them open. Training agents (GPTBot, ClaudeBot, CCBot) only affect whether your pages train future models, so blocking them is a reasonable choice with no direct visibility cost. User-triggered agents (ChatGPT-User, Claude-User, Perplexity-User) fetch a page because a person just asked about it, and several of them say robots.txt may not apply.
Every user agent, robots.txt token and verification method below was checked against the operator's own documentation in October 2026; each row links to it. Where an operator publishes nothing (ByteDance and Cohere, for example), we say so instead of repeating what other lists guess. The "In our data" column is the mean share of a site's AI fetches across the 12 small-business sites in our Q4 2026 Observatory.
Three kinds of AI crawler
| Kind | What it does | Examples | Block it and you… |
|---|---|---|---|
| AI search index | Crawls ahead of time so an assistant can cite and link you | OAI-SearchBot, Claude-SearchBot, PerplexityBot, DuckAssistBot, MistralAI-Index | drop out of that assistant's citations |
| User-triggered fetch | Loads one page because a user asked something, right now | ChatGPT-User, Claude-User, Perplexity-User, MistralAI-User | stop the assistant reading you for that user, if it obeys the rule at all |
| Model training | Collects pages that may train future models | GPTBot, ClaudeBot, CCBot, meta-externalagent, Bytespider, MistralAI-Training | opt out of training, with no documented effect on search |
| robots.txt token only | Not a crawler: a rule that governs how another crawler's data is used | Google-Extended, Applebot-Extended | opt out of that company's AI training and grounding while staying in its search |
Two big operators don't fit neatly. Google runs its AI Overviews and AI Mode on the regular Search index, so Googlebot is effectively its AI search crawler, and blocking it removes you from Google entirely. Google-Extended is the only lever for Gemini training. Microsoft grounds Copilot in Bing's index and has no separate Copilot token, so Bingbot does both jobs.
Why the user agent isn't enough
A user agent is a line of text any script can send. In our Observatory data, 416 requests across 10 of 12 sites claimed to be "Google-Extended", which Google says never appears as a user agent. If you're making decisions from your logs (or blocking at a firewall), verify by IP:
- Published IP lists: OpenAI (one per agent, e.g. gptbot.json), Anthropic (bots.json), Perplexity (perplexitybot.json), DuckDuckGo, Mistral, Amazon and Common Crawl.
- Reverse DNS: Google (hosts ending in googlebot.com), Apple (applebot.apple.com), Bing (search.msn.com) and Common Crawl (crawl.commoncrawl.org). Look up the hostname for the IP, then confirm that hostname resolves back to the same IP.
- Nothing published: Meta documents its user agents but no IP method. ByteDance documents nothing for Bytespider.
Seen in our data but not listed
A few agents fetched pages on five or more of our sites but don't have operator documentation we could verify, so they're in the Observatory but not in the table: YouBot (You.com), DeepSeekBot and VelenPublicWebCrawler. We'll add them when we can source their documentation. We also left out agents that fetch only link previews (facebookexternalhit, Slackbot and the like), which aren't AI crawlers.
How we keep this current
We recheck every operator's documentation each quarter, alongside each Observatory edition, and move the "Updated" date at the top of the page when we do. Operators say version numbers in their user agents can change (OpenAI's docs list GPTBot/1.4 as of October 2026), so match on the product token, such as GPTBot or ClaudeBot, rather than the full string.
Questions people ask
What is the difference between GPTBot, OAI-SearchBot and ChatGPT-User?
GPTBot collects pages that may train OpenAI's models. OAI-SearchBot builds the index ChatGPT search cites. ChatGPT-User fetches a page live when a user asks about it. OpenAI says robots.txt may not apply to ChatGPT-User because a person started the request.
Is Google-Extended a crawler?
No. Google says Google-Extended has no separate user agent. It's a robots.txt token that controls whether content Googlebot already crawls may be used for Gemini training and grounding, and it doesn't affect Google Search.
Which AI crawler should I block to stop AI training but stay in AI search?
Block the training agents (GPTBot, ClaudeBot, CCBot, Google-Extended, Applebot-Extended, meta-externalagent, Bytespider) and leave the search agents (OAI-SearchBot, Claude-SearchBot, PerplexityBot, DuckAssistBot, Googlebot, Bingbot) allowed.
How do I know a request is really from OpenAI or Anthropic?
Check the source IP against the operator's published list (for example openai.com/gptbot.json or claude.com/crawling/bots.json), or use reverse DNS where the operator supports it, as Google, Apple, Bing and Common Crawl do. User agents alone can be faked.