AI Search Knowledge Base

AI search glossary

What Is GPTBot, and Should Your Robots.txt Allow It?

GPTBot is OpenAI’s training crawler, and it is easy to confuse with the crawler behind ChatGPT search. This entry separates OpenAI’s four bots and gives robots.txt rules you can copy.

What is GPTBot? The short answer

GPTBot is OpenAI’s web crawler for content that may be used to train its generative AI foundation models. You control it with a GPTBot group in robots.txt. Blocking it tells OpenAI not to train on your pages, but it does not remove you from ChatGPT search, which uses a separate crawler, OAI-SearchBot.

Key takeaways

  • GPTBot is for model training. OAI-SearchBot is for ChatGPT search. Each has its own robots.txt token.
  • OpenAI runs four agents in all. ChatGPT-User and OAI-AdsBot are the other two.
  • Verify visits by user agent and by IP, using openai.com/gptbot.json.
  • A firewall or CDN rule can undo a friendly robots.txt without you noticing.
  • OpenAI says search changes take about 24 hours. A GPTBot block does not erase past data.
What is GPTBot: OpenAI's four bots and what each one does
Four agents, four jobs: training, search, user-requested visits and ad checks.

GPTBot: how it works (user agent, robots.txt marker and IP list)

OpenAI’s training crawler behaves like other well-mannered bots. It names itself in the user-agent string, reads robots.txt, and fetches only what the rules allow.

OpenAI’s Overview of OpenAI Crawlers gives this example user-agent string, and warns that the version number may change:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot

When it fetches robots.txt, the crawler may add a “robots.txt” marker to that string. OpenAI says this helps owners spot robots.txt requests when their logs leave out the path.

The crawler’s IP ranges are published at openai.com/gptbot.json. The copy we fetched for this entry listed 18 IPv4 prefixes, with a creation time of 22 September 2026.

The list changes, so read it fresh each time rather than copying ranges into a firewall once.

GPTBot vs OAI-SearchBot vs ChatGPT-User vs OAI-AdsBot

GPTBot is one of four OpenAI agents. Each setting is independent of the others. The table follows OpenAI’s crawler page, checked on 21 October 2026.

OpenAI’s four user agents, per OpenAI’s documentation
AgentJobExample token and versionRobots.txtIP list
GPTBotCrawls content that may train foundation modelsGPTBot/1.4Followed. A block signals no training use.gptbot.json
OAI-SearchBotSurfaces sites in ChatGPT searchOAI-SearchBot/1.4Followed. Blocked sites are left out of search answers.searchbot.json
ChatGPT-UserVisits pages for user actions in ChatGPT and custom GPTsChatGPT-User/1.0May not apply, because a user started the visitchatgpt-user.json
OAI-AdsBotChecks landing pages submitted as ChatGPT adsOAI-AdsBot/1.0Visits only submitted ad pagesadsbot.json

OpenAI adds that if you allow both the training and search bots, it may use one crawl for both, to avoid crawling twice.

Two more details matter. OAI-SearchBot-blocked sites can still show as navigational links. OAI-AdsBot data, OpenAI says, is not used to train foundation models.

GPTBot for a business: why the training decision matters

GPTBot decides one thing only: whether your public pages may feed future OpenAI models. That is a business choice, and it deserves a deliberate answer.

A publisher that licenses its archive may block training. A service firm that wants its name, prices and expertise widely known may allow it, so later models describe it accurately.

Digital Magma takes the second view for its own site. Our robots.txt allows all four OpenAI agents, each in its own named group, with the same admin exclusions repeated in every group.

The costly mistake is mixing the decisions up. A site that blocks “all AI bots” in one sweep stays out of training, and out of ChatGPT search answers as well.

Other AI companies split training the same way. Anthropic’s help article says restricting ClaudeBot signals that future material should be left out of its training data.

Google handles it with a control token. Google-Extended has no user-agent string of its own. It exists only as a robots.txt token, so blocking it does not stop Googlebot.

So write the two answers down separately: training yes or no, and search yes or no. Then set the groups to match.

Digital Magma recommends starting every crawler audit with these two questions, because the answers settle every rule that follows.

GPTBot: what to do (robots.txt rules you can copy)

Each rule below uses the tokens OpenAI documents. Pick the block that matches your decision.

# 1. Block training, stay in ChatGPT search
User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

# 2. Allow training, but keep one folder out
User-agent: GPTBot
Allow: /
Disallow: /members/

# 3. Allow everything for both
User-agent: GPTBot
User-agent: OAI-SearchBot
Allow: /
Use one block, not all three. Repeat any wildcard Disallow lines inside each named group.

