Plain Reckoner
EN

Dataset

Which AI crawlers 1,020 small ad-funded publishers name and block in robots.txt

Historical robots.txt policies from 1,020 readable files in a sample drawn from a 16,076-domain advertising-network frame. Named tokens, resolved site-root blocks, legacy-name flags and template markers are separate fields. In the saved snapshot, 244 of them named evaluated crawlers: 216 blocked at least one at the root and 28 blocked none. Of the 244, 167 also carried legacy-name flags. These observations describe public file contents, not owner intent, actual crawler compliance, lost referrals, model training or licensing income. The source was collected on 2026-09-02; descriptions and denominators were clarified on 2026-10-20.

Coverage
2026-09-02
Last updated
Licence
CC BY 4.0
What a row is
One publisher’s robots.txt file: which AI crawlers it names, which it actually blocks, which names it carries that no vendor documents, and whose template it was written from.
Subjects
robots.txt, AI crawlers, GPTBot, ChatGPT-User, ClaudeBot, CCBot, Google-Extended, crawler blocking, AI training opt-out, web publishers, RFC 9309

Download the public data sample1,020 rows · 8 columns · CSV · no account, no email

Read the finding this came out ofYour AI crawler rules may block a visitor you wanted.

How to cite this

Use it commercially, change it, build on it. The only condition is credit, and a link satisfies it.

In a chart, where space is shortPlain Reckoner (2026)
In fullPlain Reckoner (2026). "Which AI crawlers 1,020 small ad-funded publishers name and block in robots.txt" [dataset]. https://doi.org/10.5281/zenodo.22280370
As HTML, ready to pasteSource: <a href="https://plainreckoner.com/data/ai-crawler-policy-in-robots-txt/">Plain Reckoner, Which AI crawlers 1,020 small ad-funded publishers name and block in robots.txt</a>

What you should know about this data

How it was measured

1,200 domains were drawn once from the 16,076 the two networks publish about themselves, ranked by a hash of a published seed and the domain name, so that anyone can redraw the same sample. The nightly crawler fetched each robots.txt on a single complete pass; 1,020 answered and 180 refused or could not be reached, and the ones that could not be reached are excluded from the denominator rather than counted as saying nothing, which would have moved the headline in the direction that flatters it. Each file was then resolved rather than searched: the rules that reach a named crawler at the site root, worked out by the grouping rules the robots.txt standard sets out, because a file that stacks thirty crawler names above one permissive block has authorised all thirty. Rows are in the order the source holds them, which is alphabetical by domain with the domain removed — unrelated to anything measured, so any run of rows from it is a fair slice of the whole.

The summary

The first 60 of 1,020 rows. The download has all of them. Free to use with credit, commercially included.

networknames_crawlersblocks_crawlersnamed_tokensblocked_tokensblocks_citation_crawlerretired_tokensvendor_template
Raptive00no
Raptive00no
Raptive00no
Raptive00noRaptive
Mediavine00no
Mediavine00no
Mediavine40GPTBot;ClaudeBot;Google-Extended;CCBotnoanthropic-ai;cohere-ai;omgili;omgilibot
Mediavine00no
Mediavine00noYoast
Raptive00no
Raptive33GPTBot;ChatGPT-User;CCBotGPTBot;ChatGPT-User;CCBotyesanthropic-ai;claude-webRaptive
Mediavine00no
Raptive33GPTBot;ChatGPT-User;CCBotGPTBot;ChatGPT-User;CCBotyesanthropic-ai;claude-webRaptive
Raptive70GPTBot;ChatGPT-User;OAI-SearchBot;ClaudeBot;Google-Extended;PerplexityBot;CCBotnoanthropic-ai;claude-web;cohere-ai
Mediavine00no
Raptive00no
Raptive00no
Raptive33GPTBot;ChatGPT-User;CCBotGPTBot;ChatGPT-User;CCBotyesanthropic-ai;claude-webRaptive
Mediavine00no
Raptive00no
Mediavine00no
Raptive33GPTBot;ChatGPT-User;CCBotGPTBot;ChatGPT-User;CCBotyesanthropic-ai;claude-web
Mediavine00no
Mediavine00no
Raptive00no
Raptive00no
Mediavine00no
Mediavine00noYoast
Mediavine00no
Mediavine00no
Mediavine00noYoast
Mediavine40GPTBot;ClaudeBot;Google-Extended;CCBotnoanthropic-ai;cohere-ai;omgili;omgilibot
Raptive11CCBotCCBotnoanthropic-ai;claude-webRaptive
Raptive33GPTBot;ChatGPT-User;CCBotGPTBot;ChatGPT-User;CCBotyesanthropic-ai;claude-webRaptive
Raptive00noYoast
Raptive33GPTBot;ChatGPT-User;CCBotGPTBot;ChatGPT-User;CCBotyesanthropic-ai;claude-webRaptive
Raptive33GPTBot;ChatGPT-User;CCBotGPTBot;ChatGPT-User;CCBotyesanthropic-ai;claude-webRaptive
Mediavine00noYoast
Mediavine00no
Raptive33GPTBot;Google-Extended;CCBotGPTBot;Google-Extended;CCBotnoanthropic-ai;claude-webYoast
Raptive00no
Mediavine00no
Mediavine00noYoast
Mediavine44GPTBot;ClaudeBot;Google-Extended;CCBotGPTBot;ClaudeBot;Google-Extended;CCBotnoanthropic-ai;cohere-ai;omgili;omgilibot
Mediavine00no
Mediavine00noYoast
Mediavine00noYoast
Raptive00no
Raptive33GPTBot;ChatGPT-User;ClaudeBotGPTBot;ChatGPT-User;ClaudeBotyes
Mediavine00noYoast
Mediavine00no
Raptive00no
Mediavine00no
Raptive22GPTBot;CCBotGPTBot;CCBotnoanthropic-ai;claude-web
Mediavine00noYoast
Mediavine00noYoast
Mediavine00no
Mediavine44GPTBot;ClaudeBot;Google-Extended;CCBotGPTBot;ClaudeBot;Google-Extended;CCBotno
Mediavine00noYoast
Mediavine00no

What each column means

network
The advertising network whose published customer list the domain was drawn from
names_crawlers
How many current AI crawlers the file names at all, whether or not it blocks them
blocks_crawlers
How many of them it actually blocks at the site root, once the file is resolved
named_tokens
The crawlers the file names, separated by semicolons
blocked_tokens
The crawlers the file blocks, separated by semicolons
blocks_citation_crawler
yes when at least one blocked crawler is one that fetches a page to answer a question and links back
retired_tokens
Names in the file that no vendor currently documents, separated by semicolons. Not a claim that the crawler stopped running — only that its supposed operator does not list it
vendor_template
The tool or network whose marked block appears in the file, where one does

Request the full research data

The download above contains the published research table: 1,020 rows, no account, no email, free to reuse with attribution. For the data and working used to reach this finding, request the supporting record below. Availability depends on source permissions and privacy.

What is not on the page is the working: the robots.txt bodies as they were served, how each one resolved rule by rule, and the 180 domains that could not be read at all. If you are checking our method, writing about this, or need something cut a different way, ask — we will send what we can and say plainly where we cannot.

No confirmation step and nothing to click. We log the request, email you to say so, and a person sends it — usually within a day. You are not added to any list, and unless you subscribe separately that acknowledgement is the only email you will get. What we collect.

← Every dataset