ChatGPT-User: OpenAI's Answer Crawler
What is ChatGPT-User?
ChatGPT-User visits a page when a person asks ChatGPT or a Custom GPT a question, or when a GPT Action calls out. It does not crawl automatically. ChatGPT-User fetches only when a person asks, and OpenAI states robots.txt may not apply to it, which is not true of GPTBot or OAI-SearchBot.
Key facts
- ChatGPT-User is operated by OpenAI, and its purpose is live fetch: fetches a page in real time because a person asked.
- The user agent for ChatGPT-User is documented by OpenAI and contains the token ChatGPT-User.
- The robots.txt token for ChatGPT-User is ChatGPT-User, and OpenAI states that rule may not apply, because a person starts the request.
- ChatGPT-User can send a visitor to your site, and ChatGPT-User attaches a linked citation when it uses your content.
Specification
| Operator | OpenAI |
|---|---|
| Purpose | Live fetchFetches a page in real time because a person asked. Traffic here tracks human interest, not a crawl schedule. |
| Agent kind | FetcherFetches on a person's request. Appears in your logs. Request volume follows human activity. |
| User agent | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot |
| robots.txt token | ChatGPT-User |
| robots.txt compliance | Operator states robots.txt may not apply (user initiated) |
| Verification | Published IP range filehttps://openai.com/chatgpt-user.json |
| Sends referral traffic | Yes |
| Attaches a citation | Yes |
| Status | Active |
| Legacy Kymo category | ai_answer |
| Source | Operator documentationhttps://developers.openai.com/api/docs/bots |
| Verified on |
What this looks like in your logs
203.0.113.42 - - [04/Aug/2026:09:14:07 +0000] "GET /pricing HTTP/1.1" 200 18432 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot"
The part that identifies the request is the token ChatGPT-User, inside the quoted user-agent field at the end of the line. Everything before it is the ordinary shape of a Common Log Format entry, and the address shown is a documentation address rather than one OpenAI uses.
What ChatGPT-User does not do
ChatGPT-User does not guarantee a visit, because a read only becomes a visit if a person clicks the citation that came out of it.
ChatGPT-User does not crawl on a schedule, because it only requests a page when a person has already asked something that needs it.
OpenAI publishes no crawl frequency for ChatGPT-User, so any schedule you read elsewhere is somebody's estimate rather than a documented figure.
How Kymo classifies it
Kymo files ChatGPT-User under OpenAI as ai_answer, classified from the HTTP request on the server rather than from anything running in a browser.
A hit from ChatGPT-User counts in the reads on the AI Traffic page. An answer crawl is the only kind made for one person's question, so it is the only kind counted beside the people AI sent you.
Seen on our own sites
| Last seen | 2 Nov 2026 |
|---|---|
| Days active, last 30 days | 31 |
| Requests, last 30 days | 8,785 |
Counted by Kymo on kymo.in and remotestack.in, the two sites we run, up to 2 Nov 2026. Two sites is a small sample. Treat these numbers as proof the bot is active now.
Allow it or block it
OpenAI states that because these actions are user-initiated, robots.txt rules may not apply. ChatGPT-User does not govern whether content appears in ChatGPT search; use OAI-SearchBot for that. Hits from this agent indicate real people, so treat a spike as demand rather than crawl load.
| Allow it if | Block it if |
|---|---|
| You want OpenAI to read your live page when a person asks about you, which is the crawl most likely to send a real visitor. | You do not want your page read during a live question. Check the compliance row first: a fetcher started by a person may need an edge rule rather than a robots.txt rule. |
robots.txt directives
Both blocks below address ChatGPT-User only. Rules for one token never apply to another, even from the same operator.
Allow ChatGPT-User
User-agent: ChatGPT-User Allow: /
Block ChatGPT-User
User-agent: ChatGPT-User Disallow: /
Questions
How do I know a request claiming to be ChatGPT-User is genuine?
OpenAI publishes the IP ranges ChatGPT-User uses at https://openai.com/chatgpt-user.json. Check the requesting address against that file. A user-agent string alone proves nothing, because anyone can send one.
Does blocking ChatGPT-User also block GPTBot?
No. ChatGPT-User and GPTBot are separate tokens, and OpenAI treats each one on its own. A rule naming ChatGPT-User leaves GPTBot free to carry on collecting your content for OpenAI model training. To stop that as well, name GPTBot in a rule of its own.
Will I see ChatGPT-User in Google Analytics?
No. Google Analytics runs a JavaScript tag in a visitor's browser, and ChatGPT-User reads your HTML and leaves without running any script. Server-side logging is the only way to record it.
Does ChatGPT-User send traffic back to my site?
Yes. ChatGPT-User builds an index that OpenAI cites its sources from, and a citation there is a link a person can click. A crawl is still not a visit, so expect the read count to run far ahead of the click count.
Related crawlers
All AI crawlers and control tokens
See this bot in your own logs
ChatGPT-User arrives because a person just asked OpenAI something, and a browser tag never runs in time to record the moment.
Kymo reads the HTTP request on your server, so a crawler that never runs JavaScript is still recorded. You see which bots reached the site, which pages they took and how often, next to your human traffic.
Start free → 14-day free trial. No card required.
No account yet? Run a free AI visibility check on your own site.