CrawlLedger
OpenAI · User-requested fetch

AI crawler directory / ChatGPT-User

ChatGPT-User robots.txt reference.

OpenAI's user-initiated fetcher for certain ChatGPT, Custom GPT, and GPT Action requests.

20observed domains
4disallowed
11partial policies
4allowed by matched rules

What ChatGPT-User is documented to do

This summary is tied to a first-party operator page reviewed on Aug 13, 2026. It should be rechecked when the registry version changes.

Operator
OpenAI
Documented purpose
User-requested fetch
Separate HTTP fetcher
Documented as a fetcher or crawler
Official documentation
https://developers.openai.com/api/docs/bots
Important operator note
OpenAI says this is not an automatic web crawler, robots.txt rules may not apply, and it does not control ChatGPT Search inclusion.

Common full-site robots.txt block pattern

This example states a crawl preference for the named token. It does not authenticate requests, enforce blocking, or automatically control another token from the same operator.

User-agent: ChatGPT-User
Disallow: /

Check the official operator source before publishing a policy. User-requested fetchers and non-fetcher control tokens can have different behavior from automatic crawlers.

Latest observed pilot policies

These states are calculated from each domain's latest available robots.txt record using the versioned CrawlLedger parser. They are observations of published text, not proof of crawler behavior.

DomainParsed stateMatched groupLast observed
anthropic.comallowed*
apnews.compartial*
apple.compartial*
cloudflare.comallowedChatGPT-User
commoncrawl.orgpartial*
google.compartial*, Yandex
medium.compartial*
openai.compartial*
oreilly.compartialChatGPT-User, ChatGPT-User/2.0, PerplexityBot, Perplexity-User, DuckAssistBot, Applebot, bingbot, Googlebot
perplexity.aipartial*
quora.comdisallowedChatGPT-User
reddit.comdisallowed*
rslcollective.orgallowed*
rslstandard.orgallowed*
stackoverflow.comunverifiedNo matching group observed
theguardian.compartial*
usatoday.comdisallowedChatGPT-User
voxmedia.compartial*
yahoo.comdisallowedADmantX, AlphaBot, anthropic-ai, AwarioRssBot, AwarioSmartBot, BLEXBot, Buzzbot, Bytespider, CCBot, ChatGPT-User, claritybot, Claude-Web, ClaudeBot, cohere-ai, Diffbot, FacebookBot, FriendlyCrawler, Google-Extended, GPTBot, huggingface, ImagesiftBot, img2dataset, magpie-crawler, Meltwater, Neevabot, news-please, NewsNow, Nutch, omgili, omgilibot, panscient.com, Perplexity-ai, PerplexityBot, PetalBot, PiplBot, scoop.it, Scrapy, Seekr, SentiBot, SeznamBot, TurnitinBot, YouBot, ZumBot
ziffdavis.compartial*

Interpret the state carefully

“Allowed” means a selected group was observed without a blocking rule for the tested policy shape. “Partial” means at least one non-empty disallow path was observed. “No matching group” is silence, not an affirmative grant. None of these states authenticate the requester or establish legal permission.