What is the difference between GPTBot, OAI-SearchBot, ChatGPT-User, and OAI-AdsBot?

OpenAI runs four crawlers with distinct purposes. GPTBot collects data for model training, OAI-SearchBot indexes content for ChatGPT search results, ChatGPT-User fetches pages in real time when a user requests them mid-conversation, and OAI-AdsBot checks ad landing pages. You can control each one independently through robots.txt.

Updated 2026-07-07

Frequently asked questions

What is the difference between GPTBot, OAI-SearchBot, ChatGPT-User, and OAI-AdsBot?
OpenAI runs four crawlers with distinct purposes. GPTBot collects data for model training, OAI-SearchBot indexes content for ChatGPT search results, ChatGPT-User fetches pages in real time when a user requests them mid-conversation, and OAI-AdsBot checks ad landing pages. You can control each one independently through robots.txt.
Can I block GPTBot while still allowing ChatGPT search visibility?
Yes. Each bot has its own User-agent token, so rules can be set independently. Disallowing GPTBot while allowing OAI-SearchBot blocks training collection but keeps ChatGPT search indexing intact. Policy changes typically take about 24 hours to take effect.
How do I verify the IP addresses of each bot?
OpenAI publishes each bot's IPv4 ranges as public JSON files: gptbot.json, searchbot.json, and chatgpt-user.json, listed in CIDR notation. Since a User-Agent string alone can be spoofed, firewall or WAF rules should also cross-check these IP ranges.
How are citations displayed when the OpenAI API quotes my content?
OpenAI's web search tool returns the sources it used as url_citation annotation objects, containing the URL, title, and the citation's position within the response text. OpenAI's official guide requires that these inline citations be shown clearly and made clickable when displayed to end users.