Skip to main content

Dataset

The AI Crawler Registry

Every AI crawler token a publisher meets in a robots.txt file, identified: who runs it, what it is for, and whether it honors the file it just read. 55 records, 26 operators, dataset version 1.0.1, last verified 2026-11-01.

Why this exists

Publishers are making one decision and recording another. The pattern in the wild is clear: block the training crawlers, keep the search crawlers that send readers back. Getting that right takes knowing which token does which job, and the tokens keep changing. New AI user-agents appear faster than any hand-kept list survives. This registry is the maintained version of that list, published as data instead of prose.

The split that matters most: 16 records are training crawlers, 14 build search indexes that answer with citations, and 13 fetch a page only when a user asks. Blocking a search or user-triggered agent by mistake costs a site its citations and its on-demand visits, and buys no training protection at all.

How a record gets in

  • Citation of record. Every record names the operator's own documentation page for that agent. If the operator publishes no documentation, the record says so and names the independent sources it rests on instead.
  • Dated verification. Every record carries the date it was last checked against its citation. The registry is re-checked monthly against operator documentation and Cloudflare Radar reporting.
  • Disputes stay disputed. Where credible reporting contradicts an operator's stated robots.txt policy, the record reads disputed and says why. The registry does not resolve disputes by fiat. 5 records are disputed today: Bytespider, DeepSeekBot, MoonshotBot, GPTBot, PerplexityBot.
  • Nothing is deleted. Retired and renamed agents stay in the dataset with their status marked, because robots.txt files in the wild still name them.
  • Versioned. Additions bump the patch version, purpose reclassifications bump the minor version and always get a changelog entry. Purpose labels are the sensitive part of this dataset, and they are never edited silently.

Use it

SurfaceAddressWhat you get
RESTGET /api/v1/crawlersAll records, filterable by operator, purpose, status
RESTGET /api/v1/crawlers/GPTBotOne record by exact token, case-insensitive
RESTGET /api/v1/crawlers/metaVersion, counts, coverage, citation
MCPlookup_crawlerOne record inside any MCP client, at https://movahedi.ca/mcp
MCPlist_crawlersFiltered, paginated browsing of the registry

Free, read-only, no account. Quotas and terms are the same as the rest of the public API.

Cite it

AI Crawler Registry, movahedi.ca (dataset v1.0.1, updated 2026-11-01). https://movahedi.ca/developers/crawlers/

The records

All 55 records in dataset v1.0.1. The documentation link on each row is that record's citation of record.

TokenOperatorPurposeHonors robots.txtStatusDocs
AI2BotAllen Institute for AITrainingYesactivesource
SemanticScholarBotAllen Institute for AISearch indexYesactivesource
AmazonbotAmazonSearch and trainingYesactivesource
Amzn-SearchBotAmazonSearch indexYesactivesource
Amzn-UserAmazonUser-triggeredNoactivesource
anthropic-aiAnthropicTrainingYesrenamed (ClaudeBot)source
Claude-SearchBotAnthropicSearch indexYesactivesource
Claude-UserAnthropicUser-triggeredYesactivesource
Claude-WebAnthropicUser-triggeredYesretiredsource
ClaudeBotAnthropicTrainingYesactivesource
ApplebotAppleSearch and trainingYesactivesource
Applebot-ExtendedAppleTrainingYesactivesource
BytespiderByteDanceTrainingDisputedactivesource
cohere-aiCohereTrainingYesactivesource
CCBotCommon CrawlTrainingYesactivesource
DeepSeekBotDeepSeekTrainingDisputedactivesource
DiffbotDiffbotOtherYesactivesource
DuckAssistBotDuckDuckGoUser-triggeredYesactivesource
FriendlyCrawlerFriendlyCrawler projectTrainingYesactivesource
Google-AgentGoogleUser-triggeredNoactivesource
Google-CloudVertexBotGoogleUser-triggeredYesactivesource
Google-ExtendedGoogleTrainingYesactivesource
Google-GeminiNotebookGoogleUser-triggeredNoactivesource
Google-InspectionToolGoogleUser-triggeredYesactivesource
Google-Read-AloudGoogleUser-triggeredYesactivesource
GooglebotGoogleSearch indexYesactivesource
Googlebot-ImageGoogleSearch indexYesactivesource
Googlebot-NewsGoogleSearch indexYesactivesource
Googlebot-VideoGoogleSearch indexYesactivesource
GoogleOtherGoogleOtherYesactivesource
GoogleOther-ImageGoogleOtherYesactivesource
GoogleOther-VideoGoogleOtherYesactivesource
Storebot-GoogleGoogleOtherYesactivesource
ImagesiftBotHiveTrainingYesactivesource
archive.org_botInternet ArchiveOtherYesactivesource
facebookexternalhitMetaOtherYesactivesource
Meta-ExternalAgentMetaTrainingYesactivesource
Meta-ExternalFetcherMetaUser-triggeredYesactivesource
AdIdxBotMicrosoftOtherYesactivesource
bingbotMicrosoftSearch indexYesactivesource
MSNBotMicrosoftSearch indexYesrenamed (bingbot)source
MistralAI-UserMistral AIUser-triggeredYesactivesource
MoonshotBotMoonshot AITrainingDisputedactivesource
NeevaBotNeevaSearch indexYesretiredsource
ChatGPT-UserOpenAIUser-triggeredNoactivesource
GPTBotOpenAITrainingDisputedactivesource
OAI-AdsBotOpenAIOtherYesactivesource
OAI-SearchBotOpenAISearch indexYesactivesource
Perplexity-UserPerplexityUser-triggeredNoactivesource
PerplexityBotPerplexitySearch indexDisputedactivesource
TimpibotTimpiSearch indexYesactivesource
VelenPublicWebCrawlerVelenTrainingYesactivesource
OmgilibotWebz.ioTrainingYesactivesource
xAI-BotxAISearch and trainingYesactivesource
YouBotYou.comSearch indexYesactivesource

What this registry does not claim

  • It records what operators document and what credible reporting shows. It does not test crawler behavior, and a "yes" on robots.txt is a statement of the operator's policy, not a measurement.
  • A site's real exposure also depends on its CDN and firewall settings, which can block crawlers at the edge no matter what robots.txt says. This dataset covers the robots.txt layer only.
  • First-documented dates are the earliest confident public documentation dates, not launch claims.

Corrections are welcome and get a changelog entry: contact.