AI crawlers: who they are and what to allow

By Michael Nefedov, noetio · Updated 21 October 2026

AI crawlers are bots from AI companies that read your site for one of three jobs: training a model, building a search index, or fetching a page because a user asked. Each job needs a different robots.txt rule.

Short answer

  • Our call, not the owners': for AI search visibility but no training, block GPTBot, ClaudeBot and CCBot. Allow the search and user bots.
  • User-triggered bots (ChatGPT-User, Perplexity-User, Amzn-User, Meta-ExternalFetcher) may ignore robots.txt. The owners say so.
  • Allowing a search bot lets you be shown. No owner page we read says it makes you rank higher.

The main AI crawlers

Each bot does one of three jobs: training, search or a user-triggered fetch. Every row comes from the owner's own page, read on 21 October 2026: OpenAI, Anthropic, Perplexity, Google, Common Crawl, Apple, Meta and Amazon. Google-Extended is a special case: Google says it covers training and grounding in Gemini Apps, so blocking it can cut your content from Gemini answers.

Owner and botPurposerobots.txt
OpenAI GPTBotTraining. Content that may be used to train foundation models (OpenAI)Disallow = do not use for training
OpenAI OAI-SearchBotSearch. Shows sites in ChatGPT search (OpenAI)Opt out and the site “will not be shown in ChatGPT search answers, though can still appear as navigational links”
OpenAI ChatGPT-UserUser-triggered. A page visit when a user asks ChatGPT (OpenAI)“May not apply”
Anthropic ClaudeBotTraining. Web content that could contribute to training (Anthropic)Disallow = exclude future material from training
Anthropic Claude-SearchBotSearch. Improves relevance of search results (Anthropic)Block = no indexing for search
Anthropic Claude-UserUser-triggered. Supports Claude users (Anthropic)Block = no retrieval for a user query
Perplexity PerplexityBotSearch. Surfaces and links sites in Perplexity results. “Not used to crawl content for AI foundation models” (Perplexity)Perplexity recommends allowing it
Perplexity Perplexity-UserUser-triggered. Visits a page to answer a user (Perplexity)“Generally ignores” robots.txt
Google Google-ExtendedA control token for training future Gemini models and for grounding in Gemini Apps and Vertex AI. Not a ranking signal (Google)Token only. No separate user-agent string
Google GooglebotSearch. Google lists it as a common crawler (Google). Google says AI Overviews and AI Mode have no additional requirements beyond Search (Google)“Always respect” it for automatic crawls
Common Crawl CCBotBuilds an open repository of crawl data anyone can use (Common Crawl)User-agent: CCBot + Disallow: / blocks it
Apple ApplebotSearch in Spotlight, Siri and Safari. Its data may also be used to train Apple foundation models (Apple)Apple says it respects standard robots.txt directives in general search crawls aimed at Applebot. “Enabling Applebot in robots.txt allows website content to appear in search results”
Apple Applebot-ExtendedSecondary user agent that controls whether Applebot data is used to train generative models. Apple: it “does not crawl webpages” (Apple)Disallow = opt out of training. Pages can still be in search results. To keep content out of Siri and Search answers, Apple says to use the nosnippet meta tag
Meta Meta-ExternalAgentCrawls the web for uses such as training foundation AI models or improving products by indexing content directly (Meta)Meta says to add a disallow for the crawler in robots.txt
Meta Meta-WebIndexerSearch. Navigates the web to improve Meta AI search result quality (Meta)Meta: allowing it “helps us cite and link to your content in Meta AI's responses”
Meta Meta-ExternalFetcherUser-triggered. Fetches individual links at a user's request (Meta)Meta: “this crawler may bypass robots.txt rules”
Amazon AmazonbotImproves Amazon products and services. “May be used to train Amazon AI models” (Amazon)Amazon says it respects the Robots Exclusion Protocol. Amazon also lists a noarchive robots meta tag as “do not use the page for model training”
Amazon Amzn-SearchBotSearch experiences such as Alexa. Does not crawl for generative AI training (Amazon)Allowing it makes your content eligible for those experiences
Amazon Amzn-UserUser-triggered. May fetch live information to answer Alexa queries. Does not crawl for training (Amazon)“May not follow all robots.txt directives”
Anthropic's table of its three bots. ClaudeBot: collecting web content that could contribute to training. Claude-User: user-initiated requests. Claude-SearchBot: improving search result quality. Each row says what happens when you disable it.
Anthropic lists three bots and what happens when you disable each. Source: Anthropic Privacy Center, page dated 7 April 2026, captured 21 October 2026. Open full size.

