What Is GPTBot?

Flavio AmielWritten byFlavio Amiel Founder, Roborank
Updated July 14, 2026

GPTBot is OpenAI’s web crawler, introduced in August 2023, that collects publicly available web content to help train its generative AI models. It identifies itself with the GPTBot user-agent and obeys robots.txt. Blocking GPTBot opts a site out of model training but does not stop ChatGPT’s live browsing or its search results.

Key Takeaways

How GPTBot Works

GPTBot is the automated crawler OpenAI uses to gather publicly available text from the open web so that content can be considered for training future GPT models. OpenAI introduced it in August 2023, alongside documentation telling site owners exactly how to control it. Mechanically it behaves like any well-behaved search crawler: it requests pages over HTTP, identifies itself with a distinct user-agent, and reads your robots.txt before fetching.

The user-agent is the key to recognizing it. GPTBot’s requests carry a token containing the string GPTBot and a pointer back to https://openai.com/gptbot — for instance, Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot. Because user-agents can be forged, OpenAI also publishes the crawler’s IP ranges at openai.com/gptbot.json, so a server can confirm that a request claiming to be GPTBot actually originates from OpenAI’s infrastructure.

Two things GPTBot does not do are worth stating plainly, because most of the confusion around it lives here. GPTBot does not fetch pages to answer a live user question, and it does not build the index that ChatGPT searches. Its only job is collecting content that may be used to train models. That single-purpose scope is why a robots.txt rule aimed at GPTBot changes what future models learn from you, but changes nothing about how the current ChatGPT retrieves and cites you. If you want to shape what AI systems can retrieve rather than what they train on, you are looking at a different layer — the same layer addressed by an llms.txt file and by keeping the retrieval-facing agents unblocked.

GPTBot vs OAI-SearchBot vs ChatGPT-User

OpenAI operates three separate agents, each with its own user-agent, its own purpose, and its own robots.txt controls. Blocking one is not blocking all of them, and this is the single most important thing to understand about GPTBot.

Agent Purpose User-agent token robots.txt
GPTBot Collects content to train OpenAI’s models GPTBot Obeyed — block to opt out of training
OAI-SearchBot Builds the index behind ChatGPT search and citations OAI-SearchBot Obeyed — allow to stay citable in ChatGPT
ChatGPT-User Fetches a specific page when a person asks ChatGPT to read it ChatGPT-User User-initiated, not automated crawling

The practical consequence: if your goal is to stop your content from training models while remaining visible in ChatGPT’s answers, you block GPTBot and allow OAI-SearchBot. If you block everything with the word “bot” in it, you also remove yourself from the search index that feeds live answers — the opposite of what most publishers actually want. And ChatGPT-User is different again: it fires only when a human pastes your URL or explicitly asks ChatGPT to open a page, so OpenAI treats it as a user action rather than crawling that determines search eligibility.

How to Allow or Block GPTBot

GPTBot obeys the Robots Exclusion Protocol, so control lives in the robots.txt file at your site root. To block GPTBot entirely, add:

User-agent: GPTBot
Disallow: /

To keep GPTBot out of just part of the site — say a members area and a checkout flow — disallow only those paths:

User-agent: GPTBot
Disallow: /members/
Disallow: /checkout/

To explicitly allow it, either omit any GPTBot rule (the default is allow) or state it directly:

User-agent: GPTBot
Allow: /

The critical detail is that each agent must be named separately. A block on GPTBot says nothing about OAI-SearchBot or ChatGPT-User. If you want to opt out of training but stay in ChatGPT’s search results, your file needs two distinct stanzas — one disallowing GPTBot, one allowing OAI-SearchBot. Give changes time to register: OpenAI notes it can take roughly a day for a robots.txt edit to be reflected on its side.

Example of GPTBot

Picture a mid-size travel publisher that reads a headline about AI scraping and decides to “block the AI bots.” An engineer adds a broad rule that disallows every user-agent containing “GPT,” reasoning it will catch OpenAI’s crawlers in one stroke. Training traffic from GPTBot does drop to zero, exactly as intended.

Three months later, the marketing team notices the site has disappeared from ChatGPT’s cited sources for the destination guides it used to dominate. A competitor is now the source ChatGPT quotes. The cause is not a ranking change or a content problem — it is the robots.txt rule. The overly broad block also matched OAI-SearchBot, the agent responsible for the ChatGPT search index, so the publisher had quietly removed itself from the very system that surfaces live citations.

The fix is to separate the two intentions. The publisher rewrites robots.txt with an explicit GPTBot block (opting out of training) and an explicit OAI-SearchBot allow (opting back into search visibility), then verifies with server logs — cross-checking incoming requests against OpenAI’s published IP ranges — that OAI-SearchBot is once again crawling the guides. Within weeks the destination pages return to ChatGPT’s cited sources, while the training opt-out stays firmly in place.

The thing people get wrong

The mistake I see most often is a team pasting "block GPTBot" into robots.txt because a blog post told them to "keep AI out," then wondering months later why they have vanished from ChatGPT’s cited sources. Those are two different doors. GPTBot governs whether your words help train the next model; OAI-SearchBot governs whether ChatGPT can find and quote you today. Block GPTBot and you are only opting out of training — a defensible choice for a paywalled archive or proprietary research. But if the same rule accidentally scoops up OAI-SearchBot, you have quietly deleted yourself from the search index that feeds live answers. Read your robots.txt agent by agent. "AI crawler" is not one thing, and one line does not control all of it.

The takeaway is that GPTBot is a precise instrument, not a blanket AI switch. It answers exactly one question — may OpenAI train on this content? — and every other question about how AI systems find, read, and cite your pages is governed by a different agent with a different name. Manage them individually, verify with IP ranges, and decide the training question on its own merits rather than bundling it with visibility you probably want to keep.

Frequently Asked Questions

Does blocking GPTBot remove my site from ChatGPT?
No. GPTBot only collects training data. ChatGPT’s live answers are powered by OAI-SearchBot (the search index) and ChatGPT-User (user-triggered fetches). To stay visible in ChatGPT while opting out of training, block GPTBot but allow OAI-SearchBot.
What is the GPTBot user-agent string?
GPTBot identifies itself with a user-agent containing the token GPTBot and the URL https://openai.com/gptbot — for example, Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot. OpenAI also publishes its IP ranges at openai.com/gptbot.json for verification.
How do I block GPTBot?
Add two lines to your robots.txt at the site root: User-agent: GPTBot followed by Disallow: /. GPTBot obeys robots.txt, so this stops it from collecting your content for training. To block only part of the site, disallow specific paths instead.
Does GPTBot obey robots.txt?
Yes. GPTBot respects robots.txt directives and OpenAI documents how to allow or disallow it. Note that ChatGPT-User, which fetches a page when a person explicitly asks ChatGPT to read it, is a user-initiated action and is not treated as automated crawling.

The Bottom Line

GPTBot is the training crawler in OpenAI’s three-agent lineup, and treating it as a single on/off switch for "AI" is how sites accidentally erase themselves from ChatGPT. Decide the training question and the visibility question separately: block GPTBot if you do not want your content in future models, but keep OAI-SearchBot open if you want to be cited in AI answers. Manage each agent by its own name in robots.txt, and verify traffic against OpenAI’s published IP ranges.

Sources

  1. Overview of OpenAI CrawlersOpenAI
  2. GPTBot: OpenAI's new web crawlerSearch Engine Land

Rank & Cash — the weekly SEO breakdown

One practical teardown a week on ranking in search and getting cited by AI. No fluff.