---
title: "GPTBot vs OAI-SearchBot vs ChatGPT-User, explained"
description: "GPTBot collects training data, OAI-SearchBot fills ChatGPT search and ChatGPT-User opens pages a user asks for. Exact user agents, IP lists, robots.txt and a test."
url: https://katman.pro/gptbot-vs-oai-searchbot-vs-chatgpt-user
lang: en
updated: 2026-10-21
---

Glossary Updated 21 Oct 2026

# GPTBot vs OAI-SearchBot vs ChatGPT-User: what’s the difference?

> OpenAI runs three main user agents. GPTBot crawls pages that may be used to train its models. OAI-SearchBot crawls pages so they can be shown in ChatGPT search, and opting out of it keeps you out of those answers. ChatGPT-User opens a page when a person in ChatGPT asks for it, and OpenAI says robots.txt may not apply to it. Each robots.txt setting is independent, so you can refuse training and still appear in ChatGPT search.

## The short answer

OpenAI uses three user agents you will meet in your logs, and each has its own robots.txt token. **GPTBot** is for training. **OAI-SearchBot** is for ChatGPT search. **ChatGPT-User** opens a page because a person asked ChatGPT to. OpenAI says each setting is independent, so a site can allow OAI-SearchBot to appear in search and disallow GPTBot to keep its content out of training (OpenAI, “Overview of OpenAI Crawlers”, read 15 Oct 2026). If both are allowed, OpenAI may use one crawl for both jobs.

## The three side by side

| Token | What it does | robots.txt | If you block it | Published IPs |
| --- | --- | --- | --- | --- |
| GPTBot | Crawls content that may be used to train OpenAI’s foundation models | Followed | Your content is marked as not for training. ChatGPT search is unaffected. | openai.com/gptbot.json |
| OAI-SearchBot | Crawls pages so they can be surfaced in ChatGPT’s search features | Followed; changes take about 24 hours | You aren’t shown in ChatGPT search answers (you may still appear as a navigational link) | openai.com/searchbot.json |
| ChatGPT-User | Visits a page when a user’s question in ChatGPT or a custom GPT needs it; not automatic crawling | May not apply, because a user started it | ChatGPT can’t open your page when a user asks for it; search inclusion isn’t affected | openai.com/chatgpt-user.json |

