Who blocks AI · #5 in the Majestic Million

robots.txt · checked 9 Nov 2026

Does twitter.com block AI crawlers?

Yes. twitter.com’s robots.txt blocks all 19 AI crawlers we track, from GPTBot and ClaudeBot to PerplexityBot. It also blocks DuckDuckBot, PetalBot and 2 more among search engines.

GPTBotBlockedOAI-SearchBotBlockedClaudeBotBlockedPerplexityBotBlockedGoogle-ExtendedBlockedCCBotBlocked
robots.txt
twitter.com/robots.txt · 123 lines
llms.txt
none
Checked
9 November 2026, as canaicrawl. We check again every week.

Every bot, and the line that decides

Search engines

BotOperatorrobots.txtDeciding line
GooglebotGooglePartly blockedline 16 · Disallow: /*?lang=en-ss line 18 · Disallow: /search/realtime and 16 more
BingbotMicrosoftPartly blockedline 16 · Disallow: /*?lang=en-ss line 18 · Disallow: /search/realtime and 16 more
DuckDuckBotDuckDuckGoBlockedline 108 · Disallow: / under User-agent: *
ApplebotApplePartly blockedline 16 · Disallow: /*?lang=en-ss line 18 · Disallow: /search/realtime and 16 more
PetalBotHuaweiBlockedline 108 · Disallow: / under User-agent: *
YandexBotYandexBlockedline 108 · Disallow: / under User-agent: *
BaiduspiderBaiduBlockedline 108 · Disallow: / under User-agent: *

AI search

BotOperatorrobots.txtDeciding line
OAI-SearchBotOpenAIBlockedline 108 · Disallow: / under User-agent: *
PerplexityBotPerplexityBlockedline 108 · Disallow: / under User-agent: *
Claude-SearchBotAnthropicBlockedline 108 · Disallow: / under User-agent: *
DuckAssistBotDuckDuckGoBlockedline 108 · Disallow: / under User-agent: *
AmazonbotAmazonBlockedline 108 · Disallow: / under User-agent: *
YouBotYou.comBlockedline 108 · Disallow: / under User-agent: *

AI training

BotOperatorrobots.txtDeciding line
GPTBotOpenAIBlockedline 108 · Disallow: / under User-agent: *
ClaudeBotAnthropicBlockedline 108 · Disallow: / under User-agent: *
Google-ExtendedGoogleBlockedline 76 · Disallow: * under User-agent: Google-Extended
CCBotCommon CrawlBlockedline 108 · Disallow: / under User-agent: *
Applebot-ExtendedAppleBlockedline 108 · Disallow: / under User-agent: *
GoogleOtherGoogleBlockedline 108 · Disallow: / under User-agent: *
Meta-ExternalAgentMetaBlockedline 90 · Disallow: * under User-agent: meta-externalagent
BytespiderByteDanceBlockedline 108 · Disallow: / under User-agent: *

User-triggered fetchers

BotOperatorrobots.txtDeciding line
ChatGPT-UserOpenAIBlockedline 108 · Disallow: / under User-agent: *
Claude-UserAnthropicBlockedline 108 · Disallow: / under User-agent: *
Perplexity-UserPerplexityBlockedline 108 · Disallow: / under User-agent: *
MistralAI-UserMistralBlockedline 108 · Disallow: / under User-agent: *
Meta-ExternalFetcherMetaBlockedline 96 · Disallow: * under User-agent: meta-externalfetcher

SEO tools

BotOperatorrobots.txtDeciding line
AhrefsBotAhrefsBlockedline 108 · Disallow: / under User-agent: *
SemrushBotSemrushBlockedline 108 · Disallow: / under User-agent: *
MJ12botMajesticBlockedline 108 · Disallow: / under User-agent: *
DotBotMozBlockedline 108 · Disallow: / under User-agent: *
View twitter.com/robots.txt · 123 lines
1# Google / Bing Search Engine Robots
2# ==================================
3# Shared group so Googlebot and Bingbot always get the same rules.
4User-agent: Googlebot
5User-agent: Bingbot
6
7Allow: /*?s=
8Allow: /*?t=
9Allow: /*?ref_src=
10Allow: /hashtag/*?src=
11Allow: /search?q=%23
12Allow: /i/api/
13# Same length as the /*/likes and /*/media rules; RFC 9309 breaks the tie in
14# favor of Allow, so /i/api/ fetches stay crawlable.
15Allow: /i/api/*
16Disallow: /*?lang=en-ss
17Allow: /*?lang=
18Disallow: /search/realtime
19Disallow: /search/users
20Disallow: /search/*/grid
21
22Disallow: /*/analytics
23Disallow: /*/followers
24Disallow: /*/following
25Disallow: /*/verified_followers
26
27Disallow: /account/deactivated
28Disallow: /settings/deactivated
29
30# Only `*` and `$` are metacharacters here (RFC 9309); regex classes match
31# literally. /photo is anchored so /status/*/photo/1 media pages stay open.
32Disallow: /*/likes
33Disallow: /*/likes?
34Disallow: /*/retweets
35Disallow: /*/retweets?
36Disallow: /*/media
37Disallow: /*/media?
38Disallow: /*/photo$
39Disallow: /*/photo?
40Allow: /*?
41
42User-agent: facebookexternalhit
43
44Allow: /*?lang=
45Allow: /*?s=
46Allow: /*&s=
47Allow: /*?t=
48Allow: /*?ref_src=
49Allow: /hashtag/*?src=
50Allow: /search?*cashtagRestId=
51Allow: /i/api/
52Allow: /i/api/*
53Disallow: /search?q=
54Disallow: /search/realtime
55Disallow: /search/users
56Disallow: /search/*/grid
57
58Disallow: /*?
59Disallow: /*/followers
60Disallow: /*/following
61Disallow: /*/verified_followers
62
63Disallow: /account/deactivated
64Disallow: /settings/deactivated
65
66Disallow: /*/likes
67Disallow: /*/likes?
68Disallow: /*/retweets
69Disallow: /*/retweets?
70Disallow: /*/media
71Disallow: /*/media?
72Disallow: /*/photo$
73Disallow: /*/photo?
74
75User-Agent: Google-Extended
76Disallow: *
77
78User-Agent: FacebookBot
79Disallow: *
80
81User-agent: Discordbot
82Disallow: *
83
84# Meta AI / product crawlers (product tokens; versions like /1.1 are ignored
85# under RFC 9309 token matching).
86User-agent: meta-webindexer
87Disallow: *
88
89User-agent: meta-externalagent
90Disallow: *
91
92User-agent: meta-externalads
93Disallow: *
94
95User-agent: meta-externalfetcher
96Disallow: *
97
98# Shared AI training preference (IETF draft-kelley-aipref-training-preference-signal),
99# honored by Microsoft, Google, OpenAI, and Anthropic. This is a usage policy
100# token, not a crawler: it does not change crawl access, and `User-agent: *`
101# never matches it.
102User-agent: __usage_ai-training
103Disallow: /
104
105# Every bot that might possibly read and respect this file
106# ========================================================
107User-agent: *
108Disallow: /
109
110
111# WHAT-4882 - Keep notification-email links (/i/u) out of search results.
112# Named crawlers stay un-blocked on purpose: they must crawl /i/u to see its
113# X-Robots-Tag noindex (the robots.txt Noindex directive died in 2019).
114Disallow: /i/u
115
116# Wait 1 second between successive requests. See ONBOARD-2698 for details.
117Crawl-delay: 1
118
119# Independent of user agent. Links in the sitemap are full URLs using https://
120# and need to match the protocol of the sitemap.
121Sitemap: https://x.com/sitemap.xml
122Sitemap: https://x.com/sitemaps/finance0
123

