AI crawler user agents: the full list for 2026

This is the list of 51 crawlers we document, grouped by purpose: each with its operator, the token to use in robots.txt, the user-agent string from the operator's documentation and the string we saw in our own logs. A user agent is only a claim, so the last column says whether a request can be checked against the operator's own data.

Compared with the operators' documentation on 2026-10-18. Logged strings are the most common variant on four sites we operate, 19 to 25 Oct 2026; bots we did not see have none.

Download CSVOpen JSONColumns and license (CC BY 4.0)

AI Training Crawlers7

AI Training Crawlers: user agents and verification
BotOperatorrobots.txt tokenDocumented user agentUser agent we loggedVerifiable
GPTBotOpenAIGPTBotMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbotMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)YesIP list
ClaudeBotAnthropicClaudeBotContains claudebot; no full example documentedMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)YesIP list
CCBotCommon CrawlCCBotCCBot/2.0 (https://commoncrawl.org/faq/)CCBot/2.0 (https://commoncrawl.org/faq/)YesIP list
meta-externalagentMetameta-externalagentmeta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36 (compatible; meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler))No
BytespiderByteDanceBytespiderContains bytespider; no full example documentednot seenNo
AmazonbotAmazonAmazonbotMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1) Chrome/W.X.Y.Z Safari/537.36Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36YesIP list
DeepSeekBotDeepSeekDeepSeekBotContains deepseekbot; no full example documentedMozilla/5.0 (compatible; DeepSeekBot/1.0; +https://www.deepseek.com/bot)No

AI User-Triggered Fetchers6

AI User-Triggered Fetchers: user agents and verification
BotOperatorrobots.txt tokenDocumented user agentUser agent we loggedVerifiable
ChatGPT-UserOpenAIChatGPT-UserMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/botMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/botYesIP list
Claude-UserAnthropicClaude-UserContains claude-user; no full example documentedMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-User/1.0; +claude-user@anthropic.com)YesIP list
Perplexity-UserPerplexityPerplexity-UserMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)not seenYesIP list
meta-externalfetcherMetameta-externalfetchermeta-externalfetcher/1.1not seenNo
DuckAssistBotDuckDuckGoDuckAssistBotDuckAssistBot/1.2; (+http://duckduckgo.com/duckassistbot.html)DuckAssistBot/1.2; (+http://duckduckgo.com/duckassistbot.html)YesIP list
Google-CloudVertexBotGoogleGoogle-CloudVertexBotContains google-cloudvertexbot; no full example documentedMozilla/5.0 (compatible; Google-CloudVertexBot; +https://cloud.google.com/vertex-ai-bot)YesIP list

AI Control Tokens2

AI Control Tokens: user agents and verification
BotOperatorrobots.txt tokenDocumented user agentUser agent we loggedVerifiable
Google-ExtendedGoogleGoogle-Extendednone (never sent)n/an/a (never sends requests)
Applebot-ExtendedAppleApplebot-Extendednone (never sent)n/an/a (never sends requests)

Search Engine Crawlers10

Search Engine Crawlers: user agents and verification
BotOperatorrobots.txt tokenDocumented user agentUser agent we loggedVerifiable
GooglebotGoogleGooglebotMozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.52 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)YesIP list, reverse DNS
BingbotMicrosoftBingbotContains bingbot; no full example documentedMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36YesIP list
ApplebotAppleApplebotMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot)Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot)YesIP list, reverse DNS
Googlebot-ImageGoogleGooglebot-ImageGooglebot-Image/1.0Googlebot-Image/1.0YesIP list
Storebot-GoogleGoogleStorebot-GoogleMozilla/5.0 (X11; Linux x86_64; Storebot-Google/1.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Safari/537.36not seenYesIP list
DuckDuckBotDuckDuckGoDuckDuckBotDuckDuckBot/1.1; (+http://duckduckgo.com/duckduckbot.html)DuckDuckBot/1.1; (+http://duckduckgo.com/duckduckbot.html)YesIP list
SofyaBotSofyaSofyaBotSofyaBot/1.0 (+https://sofya.co/bot)SofyaBot/1.0 (+https://sofya.co/bot)YesIP list, reverse DNS
YandexBotYandexYandexBotMozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)Yesreverse DNS
BaiduspiderBaiduBaiduspiderMozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)No
PetalBotHuaweiPetalBotContains petalbot; no full example documentednot seenNo

SEO Tool Crawlers10

SEO Tool Crawlers: user agents and verification
BotOperatorrobots.txt tokenDocumented user agentUser agent we loggedVerifiable
AhrefsBotAhrefsAhrefsBotMozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)YesIP list
SemrushBotSemrushSemrushBotContains semrushbot; no full example documentedMozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)No
MJ12botMajesticMJ12botContains mj12bot; no full example documentedMozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)No
serpstatbotSerpstatserpstatbotContains serpstatbot; no full example documentedserpstatbot/2.1 (advanced backlink tracking bot; https://serpstatbot.com/; abuse@serpstatbot.com)YesIP list
SERankingBacklinksBotSE RankingSERankingBacklinksBotMozilla/5.0 (compatible; SERankingBacklinksBot/1.0; +https://seranking.com/backlinks-crawler)Mozilla/5.0 (compatible; SERankingBacklinksBot/1.0; +https://seranking.com/backlinks-crawler)Yesreverse DNS
QlyzeBotQlyzeQlyzeBotMozilla/5.0 (compatible; QlyzeBot/1.0; +https://app.qlyze.io/bot)Mozilla/5.0 (compatible; QlyzeBot/1.0; +https://app.qlyze.io/bot)No
FossickBotDATAFREAK LTDFossickBotMozilla/5.0 (compatible; FossickBot/1.0; +https://fossick.bot)Mozilla/5.0 (compatible; FossickBot/1.0; +https://fossick.bot)Yessigned requests
DotBotMozdotbotContains dotbot; no full example documentednot seenNo
DataForSeoBotDataForSEODataForSeoBotMozilla/5.0 (compatible; DataForSeoBot; +https://dataforseo.com/dataforseo-bot)not seenYesIP list, reverse DNS
SiteCheckerBotCrawlerSitecheckerSiteCheckerBotCrawlerSiteCheckerBotCrawler/1.0 (+http://sitechecker.pro)not seenYesIP list

Social Preview Fetchers5

Social Preview Fetchers: user agents and verification
BotOperatorrobots.txt tokenDocumented user agentUser agent we loggedVerifiable
facebookexternalhitMetafacebookexternalhitfacebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)No
SlackbotSlackSlackbotSlackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)not seenNo
TwitterbotX CorpTwitterbotTwitterbot/1.0Twitterbot/1.0No
TelegramBotTelegramTelegramBotContains telegrambot; no full example documentedTelegramBot (like TwitterBot)No
LinkedInBotLinkedInLinkedInBotLinkedInBot/1.0 (compatible; Mozilla/5.0; Apache-HttpClient +http://www.linkedin.com)not seenNo

Special-Purpose Crawlers5

Special-Purpose Crawlers: user agents and verification
BotOperatorrobots.txt tokenDocumented user agentUser agent we loggedVerifiable
GoogleOtherGoogleGoogleOtherMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GoogleOther) Chrome/W.X.Y.Z Safari/537.36Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/153.0.8010.52 Mobile Safari/537.36 (compatible; GoogleOther)YesIP list
Google-InspectionToolGoogleGoogle-InspectionToolMozilla/5.0 (compatible; Google-InspectionTool/1.0)not seenYesIP list
archive.org_botInternet Archivearchive.org_botContains archive.org_bot; no full example documentedMozilla/5.0 (compatible; archive.org_bot +http://archive.org/details/archive.org_bot) Zeno/7d76126 warc/v0.8.102No
WebMCPIndexBotWebMCP ShieldWebMCPIndexBotWebMCPIndexBot/0.1 (+https://webmcpshield.com/bot)WebMCPIndexBot/0.1 (+https://webmcpshield.com/bot)No
AgentTrustBotagenttru.stAgentTrustBotContains agenttrustbot; no full example documentedAgentTrustBot/1.0 (id=95ecd7a1d908; +https://agenttru.st/crawler; purpose=AI agent directory; contact=admin@agenttru.st)YesIP list, reverse DNS

Using the list

Questions

What is a crawler's user agent?

The User-Agent header is the text a client sends to say what it is. Crawlers put their name in it, usually with a link or email address to a page about the bot. The robots.txt token is a separate, shorter name that you use in a User-agent: line.

Can I trust the user agent in my logs?

No. Any client can send any string, and borrowed bot names are common. Compare the requesting address with the operator's published IP ranges or documented reverse DNS: the crawler IP checker does that, and our study of forged bot names has the numbers.

Which user agents belong to AI crawlers?

The AI groups are training crawlers (such as GPTBot and ClaudeBot), AI search crawlers (OAI-SearchBot, Claude-SearchBot, PerplexityBot) and user-triggered fetchers (ChatGPT-User, Claude-User, Perplexity-User). Control tokens such as Google-Extended appear only in robots.txt, never in logs.

Why does the string I logged differ from the documented one?

Operators change version numbers and browser tokens, and some send several variants. Match on the bot's name inside the string, not on the whole string. The right-hand column shows the most common variant in our own logs for one week.