What this crawler family is
This comparison exists because OpenAI traffic is the highest-confusion crawler cluster in modern log reviews. The right first question is not “is this OpenAI?” It is “which OpenAI crawler family is this?”
Compare OpenAI's three main crawler families so you can quickly tell which one is training, which one is search, and which one is user-triggered retrieval.
This comparison exists because OpenAI traffic is the highest-confusion crawler cluster in modern log reviews. The right first question is not “is this OpenAI?” It is “which OpenAI crawler family is this?”
IPBot uses the source inventory below to decide whether a request is merely known or fully verified.
Swipe sideways to review every verification column.
| Crawler | Intent | Verification | CIDRs | Freshness |
|---|---|---|---|---|
| ChatGPT-User
Official source
| user triggered | User-agent + official IP range | 247
IPv4 247 / IPv6 0 | 2026-05-21 |
| GPTBot
Official source
| training | User-agent + official IP range | 21
IPv4 21 / IPv6 0 | 2025-10-30 |
| OAI-SearchBot
Official source
| search | User-agent + official IP range | 35
IPv4 35 / IPv6 0 | 2026-01-02 |
GPTBot usually maps to training policy, OAI-SearchBot maps to search visibility policy, and ChatGPT-User maps to user-triggered retrieval policy. Make those decisions explicitly instead of bundling them together.
Keep each OpenAI token separate in your crawler documentation so SEO, legal, and infra teams know exactly which access rule applies to which bot family.
If your WAF only has one OpenAI rule, split it. The three OpenAI families should be independently reviewable because their intent is different.
This should be governed separately from GPTBot because it represents user-triggered fetches rather than autonomous training crawls.
Useful as its own ruleset when you want to preserve shared-link or user retrieval behavior without allowing broader crawling.
Use the `GPTBot` token in `robots.txt` when deciding whether to allow OpenAI training crawl access.
Do not rely on IP range alone; pair the IP with the expected user-agent token before treating it as verified.
Treat separately from GPTBot if your concern is search visibility rather than model-training access.
Pair IP range membership with the `OAI-SearchBot` token before marking it verified.
OAI-SearchBot is the search-focused crawler family in this comparison.
ChatGPT-User is the user-triggered fetch lane, which is why it should not be treated the same as GPTBot.