What do the bots actually get?

This page reads robots.txt, which states what twitter.com asks of crawlers. A firewall or CDN can still refuse a bot that robots.txt allows. The live check requests the page as each bot and shows the status it gets.

Run a live check on twitter.com Test a path in the robots.txt tester

History

Questions

Does twitter.com block GPTBot?

Yes. twitter.com’s robots.txt disallows GPTBot from the whole site (line 108: Disallow: /). GPTBot is OpenAI’s crawler for training data; blocking it doesn’t affect ChatGPT search, which uses OAI-SearchBot. Checked 9 November 2026.

Does twitter.com block ClaudeBot?

Yes. twitter.com’s robots.txt disallows ClaudeBot from the whole site (line 108: Disallow: /). ClaudeBot is Anthropic’s crawler for training data. Checked 9 November 2026.

Does twitter.com block Google-Extended?

Yes. twitter.com’s robots.txt disallows Google-Extended from the whole site (line 76: Disallow: *). Google-Extended is the token that controls whether Google may use pages for Gemini training and grounding; it doesn’t affect Google Search. Checked 9 November 2026.

Does twitter.com block PerplexityBot?

Yes. twitter.com’s robots.txt disallows PerplexityBot from the whole site (line 108: Disallow: /). PerplexityBot is the crawler that indexes pages for Perplexity’s answers. Checked 9 November 2026.

Can ChatGPT search find twitter.com?

Not through its own crawler. twitter.com’s robots.txt disallows OAI-SearchBot from the whole site (line 108: Disallow: /). OAI-SearchBot is the crawler behind ChatGPT search; blocking it keeps the site out of ChatGPT’s search answers. Checked 9 November 2026.