OpenAI's Crawlers: GPTBot, OAI-SearchBot, ChatGPT-User (and OAI-AdsBot)

OpenAI runs separate bots for separate jobs: GPTBot (training), OAI-SearchBot (search), ChatGPT-User (user-fetch), and OAI-AdsBot. Here's what each does, whether to block it, and how to verify it by IP range.

By Andrej Ruckij · · 3 min read

OpenAI’s Crawlers: GPTBot, OAI-SearchBot, ChatGPT-User (and OAI-AdsBot)

By Andrej Ruckij · June 17, 2026

TL;DR: OpenAI runs four separate bots, and the difference is the whole game: GPTBot (training — block to opt out), OAI-SearchBot (search — allow to stay citable in ChatGPT), ChatGPT-User (user-fetch — never block, it’s a visitor), and OAI-AdsBot (ad-landing-page validation). All respect robots.txt and publish IP ranges, so you can verify them.

A cluster under the AI crawler directory. OpenAI separates its bots more cleanly than most vendors, which makes a precise allow/block policy straightforward.

The four OpenAI bots

User-agentJobRespects robots.txtIP rangesRecommendation
GPTBotTrain OpenAI’s modelsYesopenai.com/gptbot.jsonBlock to opt out of training
OAI-SearchBotIndex for ChatGPT searchYesopenai.com/searchbot.jsonAllow (drives citations)
ChatGPT-UserFetch a page a user asked aboutYesopenai.com/chatgpt-user.jsonNever block (it’s a visitor)
OAI-AdsBotValidate ad landing pagesYesAllow (or block if you don’t run OpenAI ads)

GPTBot — the training crawler

GPTBot (currently GPTBot/1.3) gathers content to train OpenAI’s models. It’s the canonical block target because training gives nothing back — no link, no traffic. See glossary/gptbot for the definition and should-i-block-gptbot for the decision. Blocking it stops future training crawls; content already in past training sets stays.

OAI-SearchBot — the one to allow

OAI-SearchBot (OAI-SearchBot/1.3) indexes content so ChatGPT can cite it in search answers, with a link back. This is the bot that makes you visible in ChatGPT — block it and you disappear from ChatGPT search. The whole point of separating it from GPTBot is that you can block training while staying citable. The full distinction is in gptbot-vs-oai-searchbot.

ChatGPT-User — never block

ChatGPT-User fires when a real person asks ChatGPT to open your specific page. That’s a visitor with intent, not a harvesting crawler. Blocking it turns away a potential customer mid-decision.

OAI-AdsBot — the newer one

OAI-AdsBot validates the landing pages behind ads in OpenAI’s surfaces. It’s neither training nor search nor user-fetch — a fourth, narrower job. Allow it if you advertise through OpenAI; otherwise it’s low-stakes either way.

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /

Because all of OpenAI’s bots respect robots.txt, this is honored without a firewall rule. For non-compliant scrapers (which OpenAI’s bots are not), see robots-txt-vs-waf-ai-bots. And verify a bot claiming to be OpenAI against the published IP-range files above — the user-agent name alone is spoofable.

Key takeaways

  • Four bots, four jobs: GPTBot (training), OAI-SearchBot (search), ChatGPT-User (user-fetch), OAI-AdsBot (ads).
  • Block GPTBot to opt out of training; allow OAI-SearchBot to stay in ChatGPT; never block ChatGPT-User.
  • All respect robots.txt and publish IP ranges for verification.

Sources