GPTBot, OAI-SearchBot and ChatGPT-User Compared

Marketing team deciding whether to block gptbot

GPTBot is OpenAI’s web crawler for collecting content that may be used to train its foundation models. It is separate from OAI-SearchBot, which decides whether your pages can appear in ChatGPT search, and from ChatGPT-User, which fetches a page when someone asks ChatGPT about it. Blocking GPTBot opts you out of training without removing you from ChatGPT search results.

This guide compares the three bots attribute by attribute, gives tested robots.txt rules for each policy, explains when a ChatGPT block doesn’t hold, and shows how to measure the effect on your ChatGPT citations.

GPTBot, OAI-SearchBot and ChatGPT-User compared

OpenAI documents its user agents on the Overview of OpenAI Crawlers page. As of October 2026 it lists four. The three that matter for most sites are compared below. The fourth, OAI-AdsBot, only visits landing pages submitted as ChatGPT ads and does not feed training.

Data center corridor where openai crawlers operate
Gptbot, oai-searchbot and chatgpt-user compared 3
Attribute GPTBot OAI-SearchBot ChatGPT-User
Job Crawls content that may be used to train generative AI foundation models Surfaces sites in ChatGPT search results Visits pages when a user asks ChatGPT or a custom GPT a question, or a GPT Action runs
Trigger Automatic crawling Automatic crawling A user’s request
robots.txt token GPTBot OAI-SearchBot ChatGPT-User
Follows robots.txt Yes Yes OpenAI says rules may not apply, because a user started the fetch
Effect of a disallow Signals your content should not be used for training Pages are not shown in ChatGPT search answers, though they can still appear as navigational links Not a reliable opt-out. It does not decide search eligibility either
User-agent string contains GPTBot/1.4; +https://openai.com/gptbot OAI-SearchBot/1.4; +https://openai.com/searchbot ChatGPT-User/1.0; +https://openai.com/bot
Published IP list openai.com/gptbot.json openai.com/searchbot.json openai.com/chatgpt-user.json

Version numbers in the strings change over time, so match on the token, not the full string. When OpenAI fetches your robots.txt itself, it may add a robots.txt marker to the user agent so you can spot those requests in your logs.

Two more details from OpenAI’s documentation change how you plan. Search changes take about 24 hours to apply after you edit robots.txt. And if you allow both GPTBot and OAI-SearchBot, OpenAI may run a single crawl and use the results for both purposes. That reuse stops once you disallow GPTBot. For the bots other companies run, see the complete AI crawlers list, and for Anthropic’s near-identical three-way split, see ClaudeBot, Claude-SearchBot and Claude-User.

How each OpenAI bot shapes your visibility in ChatGPT

ChatGPT can mention your brand in two ways. It can answer from what the model learned during training, or it can search the web and cite pages. The three bots map onto those paths.

  • GPTBot affects the training path, slowly. A block only applies to future training runs. Current models keep whatever they already learned, so you won’t see an immediate change in how ChatGPT describes you.
  • OAI-SearchBot controls the search path directly. OpenAI’s publisher FAQ says any public site can appear in ChatGPT search unless it blocks OAI-SearchBot. Block it and your pages stop being cited in search answers within about a day.
  • ChatGPT-User handles the live-read path. When a user pastes your URL or ChatGPT needs a specific page, ChatGPT-User fetches it. Because OpenAI says robots.txt may not apply, you can’t depend on a disallow to stop it.

OpenAI’s launch post says ChatGPT search uses third-party search providers plus content from partners, without naming the providers. In a February 2025 study, Seer Interactive found that 87% or more of ChatGPT’s citations matched Bing’s top-20 results. So OAI-SearchBot access is necessary but not sufficient. Your pages also need to be findable in the wider search ecosystem. What else drives ChatGPT recommendations is covered in how to rank in ChatGPT and get your brand recommended.

How to block GPTBot and stay visible in ChatGPT search

Each OpenAI token is independent, and OpenAI explicitly allows the mix of blocking GPTBot while allowing OAI-SearchBot. Keep in mind that a group naming a bot replaces your User-agent: * rules for that bot, so repeat private paths inside each named group.

Block GPTBot only (recommended for most brands)

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
User-agent: ChatGPT-User
Disallow: /cart/
Disallow: /account/

User-agent: *
Disallow: /cart/
Disallow: /account/

Sitemap: https://www.example.com/sitemap.xml

Keep part of the site out of training only

Useful when you publish both marketing pages and premium content. Search keeps everything public, training skips the premium section.

User-agent: GPTBot
Disallow: /research/
Disallow: /courses/
Disallow: /cart/
Disallow: /account/

User-agent: OAI-SearchBot
Disallow: /cart/
Disallow: /account/

Block all OpenAI bots

