GPTBot, OAI-SearchBot and ChatGPT-User: what each one does

By Michael Nefedov, noetio · Updated 21 October 2026

GPTBot is the OpenAI crawler for content that may be used in training. It is not the bot that decides if you show up in ChatGPT search. That job belongs to OAI-SearchBot.

Short answer

  • GPTBot = training. OAI-SearchBot = ChatGPT search. ChatGPT-User = user-started fetch.
  • OpenAI recommends allowing OAI-SearchBot. It says sites that opt out of it are not shown in ChatGPT search answers.
  • To opt out of training, disallow GPTBot. OpenAI says each setting is independent.

GPTBot vs OAI-SearchBot vs ChatGPT-User

OpenAI lists four user agents, and each one has a different job. They are on one page: developers.openai.com/api/docs/bots (“Overview of OpenAI Crawlers”, no date on the page), read on 21 October 2026. The user-agent versions below are what the page showed that day.

BotWhat OpenAI saysIf you block it
OAI-SearchBot
OAI-SearchBot/1.4
“OAI-SearchBot is for search.” It surfaces sites in ChatGPT's search features“Will not be shown in ChatGPT search answers, though can still appear as navigational links”
GPTBot
GPTBot/1.4
Crawls content “that may be used in training our generative AI foundation models”Indicates your content should not be used in training
ChatGPT-User
ChatGPT-User/1.0
When a user asks ChatGPT or a CustomGPT something, it may visit a page. Not used to crawl the web automaticallyOpenAI: robots.txt rules “may not apply” because a user starts the action
OAI-AdsBot
OAI-AdsBot/1.0
Validates the safety of pages submitted as ads on ChatGPT. Data not used for trainingNot relevant unless you advertise
“To help ensure your site appears in search results, we recommend allowing OAI-SearchBot in your site's robots.txt file and allowing requests from our published IP ranges below.”
OpenAI, Overview of OpenAI crawlers
OpenAI crawler documentation: the intro says each setting is independent and robots.txt changes can take about 24 hours for search results, then the OAI-SearchBot entry: sites opted out will not be shown in ChatGPT search answers though can still appear as navigational links, and OpenAI recommends allowing OAI-SearchBot and its published IP ranges
The intro and the OAI-SearchBot entry. Source: OpenAI, Overview of OpenAI Crawlers, captured 21 October 2026. Open full size.

Does GPTBot affect ChatGPT search visibility?

No: by OpenAI's own description, search appearance is tied to OAI-SearchBot, not GPTBot.ChatGPT-User is “not used to determine whether content may appear in Search”.

OpenAI crawler documentation: GPTBot is used to crawl content that may be used in training, disallowing it indicates content should not be used in training; ChatGPT-User acts on user requests, robots.txt rules may not apply, and it is not used to determine whether content may appear in Search
The GPTBot and ChatGPT-User entries, with their user-agent strings and IP list links. Source: OpenAI, Overview of OpenAI Crawlers, captured 21 October 2026. Open full size.

OpenAI does not say that allowing OAI-SearchBot will get you cited, or how it picks pages. For what may help, read how to get cited by ChatGPT and SEO vs GEO.

GPTBot robots.txt: copy and paste

Pick the snippet that matches your goal and paste it into robots.txt. The copy of the OpenAI page we read had no sample robots.txt. The snippets below use the user-agent names OpenAI lists. They follow the normal robots.txt format.

No training, visible in ChatGPT search

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

Allow all OpenAI bots

User-agent: GPTBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

Block all OpenAI bots

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

By OpenAI's description, this removes you from ChatGPT search answers, though your pages can still appear as navigational links. Because of the ChatGPT-User note above, it may also not stop user-started fetches.

Keep bots out of one folder only

User-agent: GPTBot
Disallow: /private/

User-agent: OAI-SearchBot
Disallow: /private/

Under RFC 9309, section 2.2.1, a crawler obeys the User-agent: * group only when no group matches its own token. If your * group hides folders, repeat those lines in each bot group.

