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 · sha256e487fb28ff96a142…· view as recorded - The * group
- allows applies to every agent without its own group
Per AI bot, 2026-10-27
| User agent | Verdict | How |
|---|---|---|
| GPTBot | allows | through the * group |
| OAI-SearchBot | allows | through the * group |
| ChatGPT-User | allows | through the * group |
| ClaudeBot | allows | through the * group |
| Claude-SearchBot | allows | through the * group |
| Claude-User | allows | through the * group |
| PerplexityBot | allows | through the * group |
| Perplexity-User | allows | through the * group |
| Googlebot | allows | through the * group |
| Google-Extended | allows | through the * group |
| Applebot-Extended | allows | through the * group |
| CCBot | allows | through the * group |
| Bytespider | allows | through the * group |
| Meta-ExternalAgent | allows | through the * group |
| Amazonbot | allows | through the * group |
Other signals
| Publishes /llms.txt | no |
| Publishes /ai.txt | no |
| Publishes /.well-known/tdmrep.json | no |
| 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 Signal | not 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 directives | not 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
| From | Through | State | Version | |
|---|---|---|---|---|
| 2026-10-26 | 2026-10-28 | ok 200 | e487fb28ff96 |
Timeline of changes
| Date | What 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.
| Crawl | Host | State | GPTBot | OAI-SearchBot | ChatGPT-User | ClaudeBot | Claude-SearchBot | Claude-User | PerplexityBot |
|---|---|---|---|---|---|---|---|---|---|
| 2026-09-21 CC-MAIN-2026-39 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2023-10-02 CC-MAIN-2023-40 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2022-10-03 CC-MAIN-2022-40 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2021-09-27 CC-MAIN-2021-39 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2020-09-28 CC-MAIN-2020-40 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2018-01-29 CC-MAIN-2018-05 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2017-10-23 CC-MAIN-2017-43 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2017-09-25 CC-MAIN-2017-39 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2017-07-24 CC-MAIN-2017-30 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2017-04-24 CC-MAIN-2017-17 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2017-01-23 CC-MAIN-2017-04 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
| 2016-09-05 CC-MAIN-2016-36 | readthedocs.io | redirect-only | unknown | unknown | unknown | unknown | unknown | unknown | unknown |
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