Definition
AI crawlers are programs that AI companies use to fetch web pages for their search, to answer user questions or to train language models. If you want to appear in AI answers, allow the search crawlers and user-initiated fetches in robots.txt. With most providers, you can block training separately.
Key takeaways
- If you block OAI-SearchBot, Claude-SearchBot or PerplexityBot, you risk being left out as a source in those AI assistants’ answers.
- You block training through separate user agents such as GPTBot. According to OpenAI, Google and Apple, search isn’t affected.
- A shared token against AI training went into draft on October 30, 2026. Anthropic is phasing it in; Microsoft starts February 1, 2027.
- Not every provider’s user-initiated fetches follow robots.txt, and a firewall can turn crawlers away even when robots.txt allows them.
- A robots.txt file doesn’t lock anyone out. User agents can be faked, so identify real crawlers by their operators’ IP lists.
Which AI crawlers are there, and who runs them?
Major AI providers usually separate their crawlers by purpose: search, user-initiated fetches and training. A user-initiated fetch is made on someone’s behalf, for example when they ask an AI assistant a question. There are also control tokens with no crawler of their own, such as Google-Extended. The table lists each user agent, its purpose and what a block does.
Enter the user agent after User-agent: in robots.txt; capitalization doesn’t matter. The “Source” column gives the number in the list of sources at the end of this article. Our guide to generative engine optimization (GEO) explains how these crawlers relate to AI answers.
| User agent | Operator | Purpose | If you block it | Source | As of |
|---|---|---|---|---|---|
| Googlebot | Search: Google Search, including AI Overviews and AI Mode | At best, the page appears without a description; it isn’t eligible for AI features in Search | 3, 14, 15 | Nov 8, 2026 | |
| Bingbot | Microsoft | Search: Bing and Microsoft Copilot | Bing can’t read your content, not even for Copilot; Bing advises against blocking it | 5, 13 | Nov 8, 2026 |
| Applebot | Apple | Search: Spotlight, Siri and Safari; data also used for AI answers and training | Content may not appear in Apple’s search; with no rule of its own, Applebot follows the rules for Googlebot | 7 | Nov 8, 2026 |
| OAI-SearchBot | OpenAI | Search: ChatGPT search | Pages aren’t shown in search answers but can still appear as navigational links | 1 | Nov 8, 2026 |
| Claude-SearchBot | Anthropic | Search: web search in Claude | May reduce your site’s visibility and accuracy in search results | 2 | Nov 8, 2026 |
| PerplexityBot | Perplexity | Search: Perplexity; not used for training | Perplexity recommends allowing it so your pages appear in its results | 6 | Nov 8, 2026 |
| Meta-WebIndexer | Meta | Search: Meta AI | According to Meta, access helps Meta AI cite and link to your content | 8 | Nov 8, 2026 |
| Amzn-SearchBot | Amazon | Search: Alexa and other Amazon services; not used for training | Content isn’t eligible for this search; with no rule of its own, it follows the rules for other search crawlers | 9 | Nov 8, 2026 |
| MistralAI-Index | Mistral AI | Search: index for answers in Vibe; not used for training | Content stays out of Mistral AI’s search index | 10 | Nov 8, 2026 |
| DuckDuckBot | DuckDuckGo | Search: DuckDuckGo’s crawler for its search results | DuckDuckBot stops fetching your pages; DuckDuckGo doesn’t state the effect on search results | 33 | Nov 9, 2026 |
| DuckAssistBot | DuckDuckGo | Search: AI answers in DuckDuckGo; not used for training | Pages are no longer a source for AI answers; regular search results aren’t affected | 11 | Nov 8, 2026 |
| ChatGPT-User | OpenAI | User-initiated fetch: ChatGPT and Custom GPTs | robots.txt may not apply here; search is governed by OAI-SearchBot | 1 | Nov 8, 2026 |
| Claude-User | Anthropic | User-initiated fetch: Claude | Claude won’t fetch your pages for user questions; may cost you visibility | 2 | Nov 8, 2026 |
| Perplexity-User | Perplexity | User-initiated fetch: Perplexity; not used for training | Generally ignores robots.txt | 6 | Nov 8, 2026 |
| Google-Agent | User-initiated fetch: agents running on Google’s infrastructure | Google’s user-triggered fetchers generally ignore robots.txt | 4 | Nov 8, 2026 | |
| Meta-ExternalFetcher | Meta | User-initiated fetch: individual links on request, Meta’s AI agents | According to Meta, it may bypass robots.txt | 8 | Nov 8, 2026 |
| Amzn-User | Amazon | User-initiated fetch: Alexa; not used for training | According to Amazon, it may not follow all robots.txt rules | 9 | Nov 8, 2026 |
| MistralAI-User | Mistral AI | User-initiated fetch: Vibe; not used for training | Vibe won’t fetch your pages for user questions | 10 | Nov 8, 2026 |
| GPTBot | OpenAI | Training: OpenAI’s models | Content isn’t used for training; ChatGPT search isn’t affected | 1 | Nov 8, 2026 |
| ClaudeBot | Anthropic | Training: Anthropic’s models | Future content is excluded from training | 2 | Nov 8, 2026 |
| CCBot | Common Crawl | Open web archive, the basis of much training data | Pages no longer go into the archive | 12, 19 | Nov 8, 2026 |
| Meta-ExternalAgent | Meta | Training and direct indexing for Meta’s products | Meta no longer fetches content for these purposes | 8 | Nov 8, 2026 |
| Amazonbot | Amazon | Amazon’s products, including training | Amazonbot stops fetching; according to Amazon, its other two crawlers aren’t used for training | 9 | Nov 8, 2026 |
| MistralAI-Training | Mistral AI | Training: Mistral AI’s models | Content isn’t used for training; search and user-initiated fetches aren’t affected | 10 | Nov 8, 2026 |
| Google-Extended | Control token, no crawler of its own: training Gemini and sources for the Gemini app | Not used for training or as a source in the Gemini app; Google Search isn’t affected | 3 | Nov 8, 2026 | |
| Applebot-Extended | Apple | Control token, no crawler of its own: training Apple’s models | Not used for training; Apple’s search isn’t affected | 7 | Nov 8, 2026 |
| __usage_ai-training | Several providers | Shared control token against AI training; Internet-Draft submitted to the IETF | No training by providers that honor it: Anthropic, rolling out since Oct 30, 2026; Microsoft from Feb 1, 2027; Google and OpenAI have announced support | 2, 3, 16, 17, 18 | Nov 8, 2026 |
The details come from each operator’s documentation:
- OpenAI (external site) and Anthropic (external site)
- Google on its common crawlers (external site) and its user-triggered fetchers (external site)
- Microsoft Bing (external site), Perplexity (external site) and Apple (external site)
- Meta (external site), Amazon (external site) and Mistral AI (external site)
- DuckDuckGo (external site) and Common Crawl (external site)
The list only includes crawlers whose operators publicly describe their user agent and purpose. Crawlers for ads and link previews, such as OAI-AdsBot, are left out. Each row shows the date we last checked it against the documentation. Changes are recorded in the change log at the end of this article.
The list is also available as a CSV file with the same user agents as the table. Only __usage_ai-training is left out, because this control token doesn’t belong to any single operator or crawler.
Why do AI crawlers fetch your pages?
AI crawlers fetch pages for search, on a user’s behalf or for training. Search crawlers build the index from which an AI assistant picks its sources. User-initiated fetches retrieve a page the moment someone asks an AI assistant a question. Training crawlers collect content that may end up in future language models.
Whether your content goes into training depends on the user agent you block in robots.txt. The crawler names in your server logs tell you little about that, for two reasons:
- Control tokens don’t fetch anything. Google-Extended and Applebot-Extended have no crawler of their own. They only determine how Google and Apple may use the content that Googlebot and Applebot fetch anyway.
- One fetch can serve several purposes. If a site allows both OAI-SearchBot and GPTBot, OpenAI may use the results of a single crawl for search and training. Data collected by Applebot can go into Apple’s training unless Applebot-Extended is blocked.
With CCBot, Common Crawl runs an open web archive that many providers reuse. Of 47 language models from 2019 to 2023 that the Mozilla Foundation reviewed, at least 30 used filtered versions of it for training.
Source: Mozilla Foundation (external site), · 47 language models, published 2019 to October 2023
What happens if you block an AI crawler?
If you block a search crawler, your website may not appear in that provider’s answers. ChatGPT search won’t show pages that block OAI-SearchBot in its answers, though they can still appear as navigational links. According to OpenAI, Google, Apple and Microsoft, blocking training doesn’t affect their search. Not every provider’s user-initiated fetches follow robots.txt.
- Search crawlers. A page that Googlebot isn’t allowed to read appears in Google Search without a description at best. It isn’t eligible for AI Overviews or AI Mode, because both require a page that may be shown with a snippet. Bing explicitly advises against blocking Bingbot. Bing and Copilot rely on the same crawling.
- User-initiated fetches. Anthropic and Mistral AI apply robots.txt to Claude-User and MistralAI-User. At OpenAI, Perplexity, Google, Meta and Amazon, the file doesn’t reliably apply to user-initiated fetches, because a person triggers them. So you can’t rely on a block to stop them. Where it does work, it can cost you visibility, according to Anthropic.
- Training. According to OpenAI and Apple, blocking GPTBot or Applebot-Extended doesn’t change whether your pages appear in their search. Google-Extended is the exception: if you block it, your content is also left out of the sources the Gemini app relies on for its answers. Google Search isn’t affected.
- What a block doesn’t undo. According to Anthropic, blocking ClaudeBot applies to future content. With any provider, expect that content collected earlier may remain in training data.
Search engines have separate controls for their AI answers. Since August 31, 2026, the Search generative AI control in Google Search Console has let you exclude your website from AI Overviews and AI Mode. Your site stays in the rest of Google Search. Our how-to Opting out of AI Overviews covers when that is worth it and what it costs. From February 1, 2027, Microsoft will honor separate preferences for training and for grounding, its term for using content in AI answers. After March 1, 2027, Microsoft will no longer read NOARCHIVE and NOCACHE as such preferences. Our article What is AI grounding? explains how to set the new preference. Our article on AI Overviews and AI Mode explains how Google picks the sources for its AI answers.
What should you allow in robots.txt?
If you want to appear in Google, Bing and AI answers, allow all search crawlers and user-initiated fetches. A robots.txt file that blocks nothing is enough for that. Whether your content may be used for training is a separate decision. The answer depends on the role your content plays in your business.
Training is a trade-off. If you earn money from the content itself, such as courses, expert articles or data, there’s a strong case for blocking training. In our assessment, if your content promotes a service you deliver on site or in projects, you have little to lose from training.
Few studies look at what a block actually does. For 24 large English-language news sites, weekly visits fell by about 7% in the six weeks after a block, compared with sites without one. They had blocked user agents such as GPTBot, CCBot and Google-Extended. The authors consider it plausible that AI answers mentioned these sites less often afterward. After about 20 weeks, the effect was no longer statistically significant.
Source: Zhao, Berman (preprint) (external site), · 30 news sites, most blocks in 2023
So far, few websites in Germany, Austria and Switzerland block training. In a sample of 24,550 hosts ending in .de, .at and .ch, only 2.27% blocked the training crawler GPTBot in August 2026. Among 28 large news and publishing sites, the figure was 61%, and among 16 large online stores, 6%. Of the 17 publishers that blocked GPTBot, only four also blocked OAI-SearchBot. The analysis doesn’t capture blocks in firewalls or CDNs.
Source: Ahrefs (in German) (external site), · vendor study · Common Crawl, Aug 2026; small groups of publishers and stores
Example: allow search, block training. This file blocks the training crawlers and control tokens from the table and lets all other bots in. Delete any groups you don’t want, and use your own domain.
# Block training; search and user-initiated fetches stay allowed
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: MistralAI-Training
Disallow: /
# shared control token from several providers, draft since Oct 30, 2026
User-agent: __usage_ai-training
Disallow: /
# also removes your content from the Gemini app's sources
User-agent: Google-Extended
Disallow: /
User-agent: *
Allow: /
Sitemap: https://www.example.com/sitemap.xmlMeta-ExternalAgent and Amazonbot aren’t in the example, because Meta and Amazon also use them for purposes other than training. Add them if you want to rule out those purposes too.
Common mistakes:
- A crawler’s own group replaces the general rules. A crawler with a group of its own no longer follows the rules under
User-agent: *. If the*group containsDisallow: /internal/, add that line to every named group as well. - The block from the build phase stays in place.
User-agent: *withDisallow: /blocks all crawlers, including Googlebot and Bingbot. - Your robots.txt returns a server error. With a 5xx error, RFC 9309 says crawlers must assume that everything is disallowed. If the file is missing with a 404 status, they may fetch everything.
- Applebot inherits the rules for Googlebot. If your file doesn’t name Applebot, Apple follows the rules for Googlebot. A block on Googlebot then also hits Apple’s search.
Does robots.txt keep crawlers out?
No. A robots.txt file is a request to crawlers that reputable providers follow, but nobody enforces it. The RFC 9309 standard states that its rules aren’t a form of access authorization. Anything nobody should fetch belongs behind a password or a login.
- Anyone can read the file. A line such as
Disallow: /internal/makes the path public. The RFC 9309 standard (external site) itself points this out in its security considerations. - User agents can be faked. A request can claim to be GPTBot without coming from OpenAI. You can tell real crawlers by their IP address.
- Only a firewall or CDN can technically block crawlers. A CDN is the network that delivers your pages to visitors. Anthropic points out that blocking IP addresses isn’t a reliable way to opt out of its crawling. The crawler can then no longer read your robots.txt.
- The file doesn’t keep pages out of Google Search. A blocked URL can still appear in the results without a description. A
noindexrule helps here, but Google only sees it if it’s allowed to fetch the page. Our article on websites not showing on Google goes into more detail.
How can you verify that an AI crawler is genuine?
You can tell genuine crawlers by their IP address. Anyone can fake the user agent string, as Google and Bing point out themselves. Most operators publish lists of their IP ranges. Google, Bing, Apple and Common Crawl also let you check requests with a reverse DNS lookup.
For a reverse DNS lookup, you look up the host name for the IP address in your server log. Then you check that this name points back to the same IP address. For Google, the name must end in googlebot.com, google.com or googleusercontent.com.
host 66.249.66.1
host crawl-66-249-66-1.googlebot.comOn Windows, nslookup does the same. How to count and verify fetches as part of your analysis is covered in our how-to on tracking AI traffic.
| Operator | IP lists | Reverse DNS ends in |
|---|---|---|
| developers.google.com/static/crawling/ipranges/common-crawlers.json; for user-triggered fetchers, user-triggered-fetchers.json, user-triggered-fetchers-google.json and user-triggered-agents.json in the same directory | googlebot.com, google.com, googleusercontent.com | |
| Microsoft Bing | www.bing.com/toolbox/bingbot.json | search.msn.com |
| OpenAI | openai.com/searchbot.json, openai.com/chatgpt-user.json, openai.com/gptbot.json | not specified |
| Anthropic | claude.com/crawling/bots.json | not specified |
| Perplexity | www.perplexity.ai/perplexitybot.json, www.perplexity.ai/perplexity-user.json | not specified |
| Apple | search.developer.apple.com/applebot.json | applebot.apple.com |
| Amazon | developer.amazon.com/amazonbot/ip-addresses/, …/searchbot-ip-addresses/, …/live-ip-addresses/ | not specified |
| Mistral AI | mistral.ai/mistralai-index-ips.json, mistral.ai/mistralai-user-ips.json; no list for MistralAI-Training | not specified |
| DuckDuckGo | duckduckgo.com/duckduckbot.json, duckduckgo.com/duckassistbot.json | not specified |
| Common Crawl | index.commoncrawl.org/ccbot.json | crawl.commoncrawl.org |
| Meta | no list in its crawler documentation | not specified |
A newer method is Web Bot Auth: the provider signs its requests, and your server or CDN checks the signature. Google is testing it for Google-Agent. Web Bot Auth is still a draft at the IETF, and Google advises you to keep verifying by IP address.
What happens when your CDN or firewall blocks AI crawlers?
If your CDN or firewall blocks an AI crawler, it stays out even though robots.txt allows it. The crawler gets an error or a challenge page instead of your content, and nothing in robots.txt shows it. Besides robots.txt, Google explicitly names your CDN and hosting as places where crawling should be allowed.
A CDN is the delivery network between your server and your visitors. Check these places:
- Cloudflare’s default. Since July 1, 2026, Cloudflare has let you manage AI crawlers in three groups: search, training and agents acting on a person’s behalf. Cloudflare’s agent group includes user-initiated fetches such as ChatGPT-User. For new domains, Cloudflare’s documentation lists “Allow” as the default for all three groups (as of November 2026). Since September 15, 2026, Cloudflare has suggested stricter settings during setup if you say your pages earn money from ads. In that case, search stays allowed, training is disallowed and agents are blocked on pages with ads. On July 1, 2025, Cloudflare started asking anyone adding a new domain whether to allow AI crawlers.
- Cloudflare’s settings. The settings are in the dashboard under Security > Settings, in the “AI Crawler and Agent access policies” section, and are available on all plans. Set the Search and Agent controls to “Allow” if you want to appear in AI answers. “Disallow” is available for Training only. If you choose “Disallow” with Bot Preference Sync turned on, Cloudflare publishes a no-training preference in robots.txt and blocks training-only crawlers. Googlebot, Bingbot and Applebot can keep fetching your pages for search. Since September 15, 2026, “Block” and “Block on pages with ads” under Training also apply to those three crawlers, so both settings affect search as well.
- Existing domains on Cloudflare. On September 15, 2026, Cloudflare announced that it would carry existing settings over to the new controls. Earlier training blocks become “Disallow.” If only the older “Block AI Bots” switch was on, Cloudflare says the result is search allowed, training disallowed and agents blocked on pages with ads. So check what your account shows under Search, Agent and Training.
- A modified robots.txt. Cloudflare puts its own rules in front of your robots.txt if Bot Preference Sync is turned on and you block at least one group or disallow training. If all three groups are set to “Allow,” Cloudflare serves your robots.txt unchanged. Cloudflare says Bot Preference Sync is turned on from the start for new domains. So check the file a browser actually receives from your domain.
- Firewall allowlists. OpenAI recommends allowing requests from its published IP ranges. Perplexity describes such allowlists for the Cloudflare and AWS firewalls.
Does Cloudflare block AI crawlers? It depends on your settings. For new domains, Cloudflare’s documentation lists “Allow” as the default for search, agents and training. Since September 15, 2026, Cloudflare has suggested stricter settings if you say during setup that your pages earn money from ads: training disallowed and agents blocked on pages with ads. Cloudflare says you can change these settings during setup or at any time afterward.
A comparison shows whether your CDN filters by user agent. Request your home page once normally and once with a crawler’s user agent. Then compare the first line of both responses. Our how-to on JavaScript and AI crawlers shows whether a request fails at the firewall, in robots.txt or because of JavaScript.
curl -sI https://www.example.com/
curl -sI -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" https://www.example.com/If the second response shows a different status code, such as 403 instead of 200, your CDN turns away requests with that user agent. The test won’t reveal blocks by IP address, because it comes from your own network. Only your CDN or server logs show whether real crawlers get through. Our how-to on getting recommended by ChatGPT covers the other steps that help AI assistants find your website.
What does a rights reservation mean for AI training?
With a rights reservation, you declare that your content shouldn’t be used for text and data mining or for training AI models. Signatories of the EU’s General-Purpose AI Code of Practice commit to following robots.txt when they collect training data. Since October 30, 2026, there’s also a shared control token for this, introduced by several providers.
- What providers commit to. In the General-Purpose AI Code of Practice (external site), signatories commit to using crawlers that read and follow robots.txt as specified in RFC 9309. This applies when they collect data for text and data mining and for training their models. According to the European Commission, the signatories include Amazon, Anthropic, Google, Microsoft, Mistral AI and OpenAI.
- What’s new. On October 30, 2026, OpenAI, Microsoft and Anthropic presented a shared control token against AI training, which Google also refers to. In robots.txt, it reads
User-agent: __usage_ai-trainingwithDisallow: /. Anthropic says it began honoring the token that day. Microsoft will honor it from February 1, 2027, and Google plans to support it in early 2027. OpenAI plans to follow in the coming months (external site). - What to keep in mind. The token is based on an Internet-Draft submitted to the IETF (external site); it isn’t a standard yet. A block under
User-agent: *doesn’t count for this token. The user agents of individual crawlers still apply.
Whether a reservation is effective in a particular case is a legal question. This section is a technical overview and is not legal advice. If in doubt, consult a lawyer.
From our work: what datafalke.de allows and how we check it
The robots.txt on datafalke.de allows all crawlers, including those for training. Here’s the file:
User-agent: *
Allow: /
Sitemap: https://datafalke.de/sitemap.xmlWhy we allow everything. Our content is marketing and expert content with no paywall. We assume AI assistants are more likely to mention Datafalke if our content appears in search and training data. For training, there’s no solid evidence for that assumption. So for websites that live off exclusive content, we don’t automatically recommend the same. We’ll reconsider as soon as we have exclusive content, such as raw study data or client areas, or a crawler demonstrably causes too much load.
How we check it. Our release check script fetches the home page with the user agents of 12 search and AI crawlers. It reports an error if a response doesn’t return status 200, sets a cookie or delivers different content than a normal request. A second test compares the delivered robots.txt character by character with the file above. On our staging environment, it does the opposite and requires the block for all crawlers. That way, we notice if the staging block ends up on the live website.
What this test doesn’t show. It uses the crawlers’ user agents, but the requests come from our own network. So it wouldn’t notice a block by IP address. Only the server logs show whether real crawlers get through. These requests will appear in our measurement log, split into training, search and user-initiated fetches, and only if a request’s network matches its operator. Until then, we don’t publish any numbers here.
Frequently asked questions
How quickly does a change to robots.txt take effect?
It depends on the provider. OpenAI and Amazon give about 24 hours, Perplexity and Meta up to 24 hours, and DuckDuckGo 72 hours. The RFC 9309 standard says crawlers shouldn’t use a cached copy of the file for more than 24 hours.
Does a block also apply to all pages and subdomains?
For all pages, yes: Disallow: / blocks every path on the host. A subdomain such as shop.example.com needs its own robots.txt, though. Anthropic and Amazon point this out explicitly in their documentation.
Does an llms.txt file control AI crawler access?
No. According to its proposal (external site), llms.txt serves a different purpose than robots.txt: it gives language models an overview of your content. robots.txt sets which crawlers may fetch what. Our article on llms.txt explains what the file does for you.