This removes your pages from ChatGPT search citations and training. ChatGPT-User may still fetch a page a user pastes, and pages found through third-party search may still show as a link and title only.

User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
Disallow: /

Remove a single page from ChatGPT search

Robots.txt can’t do this cleanly. OpenAI’s FAQ says to use noindex, and the crawler must be able to fetch the page to see that tag. So keep OAI-SearchBot allowed on that URL and add the meta tag:

<meta name="robots" content="noindex">

Block GPTBot or not, a worked decision

Here is a worked example with simple numbers. Take a B2B software company with 400 blog posts, 60 product and pricing pages, and a 30-page paid knowledge base for customers.

Section Pages GPTBot OAI-SearchBot Why
Product and pricing 60 Allow or block (low stakes) Allow These are the pages you want ChatGPT to quote when buyers compare vendors.
Blog 400 Block if you object to training Allow Citations in ChatGPT search send referral traffic. Training sends none.
Paid knowledge base 30 Block Block, plus a login Paid content should not be summarised for free in any answer.

The result is that 460 of the 490 pages, or 94%, stay eligible for ChatGPT search, and 100% of them can be opted out of training. Blocking everything would cut ChatGPT search eligibility from 460 pages to zero to protect 30.

The open question is the training path. A brand that refuses training may, over future model generations, be mentioned less often when ChatGPT answers without searching. No published controlled study measures that effect yet, so treat it as a risk to watch rather than a known cost. Companies that live on brand discovery sometimes keep GPTBot allowed for that reason. Publishers whose text is the product usually block it.

If you want ChatGPT to quote your pages, the bot rules only get you eligible. The content work that follows is covered in how AI search engines choose which sources to cite.

Common GPTBot mistakes and how to verify OpenAI traffic

  • Blocking GPTBot and expecting to vanish from ChatGPT. GPTBot only covers training. Search and live reads use the other two bots.
  • Blocking OAI-SearchBot by accident. A broad User-agent: * with Disallow: / or a CDN “block AI bots” toggle can catch it. Check for 403 responses in your logs.
  • Trusting the user-agent string. Scrapers fake it. Compare source IPs with openai.com/gptbot.json, searchbot.json and chatgpt-user.json.
  • Treating a ChatGPT-User disallow as a guarantee. OpenAI says robots.txt may not apply to user-initiated fetches. Use authentication for anything private.
  • Reading too much into one week. Allow for the 24-hour cache, then measure across many runs, because ChatGPT answers vary from one run to the next.

To check how often each OpenAI bot hits you and what it gets back, run this against a standard access log:

for bot in GPTBot OAI-SearchBot ChatGPT-User; do
  echo "$bot"
  grep -i "$bot" access.log | awk '{print $9}' | sort | uniq -c | sort -rn
done

Logs show access, not results. To see whether a policy change moved your citations, track the same prompts in ChatGPT before and after. Asheard’s AI visibility tracking records mentions, citations, position and sentiment in ChatGPT and nine other engines, so a ChatGPT-only drop after a robots.txt edit is easy to separate from normal run-to-run swings. Clicks arrive with utm_source=chatgpt.com when ChatGPT tags them, which you can isolate in GA4 with a source-based channel rule. In October 2026 a reported ChatGPT bug briefly dropped those tags and sent clicks to Direct, so check both channels.

Frequently asked questions

What is GPTBot?

GPTBot is OpenAI’s web crawler for collecting publicly available content that may be used to train its generative AI foundation models. It identifies itself with GPTBot in the user-agent string, follows robots.txt, and crawls from IP ranges OpenAI publishes at openai.com/gptbot.json. It does not decide whether your site appears in ChatGPT search.

Does blocking GPTBot affect ChatGPT search?

No. ChatGPT search inclusion depends on OAI-SearchBot, which OpenAI treats as a separate setting. You can disallow GPTBot and allow OAI-SearchBot in the same robots.txt. The only side effect is that OpenAI can no longer reuse one crawl for both purposes, so OAI-SearchBot crawls on its own schedule.

What is OAI-SearchBot?

OAI-SearchBot is the OpenAI crawler that makes pages eligible to appear and be cited in ChatGPT search. If you block it, your pages won’t appear in search answers, although they may still show as navigational links. OpenAI says robots.txt changes for it take about 24 hours to take effect.

Can I block ChatGPT-User?

You can add a disallow rule, but OpenAI says robots.txt rules may not apply because ChatGPT-User acts on a person’s request. It is not used for automatic crawling or for search eligibility. To keep content away from it reliably, put that content behind a login or block it at the server level.

How long does a GPTBot or OAI-SearchBot change take?

OpenAI says search-related robots.txt changes take about 24 hours to be reflected. A GPTBot block applies to future crawling and training only. Anything collected before the change may remain in models already trained, so it won’t change what current ChatGPT models know about your brand.