Not covered: ByteDance's Bytespider (we found no ByteDance page that documents it) and any owner not named above. Google also lists Google-CloudVertexBot; it affects crawls that site owners request for building Vertex AI Agents and, Google says, has no effect on Google Search. Detail pages, which cover one owner each and do not repeat this table: GPTBot, OAI-SearchBot and ChatGPT-User and ClaudeBot, Claude-User and Claude-SearchBot.

User-triggered bots may ignore robots.txt

When a person asks an AI product to open a page, the owner may treat the fetch as the person's request, not a crawl. Four owners say this in their own words. OpenAI says robots.txt rules “may not apply” to ChatGPT-User. Perplexity says Perplexity-User “generally ignores” them. Meta says Meta-ExternalFetcher “may bypass” them. Amazon says Amzn-User “may not follow all robots.txt directives”. Anthropic's page does not say this about Claude-User: it says its bots honor robots.txt.

OpenAI's ChatGPT-User entry: because these actions are initiated by a user, robots.txt rules may not apply; not used to determine whether content may appear in Search; use OAI-SearchBot in robots.txt for Search opt outs.
OpenAI on ChatGPT-User. Source: OpenAI, Overview of OpenAI Crawlers, captured 21 October 2026. Open full size.
Perplexity's crawler table. PerplexityBot is designed to surface and link websites in search results and is not used to crawl content for AI foundation models. Perplexity-User: since a user requested the fetch, this fetcher generally ignores robots.txt rules.
Perplexity on PerplexityBot and Perplexity-User. Source: Perplexity Docs, Perplexity Crawlers, captured 21 October 2026. Open full size.
Meta's Meta-ExternalFetcher entry: fetches individual links at a user's request; accordingly, this crawler may bypass robots.txt rules.
Meta on Meta-ExternalFetcher. Source: Meta for Developers, Web Crawlers, captured 21 October 2026. Open full size.
Amazon's Amzn-User entry: supports user actions such as Alexa queries; because it can be initiated by a user, it may not follow all robots.txt directives; it does not crawl content for generative AI model training.
Amazon on Amzn-User. Source: Amazon Developer, About Amazonbot, captured 21 October 2026. Open full size.

Recommended robots.txt: AI search yes, training no

This file blocks the training and open-dataset bots and allows the search and user bots. It uses only names from the table. It leaves out Google-Extended on purpose (see the first note).

# Training and open datasets: no
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: CCBot
Disallow: /

# AI search and user-triggered fetches: yes
User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: Claude-User
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

# Everyone else, including Googlebot and Bingbot
User-agent: *
Allow: /

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

Read these four notes before you paste it.

Google's text on Google-Extended: a standalone product token to manage whether content Google crawls may be used for training future Gemini models and for grounding in Gemini Apps and Grounding with Google Search on Vertex AI.
Google on Google-Extended (note 1). Source: Google Search Central, Google's common crawlers, page updated 15 October 2026, captured 21 October 2026. Open full size.
  • Google-Extended is not in the file. Google says it controls use of your content for training future Gemini models and for grounding (content from the Google Search index given to the model at prompt time) in Gemini Apps and Grounding with Google Search on Vertex AI. It does not affect Google Search. If you want no Gemini training and are fine with losing Gemini grounding, add User-agent: Google-Extended and Disallow: /.
  • Private folders. A crawler uses the * group only when no group matches its own token (RFC 9309, section 2.2.1). If your * group has Disallow: /admin/, copy that line into each Allow group.
  • CCBot and the choice to block. Common Crawl says its data is open to everyone and does not say who trains on it. We block it because open data can be used for anything. If you want to be in training data, change the three Disallow lines to Allow.
  • Apple, Meta and Amazon are not in this file. To opt out of training for those three, add the tokens their pages name. Amazon says Amazonbot may be used to train its AI models, and lists Amzn-SearchBot as its search bot. Paste this:
User-agent: Applebot-Extended
Disallow: /

User-agent: Meta-ExternalAgent
Disallow: /

User-agent: Amazonbot
Disallow: /

