KnownByLLM

Explainer · 9 min read

ClaudeBot, Claude-User, Claude-SearchBot: how Anthropic crawls and what llms.txt changes

Three bots, three jobs, one IP list, and a clearer robots.txt promise than the other vendors make. What Anthropic documents, and what the file you are thinking of publishing does and does not change.

Anthropic is the vendor whose crawler documentation is easiest to act on: it names three agents, says what blocking each one does, states that all of them honour robots.txt, and publishes a single list of IP addresses to check against. It is also a vendor that publishes an llms.txt of its own, which leads many site owners to assume Claude reads theirs.

This article walks through the help-center page, turns it into a table of what each block actually does, compares the commitments with OpenAI’s and Perplexity’s, and then addresses the llms.txt question with the evidence that exists. Checked against Anthropic’s documentation on 13 October 2026.

The 30-second answer: block ClaudeBot to opt out of training, allow the other two to stay visible, and treat llms.txt as a bonus

Anthropic runs three bots. ClaudeBot collects web content that may contribute to model training; disallowing it signals that your future material should be excluded from training datasets, and nothing else. Claude-SearchBot indexes content to improve search result quality, and Claude-User fetches a page when a person asks Claude a question; disallowing either of those, Anthropic says, may reduce your visibility in user search results. All three are documented as honouring robots.txt, including the non-standard Crawl-delay.

On llms.txt, Anthropic publishes one for its own developer documentation and says nothing about reading yours. The public log evidence shows a handful of fetches. Write your pages for Claude-SearchBot and Claude-User; publish llms.txt for the tools that read it.

What Anthropic documents

The source is one help-center article, “Does Anthropic crawl data from the web, and how can site owners block the crawler?”, last updated 7 April 2026. The parts a site owner needs:

  • ClaudeBot helps enhance the utility and safety of Anthropic’s generative AI models by collecting web content that could potentially contribute to their training. Disallowing it signals that the site’s future materials should be excluded from training datasets.
  • Claude-User supports Claude users: when a person asks Claude a question, it may access a website using this agent. Disabling it prevents Anthropic’s system from retrieving your content in response to a user query, which may reduce your visibility for user-directed web search.
  • Claude-SearchBot navigates the web to improve search result quality for users. Disabling it prevents indexing of your content for search, which may reduce your visibility and accuracy in user search results.
  • robots.txt. Anthropic’s bots respect do-not-crawl signals by honouring industry-standard directives in robots.txt. A block goes in the robots.txt at the top level of each subdomain you want to opt out.
  • Crawl-delay. Anthropic supports the non-standard Crawl-delay extension, with an example of a one-second delay for ClaudeBot, and says it aims for minimal disruption by respecting it where appropriate.
  • IP addresses. The crawlers’ IPs are published at claude.com/crawling/bots.json. A source IP on that list indicates the crawler is coming from Anthropic. Blocking by IP is not recommended as an opt-out, because it may not work correctly or persistently.
  • Anti-circumvention. The bots respect anti-circumvention technologies and will not attempt to bypass CAPTCHAs.

The IP file is the same shape as OpenAI’s and Perplexity’s: a creation time plus a list of IPv4 prefixes. One difference is that Anthropic publishes a single list for all three bots, where OpenAI publishes one JSON per agent. When this article was checked the file was dated 7 October 2026, so expect it to change and re-fetch it rather than hard-coding the ranges.

What each block actually does

User agentJobIf you disallow itrobots.txt
ClaudeBotCollects content that may be used for trainingFuture material excluded from training datasets; no effect on citationsRespected, plus Crawl-delay
Claude-SearchBotIndexes content for searchNot indexed; visibility and accuracy in search results may dropRespected
Claude-UserFetches a page when a person asksContent not retrieved for that question; visibility may dropRespected (stated)

The decision most sites want is “do not train on my content, but do cite me”, and Anthropic’s split makes it a two-line choice. The mistake to avoid is a single rule for anything containing “Claude”: that removes you from the answers to get out of the training set.

How this differs from OpenAI and Perplexity

  1. The user fetcher. OpenAI says robots.txt rules may not apply to ChatGPT-User because a user initiated the action; Perplexity says Perplexity-User generally ignores robots.txt for the same reason. Anthropic lists Claude-User among the bots that honour robots.txt. It is the only one of the three vendors to say so.
  2. Crawl-delay. Anthropic supports it; OpenAI and Perplexity do not document it; Google ignores it entirely. If your server is sensitive to crawl rate, this is the one vendor where a robots.txt line is enough.
  3. Opting out of training. All three vendors separate training from search, and all three say the training block does not affect visibility. Anthropic’s wording is the most explicit about what the block means: future material excluded from training datasets.
  4. What is not documented. Anthropic does not say how often Claude-SearchBot recrawls, how long a robots.txt change takes to be reflected, or whether JavaScript is rendered. OpenAI gives a figure of about 24 hours for robots.txt changes; Perplexity says up to 24 hours. Assume a day and check the logs.

