Reference

AI crawler user agents: the complete list

AI crawlers come in three kinds: search crawlers that build the indexes AI assistants cite (OAI-SearchBot, Claude-SearchBot, PerplexityBot), user-triggered fetchers that open a page when someone asks (ChatGPT-User, Claude-User), and training crawlers (GPTBot, ClaudeBot, CCBot). You can block training and stay eligible for citations, as long as the search crawlers stay open.

By Daniel Borodin, GEOHATS founder · Last updated · Every row is checked against the vendor’s own documentation, linked in the table.

The table lists each crawler’s robots.txt token (the name you write after User-agent:), who runs it, what it’s for, what the vendor says about robots.txt, and whether it runs JavaScript. We only fill in JavaScript when the vendor documents it. Want to test your own site? The free AI crawler check requests your page as each bot, and the robots.txt AI rules builder writes the lines for you.

Jump to: OpenAI, Anthropic, Perplexity, Google, Microsoft, Apple, Meta, Common Crawl, Amazon, DuckDuckGo, Mistral AI.

The list

AI crawlers and fetchers with their robots.txt token, owner, purpose and documentation
robots.txt tokenPurposeWhat it does (per the vendor)Respects robots.txt?Runs JavaScript?Docs and IP ranges
OAI-SearchBot
OpenAI
Search / answersSurfaces websites in ChatGPT search results. OpenAI says opted-out sites won't be shown in ChatGPT search answers, though they can still appear as navigational links.Yes. OpenAI says changes can take about 24 hours to apply.Not documentedOfficial docs
Last checked
ChatGPT-User
OpenAI
User-triggeredVisits pages for certain user actions in ChatGPT and Custom GPTs. Not used for automatic crawling, and not used to decide what appears in ChatGPT search.May not apply, because the visits are started by a user.Not documentedOfficial docs
Last checked
GPTBot
OpenAI
TrainingCollects content to make OpenAI's generative AI foundation models more useful and safe. Disallowing it tells OpenAI not to use your content for that training.Yes.Not documentedOfficial docs
Last checked
OAI-AdsBot
OpenAI
OtherChecks the safety of web pages submitted as ads on ChatGPT.Not stated.Not documentedOfficial docs
Last checked
Claude-SearchBot
Anthropic
Search / answersIndexes content to improve Claude's search results. Anthropic says blocking it may reduce your visibility and accuracy in user search results.Yes. Anthropic also supports Crawl-delay.Not documentedOfficial docs
Last checked
Claude-User
Anthropic
User-triggeredFetches pages when a Claude user asks a question. Anthropic says blocking it may reduce your visibility for user-directed web search.Yes. Anthropic says its bots honor robots.txt.Not documentedOfficial docs
Last checked
ClaudeBot
Anthropic
TrainingCollects web content that may be used to train Anthropic's models. Blocking it excludes your future content from training data.Yes. Anthropic also supports Crawl-delay.Not documentedOfficial docs
Last checked
PerplexityBot
Perplexity
Search / answersSurfaces and links websites in Perplexity search results. Perplexity says it is not used to crawl content for AI foundation models.Yes. Perplexity asks sites to allow it in robots.txt to appear in results.Not documentedOfficial docs
Last checked
Perplexity-User
Perplexity
User-triggeredVisits a page when a user asks Perplexity a question, to answer it and include a link.Generally ignores robots.txt, because a user started the fetch.Not documentedOfficial docs
Last checked
Googlebot
Google
Search / answersCrawls for Google Search, which includes AI Overviews and AI Mode. Google says robots.txt rules for Googlebot are the control for how your site is crawled for Search.Yes.Yes. Google renders pages in headless Chromium.Official docs
Last checked
Google-Extended
Google
Training control (no crawler)Not a separate crawler. Controls whether content Google crawls is used to train future Gemini models and for grounding in Gemini Apps and Vertex AI. It does not affect inclusion or ranking in Google Search.Token only. Google crawls with its existing user agents.Not applicable.Official docs
No IP list published
Last checked
Bingbot
Microsoft
Search / answersCrawls for Bing. Bing Webmaster Tools reports citations in Microsoft Copilot and Bing's AI summaries, and Microsoft says its AI grounding builds on the same crawlers.Yes.Not documentedOfficial docs
Last checked
Applebot
Apple
Search / answersPowers search features in Spotlight, Siri and Safari. If robots.txt has no Applebot rules but has Googlebot rules, Applebot follows the Googlebot rules.Yes.Yes. Apple says Applebot may render pages in a browser.Official docs
Last checked
Applebot-Extended
Apple
Training control (no crawler)Does not crawl. Disallowing it opts your content out of training Apple's foundation models (Apple Intelligence, Services, Developer Tools). Pages can still appear in Apple's search results.Token only.Not applicable.Official docs
No IP list published
Last checked
Meta-WebIndexer
Meta
Search / answersImproves Meta AI search results. Meta says allowing it in robots.txt helps Meta AI cite and link to your content.Not stated directly; Meta refers to allowing it in robots.txt.Not documentedOfficial docs
No IP list published
Last checked
Meta-ExternalAgent
Meta
TrainingCrawls for uses such as training foundation AI models or improving products by indexing content directly.Meta gives robots.txt examples for it.Not documentedOfficial docs
No IP list published
Last checked
Meta-ExternalFetcher
Meta
User-triggeredFetches individual links at a user's request.May bypass robots.txt, because a user requested the fetch.Not documentedOfficial docs
No IP list published
Last checked
CCBot
Common Crawl
TrainingBuilds Common Crawl's public web archive, a dataset that anyone, including AI developers, can download.Yes. Crawl-delay is supported.No. Common Crawl says JavaScript is not executed.Official docs
Last checked
Amazonbot
Amazon
TrainingImproves Amazon products and services. Amazon says the data may be used to train Amazon AI models.Yes (user-agent, allow and disallow). Crawl-delay is not supported.Not documentedOfficial docs
Last checked
Amzn-SearchBot
Amazon
Search / answersImproves search in Amazon products, such as Alexa. Not used for generative AI model training.Yes. If robots.txt doesn't name it but allows other search bots, it follows those rules.Not documentedOfficial docs
Last checked
Amzn-User
Amazon
User-triggeredFetches live information for user actions, such as Alexa questions that need up-to-date answers. Not used for generative AI model training.May not follow all directives, because a user started the action.Not documentedOfficial docs
Last checked
DuckAssistBot
DuckDuckGo
Search / answersCrawls pages in real time for DuckDuckGo's AI-assisted answers, which cite their sources. Not used to train AI models. Opting out does not affect organic rankings.Yes. Changes take effect after 72 hours.Not documentedOfficial docs
Last checked
MistralAI-Index
Mistral AI
Search / answersCrawls automatically to index content for Mistral search. Not used for generative AI training.Not stated.Not documentedOfficial docs
Last checked
MistralAI-User
Mistral AI
User-triggeredVisits a page when a user asks Mistral's assistant a question, and may link to it. Not used for automatic crawling or training.Mistral says this token governs which sites these user requests can reach.Not documentedOfficial docs
Last checked
MistralAI-Training
Mistral AI
TrainingCrawls web content to build datasets for training Mistral's generative AI models.Yes. Mistral says you can disallow it in robots.txt.Not documentedOfficial docs
No IP list published
Last checked

