AI training crawlers are now among the most active bots on the web. Unlike search crawlers, they provide no direct benefit to most site owners — no search rankings, no referral traffic. They consume bandwidth, can spike hosting bills, and scrape content for model training without attribution.
This is the complete reference for blocking them via robots.txt. It covers every major AI crawler, the exact User-Agent string you need, compliance track records, and what to do when robots.txt isn't enough.
Add this to your robots.txt file at the root of your site. This blocks all major AI training and retrieval crawlers as of 2026:
# Block AI training crawlers
# OpenAI
User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
# Anthropic
User-agent: ClaudeBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Claude-Web
Disallow: /
# Meta
User-agent: meta-externalagent
Disallow: /
User-agent: FacebookBot
Disallow: /
# ByteDance / TikTok
User-agent: Bytespider
Disallow: /
# Common Crawl
User-agent: CCBot
Disallow: /
# Perplexity
User-agent: PerplexityBot
Disallow: /
# Google (AI training only — does NOT block Google Search)
User-agent: Google-Extended
Disallow: /
# Apple
User-agent: Applebot-Extended
Disallow: /
# Amazon
User-agent: Amazonbot
Disallow: /
# Cohere
User-agent: cohere-ai
Disallow: /
Google-Extended is a separate User-Agent that controls whether Google can use your content for AI products (Bard, Gemini, AI Overviews). It has no effect on Googlebot or your search rankings. You can safely add it without harming your SEO.
Want a maintained, community-updated version of this block list? See github.com/lior-seats/ai-crawler-block-list — includes an auto-generated robots.txt snippet that's kept up to date as new crawlers are identified.
Every major AI crawler, with exact User-Agent strings and compliance notes:
| Bot Name | Company | User-Agent string(s) | Respects robots.txt? | Notes |
|---|---|---|---|---|
| GPTBot | OpenAI | GPTBot |
Yes | OpenAI's primary training crawler. Published IP ranges available. Introduced 2023 with explicit robots.txt commitment. |
| ChatGPT-User | OpenAI | ChatGPT-User |
Yes | Used when ChatGPT browses the web in real time (not training). Separate from GPTBot — blocking one doesn't block the other. |
| OAI-SearchBot | OpenAI | OAI-SearchBot |
Yes | OpenAI's search product crawler. Block separately if desired. |
| ClaudeBot | Anthropic | ClaudeBot |
Yes | Primary Anthropic crawler. Respects robots.txt. Replaced anthropic-ai as the main User-Agent. |
| anthropic-ai | Anthropic | anthropic-ai |
Yes | Legacy Anthropic User-Agent. Still in use alongside ClaudeBot — block both to be safe. |
| Claude-Web | Anthropic | Claude-Web |
Yes | Used for real-time web browsing by Claude. Separate from training crawlers. |
| meta-externalagent | Meta | meta-externalagent |
Partial | Meta's AI training crawler. Most cited in hosting bill spikes. Formally committed to robots.txt compliance in 2024, but historical behavior has been aggressive. Block explicitly — don't rely on User-agent: *. |
| FacebookBot | Meta | FacebookBot |
Yes | Crawls for Facebook link previews. Often blocked alongside meta-externalagent as a precaution. |
| Bytespider | ByteDance (TikTok) | Bytespider |
No | Documented history of ignoring robots.txt entirely. Multiple independent researchers have confirmed it crawls disallowed paths. Block at the server/CDN level for reliable protection (see below). |
| CCBot | Common Crawl | CCBot |
Yes | Common Crawl is an open dataset used to train many models (GPT-3, BERT, LLaMA, etc.). Blocking it cuts off a major indirect training pipeline. Respects robots.txt consistently. |
| PerplexityBot | Perplexity AI | PerplexityBot |
Partial | Perplexity had publicized compliance issues in 2024 (crawling via residential proxies). Formally committed to robots.txt since then. Worth blocking explicitly. |
| Google-Extended | Google-Extended |
Yes | Controls Gemini/AI Overview training. Does NOT affect Google Search rankings. Safe to block. Introduced 2023 specifically to give publishers control over AI use. | |
| Applebot-Extended | Apple | Applebot-Extended |
Yes | Controls Apple Intelligence training. Separate from Applebot which handles Siri/Spotlight. Safe to block without affecting Apple Search. |
| Amazonbot | Amazon | Amazonbot |
Yes | Amazon's AI training crawler. Used for Alexa/AWS AI products. |
| cohere-ai | Cohere | cohere-ai |
Yes | Cohere's training crawler. Less commonly seen in logs but worth blocking if you're doing a comprehensive lockdown. |
For most crawlers: yes, mostly. The major companies (OpenAI, Anthropic, Google, Apple) have made public commitments to robots.txt compliance and have business incentives to honor them — they don't want to be blocked at the CDN/firewall level by every publisher simultaneously.
The exceptions:
Multiple independent analyses have found Bytespider crawling pages explicitly disallowed in robots.txt. If you need to reliably block it, you need server-level or CDN-level blocking, not just robots.txt. The User-Agent string also sometimes varies — look for strings containing Bytedance, bytespider, or TikTokBot.
Adding User-agent: * with Disallow: / would block everything — including Googlebot, which you almost certainly don't want. The per-crawler approach above is safer. It's also worth checking logs for User-Agents that don't match known bots but exhibit bot-like behavior (high request rates, no referrer, sequential URL patterns).
Some crawlers (Perplexity was documented doing this in 2024) route requests through residential proxy networks, masking the bot User-Agent entirely. robots.txt cannot defend against this. It requires rate limiting or bot detection at the infrastructure level.
The most common mistake: updating robots.txt and assuming it worked, without checking.
Three things can silently break your robots.txt update:
Use the free AI Crawler Check tool to verify your live robots.txt. It fetches your actual deployed file (not a local copy), parses it, and checks each major AI crawler against your rules. You get a per-bot status in about 5 seconds.
For ongoing verification after changes:
# Fetch your live robots.txt and inspect it
curl -s https://yourdomain.com/robots.txt | grep -A2 "GPTBot\|ClaudeBot\|meta-externalagent"
# Test whether a specific path would be allowed for a given bot
# (using Google's robots.txt tester in Search Console is the most reliable method)
Google Search Console also has a robots.txt tester — go to Settings → robots.txt. It lets you enter any User-Agent and URL to see whether that agent is blocked or allowed by your rules.
robots.txt is a declaration. It works for bots that choose to honor it. For complete protection, add server-level blocking:
if ($http_user_agent ~* "(GPTBot|ClaudeBot|anthropic-ai|meta-externalagent|Bytespider|CCBot|PerplexityBot)") {
return 403;
}
In Cloudflare WAF → Custom Rules, create a rule with:
Field: User Agent
Operator: contains
Value: GPTBot
(repeat for each bot, OR conditions)
Action: Block
Vercel doesn't support User-Agent blocking natively in vercel.json. Use Vercel's Edge Middleware or the Vercel WAF (Pro/Enterprise) for reliable blocking. An alternative: Next.js middleware can return a 403 based on the incoming User-Agent header.
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} GPTBot [OR]
RewriteCond %{HTTP_USER_AGENT} ClaudeBot [OR]
RewriteCond %{HTTP_USER_AGENT} anthropic-ai [OR]
RewriteCond %{HTTP_USER_AGENT} meta-externalagent [OR]
RewriteCond %{HTTP_USER_AGENT} Bytespider
RewriteRule .* - [F,L]
New AI crawlers appear regularly as new labs launch products. The block list in this post will be updated, but for an always-current version, see the ai-crawler-block-list repository — it tracks new crawlers and generates an up-to-date robots.txt snippet.
For monitoring whether AI crawlers are actually hitting your site — and getting alerts when new ones appear — see how AI crawlers are spiking hosting bills and the CrawlGuard waitlist below.
The free AI Crawler Check tool fetches your live robots.txt and shows you exactly which major AI crawlers currently have access to your site. Takes 5 seconds. No account required.
Check your robots.txt → CrawlGuard monitoring →← All articles · AI Crawler Check tool · Block list repo · CrawlGuard waitlist