Then work through four checks, in this order:

  1. Place the file at the root. Crawlers only read /robots.txt at the top of each host.
  2. Copy your shared exclusions. Under RFC 9309, a crawler with its own group ignores the * group. Admin and login paths must be repeated.
  3. Check the CDN and firewall. Allow OpenAI’s published IP ranges, or a bot rule may block what robots.txt allows.
  4. Wait, then verify. OpenAI says search changes take about 24 hours. Then confirm in your logs.

Google’s robots.txt introduction covers the general syntax if you are new to the file.

A note on matching. RFC 9309 says crawlers must match the user-agent group without regard to case, so “gptbot” and “GPTBot” both work. Digital Magma still writes the token exactly as OpenAI does, for readability.

How to verify GPTBot in server logs

Verifying GPTBot in logs takes two matches: the user-agent string and the source IP. Anyone can fake the name, so the name alone proves nothing.

Start by pulling the matching lines from your access log. On most Linux hosts this works:

grep "GPTBot" /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn

That lists each IP that used the name, with a count. Next, check each IP against the prefixes in gptbot.json.

An address inside a listed prefix is a real OpenAI crawl. Anything outside is an impostor, and you can block it without touching robots.txt.

Look for the GPTBot token, the robots.txt marker on robots.txt fetches, and an IP from OpenAI’s list.

On a CDN such as Cloudflare, use the bot or firewall event log instead. It shows the user agent, the IP and whether a rule blocked the request.

When Digital Magma audits a site, this log check comes before any robots.txt edit. It shows what is really happening, not what the file intends.

GPTBot mistakes: blocking search by accident, CDN rules and noindex confusion

Most GPTBot mistakes come from treating OpenAI as a single bot, or robots.txt as the only control.

  • Blocking search by accident. A “block AI bots” toggle or plugin may include OAI-SearchBot. Read the generated file and check which tokens it lists.
  • Forgetting the CDN. OpenAI’s help article on ChatGPT search asks owners to confirm the host or CDN allows its published IP addresses.
  • Losing shared rules. A named group with only “Allow: /” drops every Disallow from the * group for that crawler.
  • Expecting noindex to work. OpenAI’s crawler page names robots.txt tokens as the control. It does not mention noindex.
  • Blocking the page you want removed. Google warns that a robots.txt block stops its crawler from ever seeing a noindex rule.
  • Hard-coding the version. Match “GPTBot”, not “GPTBot/1.4”. OpenAI says the number may change.

Treat robots.txt as a request. RFC 9309 says its rules “are not a form of access authorization”. Private content needs a login.

GPTBot: frequently asked questions

Short answers to the GPTBot questions site owners ask Digital Magma most.

What is GPTBot used for?

OpenAI uses it to crawl public content that may be used to train its generative AI foundation models. It has no say in whether your site appears in ChatGPT search. That is OAI-SearchBot’s job.

Does blocking GPTBot remove my site from ChatGPT?

It does not remove you from ChatGPT search. OpenAI says the settings are independent, and search inclusion depends on OAI-SearchBot. The training block only signals that your pages should not train models.

How do I block GPTBot in robots.txt?

Add a group with “User-agent: GPTBot” and “Disallow: /”. Add a separate OAI-SearchBot group with “Allow: /” if you still want ChatGPT search visibility.

What is the GPTBot user agent string?

OpenAI’s current example names version 1.4 and links to openai.com/gptbot. The version may change, so match the token “GPTBot” rather than the full string.

Does blocking GPTBot remove content already collected?

OpenAI’s crawler page describes what a block signals for training. It does not say a new block removes content collected earlier. Check OpenAI’s privacy policies if that matters to you.

How do I know whether GPTBot has visited my site?

Search your server or CDN logs for “GPTBot”, then check each source IP against openai.com/gptbot.json. A matching name from an unlisted IP is not OpenAI.

Is GPTBot the same as ChatGPT-User?

They are different agents. GPTBot crawls automatically. ChatGPT-User visits a page when a user’s request needs it, and robots.txt rules may not apply to those visits.

Why does the GPTBot version number change?

OpenAI updates its crawlers and says the version number may change. It gives no schedule. Rules and log filters should match the name, never a fixed version.

GPTBot rules that keep ChatGPT search open

Digital Magma audits robots.txt, CDN rules and server logs for GPTBot, OAI-SearchBot and other AI crawlers. See our ChatGPT SEO service or book a free SEO audit.

No ChatGPT citation is guaranteed. Call +91 79823 19697, email contact@digitalmagma.com or message on WhatsApp (Mon–Sat, 9 am–9 pm IST). You can read our Google reviews before you get in touch.