RFC 9309 section 2.2.1: if no matching group exists crawlers must obey the group with a user-agent line with the * value; Figure 3 shows the * group as the applicable group for ExampleBot when only a BazBot group also exists
The rule behind that advice. Source: RFC 9309, Robots Exclusion Protocol, section 2.2.1 (IETF, September 2022), captured 21 October 2026. Open full size.

What we ran

All three user-agent strings got HTTP 200 from our own site. On 21 October 2026 we requested the home page of getcompassseo.com with curland the user-agent strings from OpenAI's page for GPTBot, OAI-SearchBot and ChatGPT-User. OpenAI labels the GPTBot and OAI-SearchBot strings as examples and the ChatGPT-User string as the full string. Use this to test your own site (GPTBot example string copied from OpenAI's page):

curl -s -o /dev/null -w "%{http_code}\n" \
  -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
  https://yoursite.com/

That only shows our server answers them. A CDN or firewall rule can return 403 to a bot that robots.txt allows, so run the test against your own site.

Check your logs

One awk command counts how often each OpenAI bot hits your site.

awk 'BEGIN{n=split("gptbot oai-searchbot chatgpt-user oai-adsbot",b," ")} {l=tolower($0); for(i=1;i<=n;i++) if(index(l,b[i])) c[b[i]]++} END{for(k in c) print c[k], k}' access.log | sort -rn

This counts each request once per bot, whatever the case. A plain grep -o would count GPTBot twice per request, because OpenAI's user-agent string contains the name twice (GPTBot/1.4; +https://openai.com/gptbot, copied from the OpenAI page).

Then compare IPs against OpenAI's lists: gptbot.json, searchbot.json, chatgpt-user.json. OpenAI also asks you to allow requests from its published IP ranges, so a firewall that blocks them can keep OAI-SearchBot out even when robots.txt allows it. More log tips are in the AI crawlers guide.

Caveats

Blocking is a request, not a lock.

  • OpenAI says that when it fetches robots.txt files it may add a robots.txt marker to the user-agent string. The marker helps you tell robots.txt requests from other requests in your logs.
  • If both GPTBot and OAI-SearchBot are allowed, OpenAI says it may use the results of one crawl for both uses.
  • OpenAI documents blocking as an indication for training use. It is a request, not a technical lock.

Anthropic splits its bots in a similar way: see ClaudeBot. For all owners side by side, see the AI crawlers table.

Sources

All read on 21 October 2026.

  1. OpenAI, Overview of OpenAI Crawlers, developers.openai.com/api/docs/bots (no date on the page). Used for every bot description, quote, user-agent version, the 24-hour note and the robots.txt marker.
  2. OpenAI, IP lists: openai.com/gptbot.json, openai.com/searchbot.json, openai.com/chatgpt-user.json. All three returned HTTP 200 on 21 October 2026.
  3. IETF, RFC 9309, Robots Exclusion Protocol (September 2022), section 2.2.1. Used for how a crawler picks its group.
  4. Our own curl tests of getcompassseo.com, run 21 October 2026, described in “What we ran”.

Questions

No. OpenAI ties ChatGPT search to OAI-SearchBot, not to GPTBot. Disallowing GPTBot is aimed at training. Keep OAI-SearchBot allowed for search. For the full plan, see how to get cited by ChatGPT.

OpenAI says that because ChatGPT-User actions are started by a user, robots.txt rules may not apply. It also says ChatGPT-User is not used to crawl the web automatically and is not used to decide whether content appears in search.

OpenAI says: "For search results, please note it can take ~24 hours from a site's robots.txt update for our systems to adjust." That line is about search results. It gives no timing for GPTBot and training.

OpenAI publishes IP address lists for each bot as JSON files: openai.com/gptbot.json, openai.com/searchbot.json and openai.com/chatgpt-user.json. Compare the request IP to the list. A user-agent name alone is easy to fake.

Yes. OAI-AdsBot checks the safety of pages submitted as ads on ChatGPT. OpenAI says its data is not used to train generative AI foundation models.

More guides

Turn your next topic into a useful page

Compass reads your website, helps you plan relevant topics and creates sourced article drafts. Review and approve the work, then send it to a connected CMS or export it.

Written by Michael Nefedov, founder of noetio. Updated 21 October 2026.