Swipe the table sideways to see every column.

Crawlers without public documentation

Two names show up in server logs and AI bot lists without a vendor documentation page we could open on October 23, 2026, so we list no behavior for them:

  • Bytespider (ByteDance). If you want it gone, add a robots.txt rule for Bytespider and, because robots.txt is voluntary, a firewall rule as well.
  • xAI (Grok). We found no crawler page from xAI naming a robots.txt token, so we don’t list one.

We’ll add them once the vendors publish documentation.

How to allow AI search but block AI training

Most vendors now split their bots by job, so you can make two separate decisions. Blocking a training crawler keeps your content out of future models. Blocking a search crawler or user fetcher keeps you out of that assistant’s answers. OpenAI, for example, says sites that opt out of OAI-SearchBot won’t be shown in ChatGPT search answers, while GPTBot only covers training. This robots.txt allows the answer side and opts out of training:

# AI search and answer crawlers: allowed, so assistants can cite you
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: DuckAssistBot
Allow: /

# AI training crawlers and controls: opted out
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
User-agent: Meta-ExternalAgent
User-agent: MistralAI-Training
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /

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

Sitemap: https://www.example.com/sitemap.xml

Three things to know before you copy it:

  • Several User-agentlines in a row share the rules below them. That’s part of the robots.txt standard (RFC 9309). A bot follows the most specific group that names it, and only falls back to User-agent: * if none does.
  • Google-Extendedalso covers grounding in Gemini Apps and Vertex AI, not just training. It doesn’t touch Google Search or AI Overviews: Google says robots.txt rules for Googlebot are the control there, and that you limit what AI Overviews show with nosnippet, data-nosnippet, max-snippet or noindex (Google’s AI features guide).
  • Meta-ExternalAgent and Amazonbot are mixed: Meta describes Meta-ExternalAgent as covering both model training and product indexing, and Amazon says Amazonbot data may be used for training. Blocking either can cost you more than training. Use the robots.txt AI rules builder to pick bot by bot.

