readthedocs.io: what it tells AI crawlers

On 27 October 2026, readthedocs.io's robots.txt allowed all of GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot, Google-Extended, PerplexityBot and CCBot.

Last verified 2026-10-28 03:59 UTC (daily run of 2026-10-27). Proof for that day.

Panel
top 1k (Tranco)
robots.txt
ok (HTTP 200) · https://app.readthedocs.org/robots.txt
unchanged since 2026-10-26 · sha256 e487fb28ff96a142… · view as recorded
The * group
allows applies to every agent without its own group

Per AI bot, 2026-10-27

User agentVerdictHow
GPTBotallowsthrough the * group
OAI-SearchBotallowsthrough the * group
ChatGPT-Userallowsthrough the * group
ClaudeBotallowsthrough the * group
Claude-SearchBotallowsthrough the * group
Claude-Userallowsthrough the * group
PerplexityBotallowsthrough the * group
Perplexity-Userallowsthrough the * group
Googlebotallowsthrough the * group
Google-Extendedallowsthrough the * group
Applebot-Extendedallowsthrough the * group
CCBotallowsthrough the * group
Bytespiderallowsthrough the * group
Meta-ExternalAgentallowsthrough the * group
Amazonbotallowsthrough the * group

Other signals

Publishes /llms.txtno
Publishes /ai.txtno
Publishes /.well-known/tdmrep.jsonno
Reserves TDM rights (TDMRep file, header or meta)not observed
Declares Content Signals (robots.txt or header)not observed
Says ai-train=no in a Content Signalnot observed
Points to an RSL licence (robots.txt License line or Link header)not observed
Answers with an x402 payment offer (lower bound: only the homepage is probed)not observed
Answers HTTP 402 Payment Required (lower bound: only the homepage is probed)not observed
Sends noai / noimageai directivesnot observed
Refused our fetcher (403 / challenge)no

robots.txt as recorded sha256 e487fb28ff96a142…

# Guidelines for automated access and crawling Read the Docs: https://docs.readthedocs.com/platform/stable/automated-access.html
#
# Bots should not be scraping from the Read the Docs maintainer dashboard in bulk.
# Automated access to documentation sites is allowed in accordance with the policies above.
# For everything else, use our API: https://docs.readthedocs.com/platform/stable/api/index.html

User-agent: *
Disallow: /accounts/
Disallow: /api/
Disallow: /profiles/
Disallow: /projects/*/builds/
Disallow: /projects/tags/
Disallow: /search/

# This was hitting our site and causing a lot of issues
User-agent: AhrefsBot
Disallow: /

robots.txt versions

FromThroughStateVersion
2026-10-262026-10-28ok 200e487fb28ff96

Timeline of changes

DateWhat changed
No changes since the first observation (2026-10-26).

Reconstructed history (Common Crawl)

From Common Crawl's robots.txt captures: what CCBot was served, one crawl per quarter. A separate series from the daily observations above; a 403 here means Common Crawl was refused, not this ledger.

CrawlHostStateGPTBotOAI-SearchBotChatGPT-UserClaudeBotClaude-SearchBotClaude-UserPerplexityBot
2026-09-21 CC-MAIN-2026-39readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2023-10-02 CC-MAIN-2023-40readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2022-10-03 CC-MAIN-2022-40readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2021-09-27 CC-MAIN-2021-39readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2020-09-28 CC-MAIN-2020-40readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2018-01-29 CC-MAIN-2018-05readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2017-10-23 CC-MAIN-2017-43readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2017-09-25 CC-MAIN-2017-39readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2017-07-24 CC-MAIN-2017-30readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2017-04-24 CC-MAIN-2017-17readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2017-01-23 CC-MAIN-2017-04readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown
2016-09-05 CC-MAIN-2016-36readthedocs.ioredirect-onlyunknownunknownunknownunknownunknownunknownunknown

Evidence

Every daily observation of readthedocs.io is a leaf in that day's Merkle tree. Proof of the robots.txt line for 2026-10-27: audit path (JSON), day root and OpenTimestamps proof (complete (bitcoin block 973493)).

API: https://infrarabbit.com/crawlers/api/v1/policy/readthedocs.io