The full user-agent table across vendors is in the crawler list, and the Googlebot comparison explains why the three-job split exists at all.

Two robots.txt recipes

Cite me, do not train on me. Name the groups explicitly, so that none of the three falls back to the wildcard:

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-SearchBot
User-agent: Claude-User
Allow: /

Allow everything, but slow the training crawler down. Keep the delay in a named group; Google will ignore it and a wildcard Crawl-delay confuses tools:

User-agent: ClaudeBot
Crawl-delay: 5
Allow: /

Remember that robots.txt is per host. Anthropic’s page says to repeat the block in the robots.txt of every subdomain you want to opt out, so docs.example.com and example.com each need their own.

What llms.txt changes for Claude

Anthropic publishes an llms.txt for its developer documentation at platform.claude.com. When this article was checked it was an index of 760 Markdown links grouped by section, with a pointer to an llms-full.txt that concatenates the whole documentation set and to an MCP server for searching it. That is a strong signal that Anthropic finds the format useful for the tools that read documentation: coding agents, editors, and anything that can fetch a URL when told to.

It is not a statement that Claude’s bots read the file from your site, and the crawler page does not mention llms.txt at all. The evidence from logs points the same way. The 12-week panel of 83 sites described in this site’s ChatGPT article counted 9 llms.txt fetches from Anthropic against 3,120 robots.txt requests: not zero, but not a crawl target either.

So the file changes two things for Claude, and neither is the search index. First, when a user pastes your URL into Claude or a Claude-based agent and asks it to read your docs, a well-built llms.txt gives the fetcher a map instead of a homepage. Second, Claude Code and similar tools can be pointed at the file directly. For Claude-SearchBot the surface is your pages: text in the HTML, the answer in the first paragraph, dates on everything. The how-to guide covers writing the file for the readers that exist.

Checking your logs

  1. Search access logs for the three user-agent tokens: ClaudeBot, Claude-SearchBot, Claude-User. Count each per week.
  2. Verify a sample against claude.com/crawling/bots.json. A hit with a Claude user agent from an address outside the list is not Anthropic.
  3. If ClaudeBot is heavier than you like, add Crawl-delay and watch the next week’s count. If Claude-SearchBot never appears, check that nothing in front of robots.txt (a CDN or firewall rule for non-browser agents) is challenging it.

The first check is the one that fails silently. A checker fetches your robots.txt the way a bot does and reports what each of Anthropic’s three agents, and the other common ones, is allowed to read.

See which bots can reach your site

Run the checker on your URL. It fetches your robots.txt and reports what ClaudeBot, Claude-SearchBot, Claude-User, and the other common AI user agents are allowed to read, alongside the llms.txt draft it generates.

Run the check →

FAQ

If I block ClaudeBot, will Claude stop citing my site?

No. Anthropic's help center says that disallowing ClaudeBot signals that your site's future material should be excluded from its model training datasets. Visibility is governed by the other two agents: Claude-SearchBot, which indexes content for search, and Claude-User, which fetches a page when a person asks Claude a question. Block those and Anthropic says your visibility in user search results may be reduced.

Does Claude-User respect robots.txt?

Anthropic says it does. Its help center states that Anthropic's bots respect do-not-crawl signals by honouring industry-standard directives in robots.txt, and lists Claude-User alongside the other two. That is a stronger commitment than OpenAI or Perplexity make for their user-initiated fetchers, which are documented as able to ignore robots.txt because a user asked.

Does Anthropic support Crawl-delay?

Yes. The help center says Anthropic supports the non-standard Crawl-delay extension to robots.txt and gives an example of a one-second delay for ClaudeBot. Google ignores Crawl-delay, so keep that rule in a group named for Anthropic's bots rather than under the wildcard.

How do I verify that a request really came from Anthropic?

Compare the source IP with the list Anthropic publishes at claude.com/crawling/bots.json, a JSON file with a creation time and a list of IPv4 prefixes. Anthropic says a source IP on that list indicates the crawler is coming from Anthropic. It recommends robots.txt rather than IP blocking for opting out, because blocking the IPs can prevent the bots from reading robots.txt at all.

Does Claude read llms.txt from my site?

Anthropic has not said so, and its crawler documentation does not mention the file. Anthropic publishes an llms.txt for its own developer documentation, which tells you it finds the format useful for tools that read docs, not that Claude-SearchBot consumes it from your site. In the one public log panel that counted, Anthropic's agents fetched llms.txt 9 times across 83 sites in 12 weeks, against 3,120 robots.txt requests.

What should I do for Claude, then?

Allow Claude-SearchBot and Claude-User, decide separately about ClaudeBot, make sure your important pages answer their question as text in the HTML, and keep every copy of a fact consistent. Publish llms.txt as a cheap extra for the coding agents and documentation tools that do read it. Then check your logs for the three user agents and verify them against bots.json.

Next steps