User-triggered fetchers are a special case. OpenAI says robots.txt rules may not apply to ChatGPT-User, Perplexity says Perplexity-User generally ignores them, and Meta and Amazon say the same of their user fetchers, because a person asked for the page. Anthropic says its bots, Claude-User included, honor robots.txt.

Why a firewall can block a bot that robots.txt allows

robots.txt is a request, not a lock. The standard itself says these rules “are not a form of access authorization”. The opposite also happens: your robots.txt says “welcome” and your CDN or firewall answers the bot with a 403 or a challenge page, and the assistant never sees your text.

Cloudflare is the common case. On July 1, 2025 it announced it was changing the default to block AI crawlers and that every new domain would be asked whether to allow them. Its current documentation sorts AI bots into Search, Agent and Training, and says that from September 15, 2026 new domains block Training and Agent bots on pages that display ads while Search stays allowed. Agent covers real-time fetchers such as chat assistants, so a user-triggered visit can be refused even when your robots.txt allows it. You change this under Security Settings in the Cloudflare dashboard.

Other CDNs, WAFs and hosting “bot protection” features can do the same. The only reliable test is to request your page as each bot and look at the response, which is what the free AI crawler check does.

One more reason a bot can “see” your page and still miss your content: JavaScript. In the documentation we checked, Google, Apple and Common Crawl are the vendors that say whether their crawler runs it. An independent Vercel analysis (December 2024) found that OpenAI’s, Anthropic’s and Perplexity’s crawlers did not render JavaScript, so text that only appears after scripts run may be invisible to them. Server-rendered HTML is the safe choice.

How to check a request really comes from the bot

Anyone can put GPTBot in a user agent. Before you allowlist a bot in your firewall, or trust a log line, check the IP address the way its vendor describes:

How each vendor lets you verify its crawler
VendorHow to verifySource
GoogleReverse DNS lookup on the IP, check the name ends in googlebot.com, google.com or googleusercontent.com, then a forward lookup back to the same IP. Or match the IP against Google's JSON range files.Docs
Microsoft (Bingbot)Enter the IP in Bing's public Verify Bingbot tool, or match it against bingbot.json.Docs
AppleReverse DNS lookup: genuine Applebot traffic resolves to the applebot.apple.com domain. Apple also publishes applebot.json.Docs
Common CrawlReverse DNS resolves to crawl.commoncrawl.org, and the ranges are in ccbot.json.Docs
OpenAI, Anthropic, Perplexity, DuckDuckGo, Mistral, AmazonMatch the request's IP against the vendor's published list (linked in the table's IP ranges column). A user agent alone proves nothing: anyone can send it.See table
MetaMeta's crawler page does not publish an IP list or a verification method, so a Meta user agent can't be confirmed from its documentation alone.Docs

The IP lists change. If you allowlist ranges in a firewall, fetch the JSON files on a schedule instead of copying them once.

Test your own site

Being readable only makes you eligible to be cited. To see which buyer questions you’re losing and who wins them instead, read how to get cited by ChatGPT, look up a term in the GEO glossary, or see how the GEOHATS site optimizer runs these checks across every page.

By Daniel Borodin, GEOHATS founder · Last updated . Spotted a change in a vendor’s docs? Email borodinplum@gmail.com and we’ll update the row.