Clarity before claims.A method you can inspect
A practical guide

What is OAI-SearchBot?

Understand OAI-SearchBot, how it differs from GPTBot and ChatGPT-User, how to control search vs training independently, and how to verify real OpenAI crawler requests.

By My AI Search ReportUpdated
Four-part editorial diagram: question, evidence, checks and next step

OAI-SearchBot is OpenAI’s web crawler for surfacing websites in ChatGPT’s search features. Allowing it helps your pages appear in ChatGPT search answers; opting out removes your pages from those answers while they may still show as plain navigational links. Control of OAI-SearchBot (search) is independent from GPTBot (training), and from ChatGPT-User (user-initiated fetching) (https://developers.openai.com/api/docs/bots).

What OAI-SearchBot does

OpenAI states that OAI-SearchBot is used to “surface websites in search results in ChatGPT’s search features.” If a site is opted out of OAI-SearchBot, it “will not be shown in ChatGPT search answers, though can still appear as navigational links.” OpenAI recommends allowing OAI-SearchBot in robots.txt and allowing requests from their published IP ranges to help ensure inclusion. It can take around 24 hours after a robots.txt change for systems to adjust (https://developers.openai.com/api/docs/bots).

How it differs from GPTBot and ChatGPT-User

  • OAI-SearchBot: For search only. Controls whether your content can be pulled into ChatGPT search answers (https://developers.openai.com/api/docs/bots).
  • GPTBot: For training generative AI foundation models. Disallowing GPTBot indicates your content should not be used to train OpenAI’s models (https://developers.openai.com/api/docs/bots).
  • ChatGPT-User: Used when a ChatGPT user or Custom GPT visits a page via a user-initiated action. It’s not an automatic crawler, robots.txt may not apply to these user-initiated fetches, and it’s not used to decide what appears in Search. Use OAI-SearchBot rules for Search inclusion/opt-outs (https://developers.openai.com/api/docs/bots).

OpenAI notes these settings are independent. You can allow OAI-SearchBot (to appear in ChatGPT search) while disallowing GPTBot (to avoid training). If both are allowed, OpenAI may use results from one crawl to avoid duplicate crawling (https://developers.openai.com/api/docs/bots).

Control search and training independently in robots.txt

The following examples show common, source-aligned patterns using the specific OpenAI user-agent names. Adjust paths as needed for your site.

Appear in ChatGPT Search, opt out of model training

# Allow OAI-SearchBot (search)
User-agent: OAI-SearchBot
Allow: /

# Disallow GPTBot (training)
User-agent: GPTBot
Disallow: /

After changes, allow ~24 hours for ChatGPT search adjustments (https://developers.openai.com/api/docs/bots).

Opt out of ChatGPT Search but leave training decisions separate

# Disallow OAI-SearchBot (search)
User-agent: OAI-SearchBot
Disallow: /

# (Optional) Keep other bots unchanged; decide about GPTBot separately

Verify a request is really from OpenAI

To reduce false positives and avoid blocking genuine access, check the markers OpenAI documents:

  • User-agent string: OAI-SearchBot includes a clear identifier and version. Example (version may change):
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

When fetching robots.txt, you may see a robots.txt marker to distinguish file fetches from other requests:

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; robots.txt; +https://openai.com/searchbot

Other documented agents for comparison:

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

# ChatGPT-User (user-initiated, not an automatic crawler)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot
  • IP ranges: Compare the request’s source IP to OpenAI’s published JSON lists to confirm origin and allowlist if needed:
    • OAI-SearchBot IPs: https://openai.com/searchbot.json
    • GPTBot IPs: https://openai.com/gptbot.json
    • ChatGPT-User IPs: https://openai.com/chatgpt-user.json

For a broader, step-by-step process to validate crawlers without exposing private pages, use our guide: How to verify search and AI crawler access without exposing private pages.

When to expect changes

For ChatGPT search results, OpenAI indicates it can take about 24 hours after a robots.txt update for systems to adjust (https://developers.openai.com/api/docs/bots). Training-related effects from GPTBot allow/deny depend on when content is crawled and processed.

Actionable checklist

FAQ

Can I allow ChatGPT search but block training?

Yes. Allow OAI-SearchBot and disallow GPTBot in robots.txt. OpenAI confirms these controls are independent (https://developers.openai.com/api/docs/bots).

Does robots.txt apply to ChatGPT-User?

ChatGPT-User is used for user-initiated actions and is not an automatic crawler. Because these actions are initiated by a user, robots.txt rules may not apply. It is not used to determine whether content can appear in Search (https://developers.openai.com/api/docs/bots).

How long do OAI-SearchBot changes take?

OpenAI notes it can take about 24 hours for search results to adjust after a robots.txt update (https://developers.openai.com/api/docs/bots).

Related guides

Related guide from CheckMySchema

For the difference between page indexing and link-following directives, see Noindex vs nofollow: a clear guide for developers.

Sources and further reading

Provider documentation can change. Check the current guidance before changing crawler or search settings.