Which AI crawlers exist, and who runs them?
This directory lists 20 documented AI crawlers and tokens from 9 operators: OpenAI, Anthropic, Perplexity, Google, Apple, Meta, Amazon, Common Crawl and Microsoft. OpenAI runs 4, Anthropic and Amazon run 3 each, Perplexity, Google, Apple and Meta run 2 each, and Common Crawl and Microsoft run 1 each.
Each row takes its purpose and robots.txt behaviour from the operator’s own page, quoted where the operator hedges. Open a row’s details for the full user-agent string and the way to verify the bot.
| Token | Operator | Role | Purpose | Obeys robots.txt | User-agent string and verification |
|---|---|---|---|---|---|
GPTBot | OpenAI | Training | Crawls content "that may be used in training" OpenAI's generative AI foundation models | Yes | GPTBot string and verification
IP list: openai.com/gptbot.json |
OAI-SearchBot | OpenAI | Search | Surfaces websites in search results in ChatGPT's search features | Yes | OAI-SearchBot string and verification
IP list: openai.com/searchbot.json |
ChatGPT-User | OpenAI | User-triggered | Visits a page when a user asks ChatGPT or a Custom GPT a question; also used by GPT Actions | Not reliably: "robots.txt rules may not apply" | ChatGPT-User string and verification
IP list: openai.com/chatgpt-user.json |
OAI-AdsBot | OpenAI | Ads review | Visits only landing pages submitted as ads on ChatGPT; its data is not used to train foundation models | Not stated by OpenAI | OAI-AdsBot string and verification
IP list: openai.com/adsbot.json |
ClaudeBot | Anthropic | Training | Collects web content that "could potentially contribute" to training Anthropic's models | Yes; also honours Crawl-delay | ClaudeBot string and verificationNot published by Anthropic IP list: claude.com/crawling/bots.json |
Claude-SearchBot | Anthropic | Search | Navigates the web to improve search result quality for Claude users | Yes | Claude-SearchBot string and verificationNot published by Anthropic IP list: claude.com/crawling/bots.json |
Claude-User | Anthropic | User-triggered | Accesses websites when people ask Claude questions | Yes: disallowing it stops retrieval for user queries | Claude-User string and verificationNot published by Anthropic IP list: claude.com/crawling/bots.json |
PerplexityBot | Perplexity | Search | Surfaces and links websites in Perplexity search; not used to train foundation models | Yes | PerplexityBot string and verification
IP list: perplexity.com/perplexitybot.json |
Perplexity-User | Perplexity | User-triggered | Visits a page to answer a user's question; not a crawler and not used for training | Not reliably: "generally ignores robots.txt rules" | Perplexity-User string and verification
IP list: perplexity.com/perplexity-user.json |
Googlebot | Search | Google Search, including AI Overviews and AI Mode | Yes | Googlebot string and verificationDesktop: Google-published IP ranges; reverse DNS on googlebot.com | |
Google-Extended | Control token | Decides whether Google-crawled content trains future Gemini models and grounds Gemini Apps and Vertex AI; no effect on Google Search | Token only | Google-Extended string and verificationNone: Google crawls with its existing user agents Not applicable | |
Applebot | Apple | Search | Powers search in Spotlight, Siri and Safari; its data "may also be used" to train Apple foundation models | Yes; follows Googlebot rules when robots.txt does not name it | Applebot string and verificationSafari string ending in Reverse DNS on applebot.apple.com; Applebot IP CIDR file |
Applebot-Extended | Apple | Control token | Opts content out of training Apple's foundation models; pages stay in Apple search results | Token only: it does not crawl webpages | Applebot-Extended string and verificationNone Not applicable |
Meta-ExternalAgent | Meta | Training | "training foundation AI models or improving products by indexing content directly" | Yes | Meta-ExternalAgent string and verification
No IP list on Meta's crawler page |
Meta-ExternalFetcher | Meta | User-triggered | Fetches individual links at a user's request, including for agentic AI tasks | Not reliably: "may bypass robots.txt rules" | Meta-ExternalFetcher string and verification
No IP list on Meta's crawler page |
Amazonbot | Amazon | Training | Improves Amazon products and services; "may be used to train Amazon AI models" | Yes | Amazonbot string and verification
IP list: developer.amazon.com/amazonbot/ip-addresses/ |
Amzn-SearchBot | Amazon | Search | Search experiences in Amazon products such as Alexa; not used for generative AI training | Yes; follows other search bots' rules when not named | Amzn-SearchBot string and verification
IP list: developer.amazon.com/amazonbot/searchbot-ip-addresses/ |
Amzn-User | Amazon | User-triggered | Fetches live information for user actions such as Alexa questions; not used for training | Not reliably: "may not follow all robots.txt directives" | Amzn-User string and verification
IP list: developer.amazon.com/amazonbot/live-ip-addresses/ |
CCBot | Common Crawl | Training (open corpus) | Builds Common Crawl's open repository of web crawl data | Yes | CCBot string and verification
Reverse DNS on crawl.commoncrawl.org; IP list: index.commoncrawl.org/ccbot.json |
Bingbot | Microsoft | Search | Crawls pages for the Bing search index | Yes | Bingbot string and verificationDocumented in Bing Webmaster Tools help Verify Bingbot tool: bing.com/toolbox/verify-bingbot |
The table splits into 7 search crawlers, 5 user-triggered fetchers, 5 training crawlers including Common Crawl’s open corpus, 2 control tokens and 1 ad-review bot. Meta’s crawler page, updated 21 May 2026, also documents Meta-WebIndexer, which Meta says helps it cite and link content in Meta AI responses; it is not yet in this table.
What are AI crawlers?
AI crawlers are automated clients that AI companies send to websites to collect training data, build search indexes or fetch a page for one user's question. Each identifies itself with a user-agent token, which site owners address in robots.txt to allow or refuse it.
Two identifiers matter for every bot. The user-agent string is the full text the bot sends with each request, such as CCBot/2.0 (https://commoncrawl.org/faq/). The token is the short name inside it, such as CCBot, and robots.txt groups match on the token. robots.txt is the plain-text file at the root of each host that lists which paths each token may fetch. Operators publish the token and, in most cases, an IP list or reverse DNS pattern so site owners can tell real traffic from copies. A crawler that fetches a page is the precondition for any AI answer citing it.
How do training crawlers, search crawlers and user-triggered fetchers differ?
Training crawlers gather content for future models, search crawlers index pages that engines cite in live answers, and user-triggered fetchers open one page because a user asked. Blocking a training crawler leaves search citations intact; blocking a search crawler removes a site from that engine's answers.
| Role | Examples | What it feeds | Effect of blocking |
|---|---|---|---|
| Training crawler | GPTBot, ClaudeBot, CCBot, Meta-ExternalAgent | Training data for future models | Future content leaves the training set; search answers are unaffected |
| Search crawler | OAI-SearchBot, Claude-SearchBot, PerplexityBot, Googlebot | The index behind cited answers | The site drops out of that engine's answers |
| User-triggered fetcher | ChatGPT-User, Claude-User, Perplexity-User | One answer for one user | Depends on the operator: some fetchers do not reliably follow robots.txt |
The split is visible in traffic. Cloudflare reported on 28 August 2025 that training accounted for nearly 80% of AI bot crawling it observed. In its unfiltered data for the first week of August 2025, Anthropic’s crawlers made nearly 50,000 requests for every visitor they referred, OpenAI’s 887 and Perplexity’s 118. Operators that run search and training as separate tokens let a site accept one and refuse the other.
What is a control token such as Google-Extended?
A control token is a robots.txt name that no bot sends. It changes how content fetched by another crawler is used. The directory lists 2:
- Google-Extended decides whether content that Google’s existing crawlers fetch trains Gemini models and grounds Gemini Apps and Vertex AI. Google states that it “does not impact a site’s inclusion in Google Search”. For AI Overviews and AI Mode, Google names robots.txt rules for Googlebot as the control.
- Applebot-Extended decides whether content that Applebot fetches trains Apple’s foundation models. Apple states that “Applebot-Extended does not crawl webpages” and that pages disallowing it “can still be included in search results”.
Which AI crawlers ignore robots.txt?
Four documented agents do not reliably follow robots.txt: ChatGPT-User, Perplexity-User, Meta-ExternalFetcher and Amzn-User. Their operators state that user-initiated fetches fall outside robots.txt. Anthropic states the opposite for Claude-User: disallowing it stops Claude from retrieving the site for user queries.
- ChatGPT-User (OpenAI): “Because these actions are initiated by a user, robots.txt rules may not apply.”
- Perplexity-User (Perplexity): the fetcher “generally ignores robots.txt rules” because a user requested the page.
- Meta-ExternalFetcher (Meta): “this crawler may bypass robots.txt rules.”
- Amzn-User (Amazon): “it may not follow all robots.txt directives.”
Each of these fetchers acts for one person’s request, not an automatic crawl. OpenAI adds that ChatGPT-User “is not used to determine whether content may appear in Search”. A firewall rule on the operator’s published IP list refuses them where robots.txt does not.
How do you verify that a request comes from a real AI crawler?
Verify a crawler by matching the request's IP address against the operator's published IP list or by a reverse DNS lookup. OpenAI, Anthropic, Perplexity, Amazon, Google, Apple and Common Crawl publish IP lists; Google, Apple and Common Crawl also support reverse DNS. User-agent strings alone are spoofable.
Common Crawl states it is “aware of crawlers falsely identifying themselves as CCBot”, and Google warns that “the HTTP user agent string can be spoofed”. The method differs by operator:
| Operator | Method | Where |
|---|---|---|
| OpenAI | IP list per bot | openai.com/gptbot.json, /searchbot.json, /chatgpt-user.json, /adsbot.json |
| Anthropic | One IP list for all 3 bots | claude.com/crawling/bots.json |
| Perplexity | IP list per bot | perplexity.com/perplexitybot.json, /perplexity-user.json |
| IP ranges and reverse DNS | Hostnames on googlebot.com | |
| Apple | Reverse DNS or IP CIDR file | Hostnames on applebot.apple.com |
| Amazon | IP list per bot | developer.amazon.com/amazonbot/ip-addresses/, /searchbot-ip-addresses/, /live-ip-addresses/ |
| Common Crawl | Reverse DNS or IP list | Hostnames on crawl.commoncrawl.org; index.commoncrawl.org/ccbot.json |
| Microsoft | Verify Bingbot tool | bing.com/toolbox/verify-bingbot |
| Meta | No IP list on the crawler page | Contact webmasters@meta.com |
A reverse DNS check runs in 2 steps: look up the hostname for the IP address, then confirm that the hostname resolves back to the same IP. Anthropic adds a warning against using its IP list to block: IP blocking “may not work correctly or persistently guarantee an opt-out”, because it stops its bots from reading robots.txt.
Which AI user agents are retired or undocumented?
anthropic-ai and Claude-Web are absent from Anthropic's current crawler documentation, which names only ClaudeBot, Claude-SearchBot and Claude-User. Bytespider appears in many block lists but has no operator documentation on record as of September 2026, so this directory excludes it.
- anthropic-ai: an older Anthropic name, not listed in the current article.
- Claude-Web: an older Anthropic name, not listed in the current article.
- Bytespider: a ByteDance user agent with no published operator documentation.
Rules for these names do no harm in robots.txt, but they control nothing that Anthropic documents today.
The list names each bot; a site’s robots.txt decides which of them get in.
Test your robots.txt against these crawlers
Paste a robots.txt file or enter a domain, choose a path, and the AI crawler checker tool reports Allowed or Blocked for 16 of the agents above, with the rule that decides each result.
Explore each crawler
Three crawlers and one file have their own pages, with rule sets, verification steps and the effect of blocking.
GPTBot
OpenAI's training crawler: user-agent string, IP list and rules to block it without leaving ChatGPT search.
OAI-SearchBot
The OpenAI crawler that decides whether pages appear as sources in ChatGPT search.
ClaudeBot
Anthropic's training crawler and its 2 siblings, with what blocking each one does to Claude answers.
llms.txt proposal
A file for agents, not a bot: format, v2 changes and what is documented about who reads it.
Frequently asked questions
Is llms.txt an AI crawler?
No. llms.txt is a Markdown file that a site publishes for AI agents to read, not a bot that visits sites. It lists key pages and grants or blocks nothing; crawler access stays under robots.txt.
How long do AI crawlers take to respect a robots.txt change?
About 24 hours for the operators that state a figure. OpenAI gives about 24 hours for ChatGPT search results, Amazon gives about 24 hours for its 3 agents, and Meta asks site owners to allow up to 24 hours because its crawlers cache robots.txt.
Sources
- OpenAI — Overview of OpenAI Crawlers
- Anthropic — Does Anthropic crawl data from the web, and how can site owners block the crawler?
- Perplexity — Perplexity Crawlers
- Google — Google's common crawlers
- Google — AI features and your website
- Apple — About Applebot (published 4 September 2026)
- Meta — Meta Web Crawlers (updated 21 May 2026)
- Amazon — About Amazonbot
- Common Crawl — CCBot
- Bing Webmaster Tools — Webmaster Guidelines
- Cloudflare Blog — AI crawler traffic by purpose and industry (David Belson, 28 August 2025)