Does this help you show up in AI answers? It leaves the search bots free to read your pages. Nothing in the docs we read says that allowing a bot makes you more likely to be cited. For what the data says, read SEO vs GEO and how to rank in AI Overviews.

How to check your logs for AI crawlers

Count the bots in your raw access logs, then check status codes and IPs. If you can get logs from your host or CDN, run this:

awk 'BEGIN{n=split("gptbot oai-searchbot chatgpt-user claudebot claude-searchbot claude-user perplexitybot perplexity-user ccbot",b," ")} {l=tolower($0); for(i=1;i<=n;i++) if(index(l,b[i])) c[b[i]]++} END{for(k in c) print c[k], k}' access.log | sort -rn

This counts each request once per bot, whatever the case. A plain grep -o would count GPTBot and PerplexityBot twice per request, because their user-agent strings contain the name twice (for example GPTBot/1.4; +https://openai.com/gptbot).

To see which pages one bot asked for (the 7th field is the path in the common log format):

grep -i 'OAI-SearchBot' access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20
  1. 1Count requests per bot. A search bot with no requests has not visited, or your logs do not show it. Check the status codes next.
  2. 2Check the status codes. A 403 or 429 can come from a firewall or rate limit, which robots.txt does not control.
  3. 3Compare IPs to the owner's published list. Do not trust the name alone.
  4. 4Look at which URLs they fetch.
  5. 5Check /robots.txt itself returns 200 and plain text.

What we ran: on 21 October 2026, curl requests to getcompassseo.com with the GPTBot, OAI-SearchBot and ChatGPT-User strings from OpenAI's page, and a ClaudeBot-style string (ClaudeBot/1.0; +claudebot@anthropic.com), all returned HTTP 200. Our robots.txt is User-agent: * with Allow: /.

What to do next

Decide on training first, then on search. Check your logs after you change robots.txt. OpenAI and Amazon each say a change can take about 24 hours to show, and Meta says up to 24 hours. To measure whether AI answers mention you, see the LLM SEO tools. For the llms.txt question, read whether llms.txt is worth your time.

Sources

All read on 21 October 2026.

  1. Overview of OpenAI Crawlers, OpenAI, https://developers.openai.com/api/docs/bots
  2. Does Anthropic crawl data from the web, and how can site owners block the crawler?, Anthropic Privacy Center, page dated 7 April 2026
  3. Perplexity Crawlers, Perplexity Documentation, https://docs.perplexity.ai/guides/bots
  4. Google's common crawlers, Google Search Central, last updated 15 October 2026
  5. Overview of Google crawlers and fetchers, Google Search Central, last updated 12 June 2026
  6. AI features and your website, Google Search Central, last updated 10 December 2025
  7. CCBot, Common Crawl, https://commoncrawl.org/ccbot
  8. About Applebot, Apple Support, https://support.apple.com/en-us/119829
  9. Web Crawlers, Meta for Developers, https://developers.facebook.com/docs/sharing/webmasters/web-crawlers. The English text is quoted; the page shows in German for some locations.
  10. About Amazonbot, Amazon Developer, https://developer.amazon.com/amazonbot
  11. RFC 9309, Robots Exclusion Protocol, IETF, September 2022

Questions

A training crawler collects content for model training (GPTBot, ClaudeBot). A search crawler indexes pages so an AI search product can show them (OAI-SearchBot, Claude-SearchBot, PerplexityBot). You can allow one and block the other.

No. User-triggered fetchers are the main exception, as the table shows. Also, robots.txt is a request, not a lock. A bot that ignores it will not be stopped by it. To block it, use your firewall.

No. Google says Google-Extended does not affect inclusion in Google Search and is not a ranking signal. For AI Overviews, Google's AI features page says the normal Search rules apply, so use Googlebot controls such as nosnippet.

Compare the request IP with the owner's published list. OpenAI, Perplexity, Anthropic, Amazon and Common Crawl publish IP lists. Anyone can copy a user-agent name.

It may. Apple says Applebot data may help train its foundation models. The table shows the two opt-outs: Applebot-Extended for training, and the nosnippet meta tag for Siri and Search answers.

We found no evidence that you do. See our llms.txt guide for the sources.

More guides

Turn your next topic into a useful page

Compass reads your website, helps you plan relevant topics and creates sourced article drafts. Review and approve the work, then send it to a connected CMS or export it.

Written by Michael Nefedov, founder of noetio. Updated 21 October 2026.