CCBot vs GPTBot: the open web archive against one lab's training crawler
CCBot crawls for Common Crawl, a non-profit that publishes an open archive of the web anyone can download, including model builders. GPTBot crawls for OpenAI's own model training. Blocking GPTBot keeps future pages from one lab. Blocking CCBot keeps them out of a public archive many parties reuse. Neither affects ChatGPT search.
Block CCBot when your objection is to your pages being redistributed in an open dataset that any party can download and reuse, including for model training. Block GPTBot when your objection is specifically to OpenAI training on your pages.
7 days free · card required
- disallow CCBot at the root (1,215), most of any crawler read
- 15.1%
- n=8,036 domains
- disallow GPTBot at the root (1,147)
- 14.3%
- n=8,036 domains
- CCBot requests to attensira.com
- 0
- n=143,601 AI-crawler requests
- of OpenAI requests were GPTBot's, about 830
- ~11%
- n=7,536 OpenAI requests
Which of the two actually reached our pages?
Of the 30 attensira.com pages AI crawlers fetched most in the 30 days to 4 October 2026, every one was fetched by an agent claiming to be GPTBot. None was fetched by CCBot. The crawler sites block most was not the one reading us.
| Our page | CCBot0 of 8 | GPTBot8 of 8 |
|---|---|---|
| /contact-sales | Not seen | Fetched |
| / | Not seen | Fetched |
| /pricing | Not seen | Fetched |
| /about | Not seen | Fetched |
| /features/prompt-tracking | Not seen | Fetched |
| /features/content-optimization | Not seen | Fetched |
| /features/crawler-logs | Not seen | Fetched |
| /mcp | Not seen | Fetched |
Updated
Researcher · read the AI answers shown here
Analyst · counted the readings in the charts
How do CCBot and GPTBot compare?
| Criterion | CCBotVerified | GPTBotVerified |
|---|---|---|
| Who gets the data | ||
| Who receives the crawled content | A public archive anyone can download | One company's model training |
| Stated mission | Democratising access to web information | Training generative foundation models |
| Identifying and blocking it | ||
| robots.txt user-agent token | CCBot | GPTBot |
| Published user-agent string | CCBot/2.0 (https://commoncrawl.org/faq/) | ...compatible; GPTBot/1.4; +https://openai.com/gptbot |
| Machine-readable address list for verification | index.commoncrawl.org/ccbot.json, plus reverse DNS | openai.com/gptbot.json |
| Documented robots.txt control | Yes· Yes, with a published block directive | Yes· Yes, via its own token |
| What we measured | ||
| Top-10k domains disallowing it at the root (study of 3 Sep 2026, n=8,036) | 1,215 (15.1%) | 1,147 (14.3%) |
| Top-10k domains allowing it by name (n=8,036) | 149 (1.9%) | 349 (4.3%) |
| On attensira.com, 30 days to 4 Oct 2026 | None, of 143,601 AI-crawler requests | Seen on all 30 of our most-fetched pages |
- Who gets the data
Who receives the crawled content
- CCBot
- A public archive anyone can download
- GPTBot
- One company's model training
Stated mission
- CCBot
- Democratising access to web information
- GPTBot
- Training generative foundation models
- Identifying and blocking it
robots.txt user-agent token
- CCBot
- CCBot
- GPTBot
- GPTBot
Published user-agent string
- CCBot
- CCBot/2.0 (https://commoncrawl.org/faq/)
- GPTBot
- ...compatible; GPTBot/1.4; +https://openai.com/gptbot
Machine-readable address list for verification
- CCBot
- index.commoncrawl.org/ccbot.json, plus reverse DNS
- GPTBot
- openai.com/gptbot.json
Documented robots.txt control
- CCBot
- Yes· Yes, with a published block directive
- GPTBot
- Yes· Yes, via its own token
- What we measured
Top-10k domains disallowing it at the root (study of 3 Sep 2026, n=8,036)
- CCBot
- 1,215 (15.1%)
- GPTBot
- 1,147 (14.3%)
Top-10k domains allowing it by name (n=8,036)
- CCBot
- 149 (1.9%)
- GPTBot
- 349 (4.3%)
On attensira.com, 30 days to 4 Oct 2026
- CCBot
- None, of 143,601 AI-crawler requests
- GPTBot
- Seen on all 30 of our most-fetched pages
What is CCBot?
Common Crawl's crawler. It fills an open repository of web crawl data that Common Crawl describes as universally accessible, which downstream parties including model builders can download.
What is GPTBot?
OpenAI's training crawler. It collects content that may be used to train OpenAI's generative foundation models, and it feeds one company rather than a public archive.
When should you choose CCBot?
Block CCBot when your objection is to your pages being redistributed in an open dataset that any party can download and reuse, including for model training. It is the broadest single training-side block available in robots.txt.
When should you choose GPTBot?
Block GPTBot when your objection is specifically to OpenAI training on your pages. It is narrower than blocking CCBot, has no documented effect on ChatGPT search, and leaves your pages available to the open archive.
When is neither the right choice?
Neither block reaches copies that already exist: pages in past Common Crawl archives stay there, and content already collected by GPTBot is not described as removed. Neither affects whether ChatGPT search or Perplexity can read your pages today.
Where does Attensira fit?
Whatever it takes to win the answer. On Growth and Business, Attensira counts crawler fetches at your edge next to what ChatGPT, Perplexity, Claude, Gemini and Google AI answer and cite.
What sets CCBot and GPTBot apart?
- A CCBot block reaches every party that downloads the open archive, not one company, which is why it is the broadest single training-side line you can write.
- Common Crawl documents reverse DNS verification as well as an address list, so a CCBot claim can be checked two ways; GPTBot is checked against openai.com/gptbot.json only.
- Neither block removes anything already collected, and neither changes whether ChatGPT search or Perplexity can cite you today.
What is the difference between CCBot and GPTBot?
Who receives what they collect. GPTBot is OpenAI's crawler, and OpenAI says it is used to crawl content that may be used in training its generative AI foundation models. What GPTBot collects goes to one company. CCBot is Common Crawl's crawler. Common Crawl is a non-profit whose stated aim is to democratise access to web information by maintaining an open repository of web crawl data. What CCBot collects goes into an archive that anyone can download.
That difference decides what a block achieves. A GPTBot block is a message to one lab. A CCBot block keeps your future pages out of a dataset that many parties use, including researchers and model builders. Neither block is about search visibility; both are about reuse.
Why does CCBot appear on lists of AI crawlers if it does not train models?
Because its output is one of the most widely used sources of web text. Common Crawl publishes its data in formats designed for reuse and encourages research on it. Model builders are among the users. So CCBot sits on the training side of a robots.txt policy even though Common Crawl itself trains nothing: it is the upstream of many downstream uses you cannot see or list.
That makes CCBot the broadest single training-side decision you can write in robots.txt. A GPTBot rule covers one named crawler from one named lab. A CCBot rule covers every party that would otherwise have got your future pages from the open archive.
What does each block reach, and what does it miss?
A GPTBot block reaches GPTBot. OpenAI's crawler page does not describe the company's other data sources, so a GPTBot rule does not, by itself, tell you whether OpenAI could obtain the same pages another way. A CCBot block reaches future Common Crawl archives. It does not reach past archives, which remain available, and it does not reach anyone who crawls the web with their own crawler.
Neither block touches search. ChatGPT search depends on OAI-SearchBot. Google Search depends on Googlebot. Perplexity depends on PerplexityBot. If you write CCBot and GPTBot rules and nothing else, every answer engine that searches the web can still read, cite and link your pages.
Answer engines describe GPTBot the same narrow way its operator does. Ask one what GPTBot is and you get OpenAI's training crawler, robots.txt control and the opt-out. You do not get the other route by which the same page can reach a training set, which is the one CCBot opens.
What should your robots.txt say?
For a site that wants to stay out of open datasets and OpenAI's training while staying visible in search and answers:
User-agent: CCBot
Disallow: /
User-agent: GPTBot
Disallow: /If you object only to one lab training on your pages and are content to be in the open archive, block GPTBot alone. If you object to reuse in general, CCBot is the line that does the most work, and you will probably want the other labs' training crawlers in the same group. Keep OAI-SearchBot, PerplexityBot and Googlebot out of that group, or give them their own allow groups, so a reuse decision does not quietly become a visibility decision.
What does Perplexity say GPTBot is?
Asked "what is GPTBot" on 4 October 2026, Perplexity described it as OpenAI's training crawler and said nothing about where else the same pages can come from. That gap is the reason this pair exists. One stored answer, quoted whole.
Question: what is GPTBot
Perplexity answered: GPTBot is OpenAI’s web crawler that scans publicly accessible websites to collect data that may be used to train and improve OpenAI’s language models (e.g., ChatGPT/GPT). It follows robots.txt rules, and site owners can block it if they don’t want their content used for training.
Sources cited
- 1developers.openai.com
- 2searchengineland.com
- 3datadome.co
- 4gptbots.ai
- 5neilpatel.com
- 6conbersa.ai
- +4 more
Researcher · Read this answerStored answer, attensira.com workspace, Attensira MCP · · n=1 answerHow do you verify each crawler?
CCBot identifies itself as CCBot/2.0 with the URL commoncrawl.org/faq. Common Crawl publishes its IP ranges as JSON at index.commoncrawl.org/ccbot.json and documents reverse DNS verification under crawl.commoncrawl.org, so you can check a request's source two ways. GPTBot identifies itself as GPTBot/1.4 with the URL openai.com/gptbot, and OpenAI publishes its addresses at openai.com/gptbot.json.
Use the operators' own pages for this, not a list someone compiled. Crawler lists copy each other, and an error in one spreads to many. A user-agent string proves nothing on its own: any client can claim to be CCBot or GPTBot, and only the address check tells you it was.
How often do large sites block each one?
On 3 September 2026 we read the robots.txt files of the top 10,000 domains in Tranco list K9QPW and parsed 8,036 of them. 1,215 (15.1%) disallow CCBot at the root, the highest rate of any AI-related crawler we measured. 1,147 (14.3%) disallow GPTBot. The other side of the ledger is thinner still for CCBot: only 149 domains (1.9%) allow it by name, against 349 (4.3%) for GPTBot. And 6,672 (83.0%) never mention CCBot at all, which means their wildcard group decides for them.
The closeness of the two block rates suggests many large sites block both in the same edit, treating them as one decision about reuse. The full table and the method are in our study of AI crawler access.
Which crawlers actually showed up on our site?
Attensira counts crawler requests at the edge on attensira.com, as it does for customers on Growth and Business. In the 30 days to 4 October 2026 the log held 143,601 AI-crawler requests, and not one was labelled CCBot. In the same window, about 11% of 7,536 requests with OpenAI user agents, roughly 830, were classed as training, which is GPTBot.
One month is a short window, and we read the absence as an absence in this window, not as evidence about how often CCBot visits sites like ours. Every label is the user agent the request claimed; none was IP-verified, and our documentation says we do not claim verified attribution. What the comparison does show is that the crawler a site worries about is not always the one that shows up.
Is the reuse argument the same for both?
Not quite. A block on GPTBot is a statement to a company you can name, with a policy you can read. A block on CCBot is a statement about an archive whose users you cannot list. Some site owners are comfortable contributing to an open archive used by researchers and object only to commercial training by specific labs. Others treat the open archive as the main route by which their writing reaches every model, and block it first.
There is also a contribution argument for allowing CCBot. Common Crawl presents its archive as a shared resource. A site that blocks it withdraws from that commons too. That is a legitimate trade-off to make deliberately, and a poor one to make by pasting a list.
Who should allow both?
Companies whose growth depends on being described accurately wherever a model answers without searching. A developer tool whose documentation is its product, an open-source project, a reference publisher that wants its definitions repeated: for these, being in the open archive and in a lab's training data is distribution, not loss. The trade is control over reuse for a chance, which nobody can measure for a single site, that models learn your material well. Some companies take that trade on purpose. It should be on purpose.
Which other training crawlers belong in the same decision?
If you block CCBot and GPTBot for reasons of reuse, the same reasons usually apply to other training-side agents. In our read of 8,036 large domains, the next most blocked were Bytespider, ByteDance's crawler, at 1,150 (14.3%), ClaudeBot at 1,077 (13.4%), Meta-ExternalAgent at 994 (12.4%) and the Google-Extended token at 992 (12.3%). Large sites that block training tend to block several of these together.
Our own log shows why the list matters more than any single name. In the same 30 days, attensira.com received 131,105 requests labelled Meta-ExternalAgent across 873 pages, almost all of them (130,718) in the last 7 days, and 3,505 labelled Bytespider. A policy that named only the two crawlers on this page would have left the busiest training-side agent on our site untouched.
Which other training crawlers do large sites block?
Two training crawlers outside this pair are blocked about as often as GPTBot in our read of 8,036 top-10,000 domains on 3 September 2026. A reuse policy that names only CCBot and GPTBot leaves them to the wildcard.
- disallow Bytespider at the root (1,150 domains)
- 14.3%
- n=8,036 domains
- disallow Meta-ExternalAgent at the root (994 domains)
- 12.4%
- n=8,036 domains
Can you tell from your logs whether a block is working?
Partly. After a block, a well-behaved crawler keeps fetching robots.txt and stops fetching everything else. That pattern is visible at the edge: requests from the published addresses drop to the robots file itself. If page fetches continue from those addresses, the crawler is not reading the rule you think it is, usually because of a typo in the token or a rule on the wrong host.
What logs cannot tell you is whether a block changed anything downstream. You will not see a model forget your pages, and you will not see an archive skip them until the next one is published. Treat the logs as proof that the rule is being read, and look at the answers your buyers get for everything else.
What should you check every few months?
Read Common Crawl's CCBot page and OpenAI's crawler page again and compare them with your file: operators add agents, rename tokens and bump version strings, and a rule written for last year's list can miss this year's crawler. Look at a week of logs for requests claiming to be either crawler and check them against the published address lists. Write the reason for each training-side rule as a comment above it, so the next person who edits the file knows it was deliberate. And keep the search and user agents in their own groups, so a reuse decision never removes you from the answers your buyers read.
Questions people ask
Is CCBot an AI crawler?
If I block GPTBot, can OpenAI still get my pages from Common Crawl?
Does blocking either one affect ChatGPT search or Google?
How do I verify CCBot?
Does blocking CCBot remove my pages from past archives?
Which one do large sites block more often?
Where to go next
- CCBot: Common Crawl's crawlerBot
- GPTBot: what it fetches and how to verify itBot
- Who blocks which AI crawler, top 10,000 sitesData
- GPTBot vs OAI-SearchBotCompare
- ClaudeBot vs GPTBotCompare
- Verifying that a crawler is realGuide
- Generate a robots.txt for AI crawlersTool
- See which crawlers fetch your pagesFeature
Where do these facts come from?
18 sourced claims, each with the page it was read on and the day.
Common Crawl describes its aim as democratising access to web information by maintaining an open repository of web crawl data that is universally accessible.
commoncrawl.org · retrieved
“an open repository of web crawl data that is universally accessible”
CCBot is controlled with the robots.txt user-agent token CCBot.
commoncrawl.org · retrieved
Common Crawl publishes CCBot's user-agent string as CCBot/2.0 (https://commoncrawl.org/faq/)
commoncrawl.org · retrieved · changes often, check the source
Common Crawl publishes an explicit robots.txt directive for blocking CCBot, indicating the crawler honours robots.txt.
commoncrawl.org · retrieved
“User-agent: CCBot / Disallow: /”
Common Crawl publishes CCBot's IPv4 and IPv6 ranges as JSON at index.commoncrawl.org/ccbot.json, and documents reverse-DNS verification against crawl.commoncrawl.org.
commoncrawl.org · retrieved
“These IP ranges (v4 and v6) are also provided as JSON at https://index.commoncrawl.org/ccbot.json”
CCBot's output is a public archive rather than a private dataset, and Common Crawl's stated purpose is that the repository be universally accessible.
commoncrawl.org · retrieved
Show all 18 sourcesShow fewer
OpenAI documents GPTBot as the crawler used to collect content that may be used to train its generative foundation models.
developers.openai.com · retrieved
“Used to crawl content that may be used in training our generative AI foundation models”
GPTBot is controlled with the robots.txt user-agent token GPTBot.
developers.openai.com · retrieved
OpenAI publishes GPTBot's user-agent string as Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot
developers.openai.com · retrieved · changes often, check the source
OpenAI documents GPTBot as controllable through robots.txt using its own user-agent token.
developers.openai.com · retrieved
OpenAI publishes GPTBot's address ranges as a machine-readable list at openai.com/gptbot.json
developers.openai.com · retrieved
GPTBot's output feeds OpenAI's own foundation-model training rather than a redistributable public archive.
developers.openai.com · retrieved
Of the 8,036 top-10,000 Tranco domains whose robots.txt Attensira read on 3 September 2026, 1,215 (15.1%) disallow CCBot at the site root.
attensira.com · retrieved · changes often, check the source
Of the 8,036 top-10,000 Tranco domains whose robots.txt Attensira read on 3 September 2026, 1,147 (14.3%) disallow GPTBot at the site root.
attensira.com · retrieved · changes often, check the source
Of the same 8,036 domains, 149 (1.9%) allow CCBot by name and 6,672 (83.0%) never mention it.
attensira.com · retrieved · changes often, check the source
Of the same 8,036 domains, 349 (4.3%) allow GPTBot by name and 6,540 (81.4%) never mention it.
attensira.com · retrieved · changes often, check the source
In the attensira.com workspace, read through the Attensira MCP on 4 October 2026, no request labelled CCBot reached attensira.com in the 30 days to 4 October 2026, out of 143,601 AI-crawler requests.
attensira.com workspace, read over the Attensira MCP on · changes often, check the source
Put the crew to work on your brand, 7 days free.
7 days free · card required