OpenAILive fetchIP ranges published

What is ChatGPT-User?

ChatGPT-User is the user agent OpenAI sends when a person asks ChatGPT about a specific page and ChatGPT fetches it on the spot. It is a live-fetch agent: each request stands for one reader, arriving through an assistant instead of a browser. It is not used for training and not used to build OpenAI's search index.

User agent strings

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ChatGPT-User/1.0; +https://openai.com/bot

agenttraffic matches on the token ChatGPT-User.

What kind of agent it is

A live-fetch agent requests a page because a person just asked an assistant about it; each hit is a real reader, one request late.

Verification

OpenAI publishes IP ranges for this agent (204 prefixes, list dated 2026-08-14, specific to ChatGPT-User). agenttraffic checks every ChatGPT-User request against them and reports verified, spoofed, or unchecked when no client IP is available.

ChatGPT-User is one of the most impersonated UAs in server logs. Scanners and scrapers borrow it hoping to pass as assistant traffic, so the verified count and the spoofed count on its row are usually both non-zero. Only the verified number is a floor of real ChatGPT fetches.

robots.txt

The robots.txt token is ChatGPT-User. Copy one of these blocks:

# Allow
User-agent: ChatGPT-User
Allow: /

# Block
User-agent: ChatGPT-User
Disallow: /

What it means in your logs

A ChatGPT-User hit is the closest thing to a pageview an assistant produces. Someone was in a ChatGPT conversation, the model decided it needed your page to answer, and OpenAI fetched it. The person then read a summary, and possibly a link, inside ChatGPT. Your analytics script never ran, because the fetcher does not execute JavaScript, so this reader is invisible everywhere except the log line.

That is why agenttraffic files ChatGPT-User under live-fetch and lists the pages it fetched. The list is a map of what people are asking ChatGPT about on your site. A page that shows up here with no matching referral traffic is being consumed inside the assistant, which is worth knowing before deciding whether the page is "underperforming".

The same UA is used by ChatGPT agent mode, where the model browses on the person's behalf across several pages. Those sessions look like a short burst of fetches from one verified IP.

Verification details

OpenAI publishes a dedicated JSON list of IP ranges for ChatGPT-User, separate from the GPTBot and OAI-SearchBot lists. agenttraffic ships a snapshot of that list, records when OpenAI last changed it, and marks each request as verified (IP inside the list), spoofed (IP outside it), or unchecked (no client IP in the log). npx agenttraffic update refreshes the snapshot. The published ranges are the only reliable way to tell a real fetch from a scraper wearing the same string; the UA alone proves nothing.

Should you block it?

Blocking ChatGPT-User does not remove you from any index or training set. It only stops ChatGPT from reading your page when a user asks about it, and the user typically sees a message that the page could not be fetched. For most sites that is a loss with no offsetting gain. If a page must not be summarised (paywalled, legal, embargoed), block the specific path rather than the whole site.

Telling the OpenAI agents apart

OpenAI runs three public crawlers plus an ads bot. GPTBot collects training data. OAI-SearchBot builds the index behind ChatGPT search and its citations. ChatGPT-User fetches live for a conversation. Each one has its own token, its own IP list, and a different reason to allow or block it, so a robots.txt rule written for one should not be copied to the others.

See it in your logs

npx agenttraffic ./logs --days 7

Point it at CloudFront, nginx or Apache logs. ChatGPT-User appears under its own row with verified, spoofed and unchecked counts kept separate.

Related agents

FAQ

What is ChatGPT-User?

ChatGPT-User is the user agent OpenAI sends when a person asks ChatGPT about a specific page and ChatGPT fetches it on the spot. It is a live-fetch agent: each request stands for one reader, arriving through an assistant instead of a browser. It is not used for training and not used to build OpenAI's search index.

How do I verify ChatGPT-User traffic is real?

OpenAI publishes IP ranges for this agent (204 prefixes, list dated 2026-08-14, specific to ChatGPT-User). agenttraffic checks every ChatGPT-User request against them and reports verified, spoofed, or unchecked when no client IP is available.

How do I block ChatGPT-User in robots.txt?

Add "User-agent: ChatGPT-User" followed by "Disallow: /". OpenAI documents this token; whether it is honoured is up to the operator, and blocking is only enforced by their crawler, not by your server.

Does ChatGPT-User respect robots.txt?

OpenAI says ChatGPT-User honours robots.txt directives for the ChatGPT-User token, but because it fetches on behalf of a person who typed a URL, blocking it stops that person from getting an answer about your page rather than stopping a crawl.

Is ChatGPT-User the same as GPTBot?

No. GPTBot is OpenAI's training crawler and visits on its own schedule. ChatGPT-User only appears when a person's conversation needs your page right now. They have separate robots.txt tokens and separate published IP ranges.

Weekly: which agents read your site

Get told when the hosted weekly report exists. One email, no list.

Published 2026-08-28, updated 2026-08-28. Facts come from the agenttraffic registry.