GeoPromptTracker

AI crawler comparison

GPTBot vs ChatGPT-User: what's the difference?

One crawls the open web for training; the other fetches a single page because a person asked ChatGPT to look at it.

Short answer

They are not interchangeable. GPTBot handles AI model training, ChatGPT-User handles AI search and live answers. Blocking one has no effect on the other, so a robots.txt rule aimed at the wrong agent produces exactly the outcome you were trying to avoid.

Side by side

 GPTBotChatGPT-User
OperatorOpenAIOpenAI
PurposeAI model trainingAI search & live answers
robots.txtRespects robots.txtRespects robots.txt
Published IP rangesYes — verifiableYes — verifiable
Official docsYesYes
Blocking costs youNo traffic — training onlyAI-answer citations

What GPTBot does

GPTBot is OpenAI's web crawler for gathering training data. Content it collects may be used to improve future GPT models. It is OpenAI's broadest crawler, and the one most site owners mean when they talk about "blocking ChatGPT" — though blocking it does not remove you from ChatGPT's live search answers, which use OAI-SearchBot instead.

Full profile, with every robots.txt, nginx, Apache and Cloudflare rule: GPTBot.

What ChatGPT-User does

ChatGPT-User is not a crawler in the traditional sense: it fetches a specific page only when a ChatGPT user asks about it or when a GPT action calls out to the web. Traffic from it means real people are reaching your content through ChatGPT conversations.

Full profile, with every robots.txt, nginx, Apache and Cloudflare rule: ChatGPT-User.

Block both

robots.txt
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

Block GPTBot, allow ChatGPT-User

The split most sites want when the two agents do different jobs: opt out of one without giving up the other.

robots.txt
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Allow: /

Check your own site

Frequently asked questions

What is the difference between GPTBot and ChatGPT-User?

GPTBot is OpenAI's AI model training agent — Crawls content to train OpenAI's models. ChatGPT-User is OpenAI's AI search and live answers agent — Fetches pages a user asks ChatGPT to browse in real time. They are separate user agents with separate robots.txt rules.

Does blocking GPTBot also block ChatGPT-User?

No. robots.txt matches on the user-agent token, so a group naming GPTBot applies only to GPTBot. ChatGPT-User reads the group that names it, or the wildcard group if none does. To stop both you need a rule for each — or a wildcard rule, which would also affect every other crawler that reads it.

Should I block GPTBot, ChatGPT-User, or both?

It depends which outcome you want. Blocking GPTBot opts you out of OpenAI's model training and costs you no traffic today, because training crawlers send no visitors. Blocking ChatGPT-User removes you from the answers OpenAI's assistant shows its users. The common choice is to block training agents and allow search agents, so your content stays citable without feeding model training.

Do GPTBot and ChatGPT-User both respect robots.txt?

GPTBot: OpenAI documents GPTBot's IP ranges and states it honors robots.txt disallow rules. ChatGPT-User: OpenAI states ChatGPT-User honors robots.txt, though as a user-triggered fetcher it visits single pages rather than crawling.

Can I tell GPTBot and ChatGPT-User apart in my server logs?

Yes — they send different user-agent strings, so grep for each token separately: grep -i "GPTBot" and grep -i "ChatGPT-User". Be aware that a user-agent header is self-declared and anything can send either string. For a check that cannot be spoofed, match the request IP against the published ranges: GPTBot at https://openai.com/gptbot.json, ChatGPT-User at https://openai.com/chatgpt-user.json.

Other comparisons

Part of our directory of every known AI crawler. Last verified: 2026-08-14.