Source for every row: [OpenAI crawlers](https://developers.openai.com/api/docs/bots), read 15 Oct 2026. OpenAI lists a fourth agent, OAI-AdsBot, which only checks landing pages submitted as ChatGPT ads.

The user agent strings, as OpenAI publishes them on 15 Oct 2026 (it says the version numbers may change):

```text
GPTBot:        Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot
OAI-SearchBot: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot
ChatGPT-User:  Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
OAI-AdsBot:    Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-AdsBot/1.0; +https://openai.com/adsbot
```

When OAI-SearchBot fetches your robots.txt, its user agent may read `…OAI-SearchBot/1.4; robots.txt; +https://openai.com/searchbot`, and GPTBot may add a similar robots.txt marker, so those requests stand out in logs that don’t record paths.

## Which one decides whether ChatGPT can cite you

For search, it’s OAI-SearchBot. Block it and ChatGPT search has nothing of yours to quote, whatever you do with the others. ChatGPT-User matters when someone pastes your link into a chat: if your CDN returns a 403, ChatGPT can’t read the page even though the person asked for it. GPTBot affects what future models learn, not what ChatGPT search shows today. That makes it the one real choice you have to make; the other two should simply stay open.

## Example: a robots.txt that keeps you in ChatGPT

```text
User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: GPTBot
Allow: /

Sitemap: https://yoursite.com/sitemap.xml
```

The first two groups keep search and user-triggered fetches open. The GPTBot group is your training decision: to refuse training and stay in ChatGPT search, change its `Allow: /` to `Disallow: /` and leave the other two alone.

A bot follows only the most specific group that names it, so a `User-agent: *` block elsewhere in the file doesn’t apply to these three once they have their own groups. The same pattern for Claude, Perplexity, Google and the rest is on the [AI crawler user agents list](https://katman.pro/ai-crawler-user-agents-list).

## Test what each bot actually gets

robots.txt is a request; your CDN decides first. Test the door:

1.  Run this from your own machine (replace the URL):

```bash
URL=https://yoursite.com/
for ua in \
  "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36; compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot" \
  "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot"; do
  printf '%s  %s\n' "$(curl -s -o /dev/null -D - -A "$ua" "$URL" | head -n 1 | tr -d '\r')" "${ua##*compatible; }"
done
```

2.  Every line should start with `HTTP/2 200` (or `HTTP/1.1 200`). A 403 or a challenge page means a firewall rule matched the user agent; the usual cause is on [Cloudflare is blocking AI crawlers](https://katman.pro/cloudflare-blocking-ai-crawlers).
3.  If curl gets a 200 but your logs never show OpenAI, your firewall may filter by IP. OpenAI recommends allowing the ranges in `searchbot.json`. A spoofed user agent from your laptop can’t test IP rules.
4.  To check a log entry is genuine, match its IP against the JSON file for that bot. Anyone can type “GPTBot” into a user agent.

The free [AI crawler checker](https://katman.pro/tools/ai-crawler-checker) runs the same user agent test from your browser.

## What Katman does here, and what it can’t

[Katman](https://katman.pro/mcp) runs inside your AI coding tool. `katman_audit_site` reads your robots.txt for AI bot rules, tests bot access through your CDN, and tells your coding tool which line or setting to change; `katman_generate` writes a robots.txt from your own decision on training. Your coding tool makes the change; Katman checks it afterwards. Katman Pro is $99 a month for up to 3 sites, with fix prompts and page briefs uncapped. Or have us do it: [Growth](https://katman.pro/done-for-you) writes 30 pages a month for you.

It can’t imitate OpenAI’s IP addresses, so an IP-only rule shows up as “the logs stay empty”, not as a 403. And allowing OAI-SearchBot only opens the door: nobody can promise an assistant will recommend you. If the bots get a 200 and ChatGPT still doesn’t name you, read [why ChatGPT doesn’t recommend your brand](https://katman.pro/why-chatgpt-does-not-recommend-my-brand). Terms used here are defined in the [glossary](https://katman.pro/glossary).

Written by the Katman team, Rnify Limited. OpenAI’s crawler page checked 15 October 2026.

## Who this is not for

-   Owners who want to block every OpenAI visit: ChatGPT-User may not follow robots.txt, so that needs a firewall rule, which this page doesn’t cover.
-   Questions about Google, Anthropic or Perplexity bots: they are on the full AI crawler user agents list.
-   Proving that ChatGPT will cite you: allowing the right bot is a precondition, not a promise.

## Frequently asked questions

### Which OpenAI bot do I need to allow to show up in ChatGPT search?

OAI-SearchBot. OpenAI says sites opted out of OAI-SearchBot are not shown in ChatGPT search answers, though they can still appear as navigational links. Allow its IP ranges at your CDN too.

### Does ChatGPT-User respect robots.txt?

Not reliably. OpenAI says that because these visits are started by a user, robots.txt rules may not apply. It also says ChatGPT-User doesn’t decide whether content can appear in search.

### Can I allow OAI-SearchBot and block GPTBot?

Yes. OpenAI describes the two settings as independent and gives exactly that combination as its example: appear in search, keep your content out of training.

### Why do I see “robots.txt” inside an OpenAI user agent in my logs?

OpenAI may add a robots.txt marker to the OAI-SearchBot and GPTBot user agents when they fetch your robots.txt file, so you can tell those requests apart when your logs don’t record paths.

### How fast does ChatGPT notice a robots.txt change?

OpenAI says it can take about 24 hours for its search systems to adjust after you update robots.txt. OAI-SearchBot still has to crawl the pages afterwards.

### What is OAI-AdsBot?

A fourth OpenAI user agent that only visits landing pages submitted as ads on ChatGPT, to check them against OpenAI’s policies. OpenAI says its data isn’t used to train foundation models.

## Related pages

-   [**AI crawler user agents: the full list, with sources** Every AI crawler token, user agent, purpose and IP list from OpenAI, Anthropic, Google, Apple, Meta, Amazon, Perplexity and others, read on vendor docs 15 Oct 2026.](https://katman.pro/ai-crawler-user-agents-list)
-   [**Is Cloudflare blocking AI crawlers from my site?** robots.txt allows GPTBot but Cloudflare returns 403? The three AI bot types, the settings that block them, the 15 Sep 2026 change, a curl test and the fix.](https://katman.pro/cloudflare-blocking-ai-crawlers)
-   [**AI crawler checker** Free: we load your homepage as GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and 8 other bots, then show which ones your CDN blocks and what robots.txt says.](https://katman.pro/tools/ai-crawler-checker)
-   [**Glossary** Plain definitions of the terms behind AI visibility: GEO and AEO, AI crawlers, llms.txt, IndexNow, canonical, soft 404, situation pages and the Katman method.](https://katman.pro/glossary)
-   [**Why doesn't ChatGPT recommend my brand?** ChatGPT names your competitors but never you? Check the seven causes in order, from blocked AI bots to missing situation pages, with a test and a fix for each.](https://katman.pro/why-chatgpt-does-not-recommend-my-brand)
-   [**Katman MCP** Katman MCP runs in Cursor, Claude Code and VS Code: it scans your code, audits your live site like AI crawlers do and checks every fix. Katman Pro from $99/month.](https://katman.pro/mcp)

Updated 21 October 2026 · Katman
