GPTBot, OAI-SearchBot ou ChatGPT-User : lequel bloquer
GPTBot, OAI-SearchBot et ChatGPT-User : le rôle de chaque bot d'OpenAI, ce que coûte le blocage de chacun, et une vérification IP réelle sur leurs 18, 39 et 230 préfixes.

Le 2026-10-06, les fichiers de plages d'OpenAI listaient 18 préfixes pour GPTBot, 39 pour OAI-SearchBot et 230 pour ChatGPT-User. OpenAI documente un quatrième bot, OAI-AdsBot, mais il ne visite que les pages soumises en tant qu'annonces ChatGPT ; ce sont donc les trois bots ci-dessus sur lesquels la plupart des sites doivent trancher. Une règle qui les traite comme une seule entité appelée « OpenAI » cède des droits d'entraînement que vous vouliez conserver, ou vous fait disparaître par accident de la recherche ChatGPT.
Vous trouverez ci-dessous le rôle de chaque bot dans les termes d'OpenAI, ce que coûte le blocage de chacun, les lignes robots.txt de la politique la plus courante, et la façon de vérifier qu'une requête prétendant provenir de l'un d'eux vient bien d'OpenAI. Nous avons recherché une IP de chaque fichier de plages, ainsi qu'un imposteur, pour que vous puissiez voir la différence dans une sortie d'API réelle. La méthode générale derrière cette vérification est décrite dans notre guide pour vérifier les robots d'exploration IA par IP, DNS inverse et Web Bot Auth.

GPTBot, OAI-SearchBot et ChatGPT-User : le rôle de chacun
GPTBot sert à l'entraînement, OAI-SearchBot à la recherche, et ChatGPT-User à la requête en direct d'une personne. Voilà toute la répartition, et la documentation d'OpenAI sur ses robots d'exploration l'énonce directement : « Each setting is independent of the others » (chaque réglage est indépendant des autres). Voici les trois côte à côte, d'après cette page et les fichiers de plages que nous avons récupérés le 2026-10-06.
| GPTBot | OAI-SearchBot | ChatGPT-User | |
|---|---|---|---|
| Mission (selon OpenAI) | « utilisé pour explorer du contenu susceptible de servir à l'entraînement de nos modèles de fondation d'IA générative » | « utilisé pour faire apparaître des sites web dans les résultats des fonctionnalités de recherche de ChatGPT » | « pour certaines actions des utilisateurs dans ChatGPT et les Custom GPTs » |
| Déclencheur | Exploration automatique | Exploration automatique | La question d'un utilisateur ou une GPT Action |
| robots.txt | Le respecte, selon OpenAI. L'interdire « indique que le contenu d'un site ne doit pas être utilisé pour l'entraînement » | Le respecte, selon OpenAI. Les sites exclus « ne seront pas affichés dans les réponses de la recherche ChatGPT » | « les règles robots.txt peuvent ne pas s'appliquer » |
| Jeton User-Agent actuel | GPTBot/1.4 | OAI-SearchBot/1.4 | ChatGPT-User/1.0 |
| Fichier de plages | openai.com/gptbot.json | openai.com/searchbot.json | openai.com/chatgpt-user.json |
| Fichier créé le | 2026-09-22 | 2026-01-02 | 2026-09-25 |
| Préfixes (IPv4 / IPv6) | 18 / 0 | 39 / 0 | 230 / 0 |
Voici les chaînes User-Agent complètes telles que les affichait la page d'OpenAI le 2026-10-06 :
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
OpenAI présente les chaînes de GPTBot et d'OAI-SearchBot comme des exemples et précise que « le numéro de version peut changer » ; la chaîne de ChatGPT-User est indiquée comme chaîne complète. La chaîne d'OAI-SearchBot commence comme celle de Chrome sur un Mac ; faites donc la correspondance sur le jeton (GPTBot, OAI-SearchBot, ChatGPT-User), pas sur la chaîne entière. Un détail aide à l'analyse des journaux : lorsque GPTBot ou OAI-SearchBot récupèrent votre robots.txt, OpenAI indique qu'ils peuvent ajouter un marqueur robots.txt au User-Agent, ce qui vous permet de distinguer ces requêtes même lorsque vos journaux n'enregistrent pas les chemins.
La page d'OpenAI liste aussi un quatrième bot, OAI-AdsBot. Il est « utilisé pour valider la sécurité des pages web soumises en tant qu'annonces sur ChatGPT », et OpenAI indique qu'il « peut également utiliser le contenu de la page de destination pour déterminer quand il est le plus pertinent de montrer l'annonce aux utilisateurs ». Il ne visite que les pages soumises en tant qu'annonces, et OpenAI précise que les données qu'il collecte ne servent pas à entraîner ses modèles de fondation. Son jeton est OAI-AdsBot/1.0, et son fichier de plages, openai.com/adsbot.json, a été créé le 2026-05-12 et listait 2 préfixes IPv4 lorsque nous l'avons récupéré. OpenAI ne mentionne pas OAI-AdsBot comme balise robots.txt : la page ne cite qu'OAI-SearchBot et GPTBot à ce titre.
ChatGPT-User ou GPTBot : pourquoi une récupération déclenchée par un utilisateur est différente
ChatGPT-User diffère de GPTBot parce que c'est une personne, et non un calendrier d'exploration, qui décide du moment de sa visite. La page d'OpenAI indique : « ChatGPT-User n'est pas utilisé pour explorer le web de manière automatique. Comme ces actions sont initiées par un utilisateur, les règles robots.txt peuvent ne pas s'appliquer. »
Deux autres phrases de la même entrée comptent pour votre politique. ChatGPT-User « n'est pas utilisé pour déterminer si un contenu peut apparaître dans la recherche », et OpenAI oriente les propriétaires de sites vers OAI-SearchBot : « Veuillez utiliser OAI-SearchBot dans robots.txt pour gérer les exclusions de la recherche et l'exploration automatique. »
Une ligne Disallow pour ChatGPT-User n'est donc, au mieux, qu'une demande qu'OpenAI dit ne pas forcément respecter. Si vous devez vraiment stopper les récupérations déclenchées par les utilisateurs, cela doit se faire au niveau de votre pare-feu ou de votre application, par IP. Nous avons cherché un historique daté indiquant quand cette formulation a été introduite et n'en avons pas trouvé : la page renvoie vers un flux RSS de mises à jour, qui était vide lors de notre vérification. Nous citons donc le texte actuel sans rien affirmer sur la date de son changement.
ChatGPT-User n'est pas le seul moyen par lequel ChatGPT atteint un site. L'article d'aide d'OpenAI sur l'ajout à la liste d'autorisation du navigateur cloud de ChatGPT Work (l'URL contient toujours « chatgpt-agent », et Akamai le classe toujours sous le nom de bot « ChatGPT Agent ») indique que le navigateur cloud « utilise Web Bot Auth pour signer les requêtes HTTP sortantes ». Chaque requête porte les en-têtes Signature et Signature-Input, ainsi qu'un en-tête Signature-Agent défini à "https://chatgpt.com", et vous la vérifiez selon la RFC 9421 à l'aide des clés publiées à chatgpt.com/.well-known/http-message-signatures-directory. Ce trafic s'identifie par sa signature, et non par un fichier de plages. La section Web Bot Auth de notre guide principal explique le fonctionnement des vérifications de signature.
Plages IP de GPTBot, OAI-SearchBot et ChatGPT-User
OpenAI publie les plages IP des trois bots à https://openai.com/gptbot.json, https://openai.com/searchbot.json et https://openai.com/chatgpt-user.json. Au 2026-10-06, ils listaient respectivement 18, 39 et 230 préfixes IPv4, et aucun IPv6. Chaque fichier de plages est un petit document JSON comportant un creationTime et une liste de prefixes. Voici le début du fichier de GPTBot, et une commande d'une ligne pour résumer les trois :
curl -s https://openai.com/gptbot.json | head -c 120
# {
# "creationTime": "2026-09-22T02:00:07.000000",
# "prefixes": [
# {
# "ipv4Prefix": "132.196.86.0/24"
for f in gptbot searchbot chatgpt-user; do
curl -s https://openai.com/$f.json | jq -c '[.creationTime, (.prefixes | length), .prefixes[0]]'
done
# ["2026-09-22T02:00:07.000000",18,{"ipv4Prefix":"132.196.86.0/24"}]
# ["2026-01-02T11:00:00.000000",39,{"ipv4Prefix":"104.210.140.128/28"}]
# ["2026-09-25T18:04:57.257335",230,{"ipv4Prefix":"104.208.184.192/28"}]
Trois constats ressortent le jour où nous les avons récupérés :
- Les trois fichiers de plages sont uniquement IPv4. Aucun ne contenait d'entrée
ipv6Prefix. Un code qui ne lit queipv4Prefixfonctionne aujourd'hui, mais lisez les deux clés, car le format autorise l'IPv6. - Les formes sont très différentes. GPTBot compte 18 préfixes, majoritairement des
/25. ChatGPT-User compte 229 petits blocs/28de 16 adresses plus un grand/17,9.129.0.0/17. Une liste d'autorisation ChatGPT-User tenue à la main est celle qui offre le plus d'occasions d'erreur. - Les trois IP d'OpenAI de notre échantillon (une par fichier) se trouvent sur le réseau de Microsoft (AS8075). C'est précisément pourquoi vous ne pouvez pas autoriser l'ASN : le même réseau achemine tous les autres clients Azure, y compris quiconque loue un serveur pour usurper l'identité de GPTBot.
Les listes copiées se périment. OpenAI met à jour ces fichiers de plages, et deux des trois portent un creationTime datant des deux semaines précédant notre récupération ; une liste collée depuis un article de blog (y compris celui-ci) est donc obsolète dès le prochain changement de fichier. Récupérez le fichier, mettez-le en cache et actualisez-le à intervalles réguliers. Ne collez pas les plages dans un fichier de configuration. La correspondance de préfixes elle-même, y compris la façon de comparer une IP aux plages CIDR publiées pour chaque bot, est traitée dans le guide principal ; cet article se limite aux trois bots d'OpenAI.
Faut-il bloquer GPTBot ? Ce que coûte le blocage de chaque bot
Bloquez GPTBot si vous ne voulez pas que votre contenu serve à l'entraînement ; selon OpenAI, cela ne vous coûte rien dans la recherche ChatGPT. Bloquer les deux autres a un coût visible ; ce doit donc être un choix délibéré, et non l'effet secondaire d'une règle générale.
| Si vous bloquez | Vous obtenez | Vous renoncez à |
|---|---|---|
| GPTBot | Un signal indiquant que votre contenu ne doit pas servir à l'entraînement | Rien dans la recherche ChatGPT, selon le principe d'OpenAI « chaque réglage est indépendant » |
| OAI-SearchBot | Aucune exploration automatique pour la recherche ChatGPT | Apparaître dans les réponses de la recherche ChatGPT. Vous « pouvez encore apparaître sous forme de liens de navigation » |
| ChatGPT-User (par IP, puisque robots.txt peut ne pas s'appliquer) | Aucune récupération de page lorsque des utilisateurs interrogent ChatGPT sur votre URL | Ces utilisateurs n'obtiennent aucune réponse issue de votre page, et ChatGPT ne peut pas la lire pour eux |
Une autre phrase d'OpenAI mérite d'être connue si vous autorisez les deux robots d'exploration : « Si votre site a autorisé les deux bots, nous pouvons utiliser les résultats d'une seule exploration pour les deux usages afin d'éviter les explorations en double. » Autoriser les deux ne double donc pas nécessairement la charge.
Pour situer ce que font les autres sites : une étude d'Ahrefs portant sur les fichiers robots.txt d'environ 140 millions de sites, publiée le 2025-05-21 avec des données allant jusqu'à décembre 2024, a montré que GPTBot était le bot d'IA le plus bloqué, sur 5,89 % des sites. OAI-SearchBot était bloqué par 5,54 % et ChatGPT-User par 5,64 %. L'essentiel provient de règles générales : seuls 0,5 % des sites nommaient explicitement GPTBot, 0,22 % ChatGPT-User et 0,08 % OAI-SearchBot. Considérez ces chiffres comme un contexte, pas comme des taux actuels. Les données sont antérieures aux descriptions actuelles des bots et ne couvrent que robots.txt, pas les blocages par pare-feu ou par IP.
L'écart entre 5,54 % et 0,08 % est l'enseignement clé. Presque aucun des sites qui bloquaient OAI-SearchBot ne le nommait. Le blocage provenait d'une règle générale, comme User-agent: * avec Disallow: /, ou d'une liste d'autorisation qui ne laisse passer que certains bots, et l'une comme l'autre attrape le bot de recherche en même temps que le bot d'entraînement.
Comment bloquer GPTBot tout en autorisant la recherche ChatGPT
Pour bloquer GPTBot tout en autorisant la recherche ChatGPT, interdisez GPTBot et autorisez OAI-SearchBot dans robots.txt, en utilisant les jetons exactement tels qu'OpenAI les écrit :
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: *
Allow: /
Il n'y a pas de groupe ChatGPT-User, car OpenAI indique que robots.txt « peut ne pas s'appliquer » à ce bot. OpenAI précise aussi que les résultats de recherche peuvent mettre environ 24 heures à refléter une modification de robots.txt.
robots.txt ne représente que la moitié de ce que demande OpenAI. Dans la section consacrée à OAI-SearchBot, sa page recommande « d'autoriser OAI-SearchBot dans le fichier robots.txt de votre site et d'autoriser les requêtes provenant de nos plages IP publiées ». La partie IP est facile à casser sans s'en apercevoir. L'adresse OAI-SearchBot de notre échantillon est une IP Microsoft Azure que notre API signale comme datacenter_ip ; une règle WAF qui bloque ou challenge le trafic de datacenter ou Azure peut donc tenir OAI-SearchBot à l'écart et vous faire disparaître de la recherche ChatGPT même lorsque robots.txt indique Allow. Si vous appliquez une règle de ce type, exemptez-en les préfixes de searchbot.json.
Vérifiez le fichier que votre serveur envoie réellement, pas celui de votre dépôt. Un CDN peut le modifier au passage. Le robots.txt géré de Cloudflare, par exemple, « ajoutera notre robots.txt géré avant votre robots.txt existant ». Ses règles interdisent GPTBot mais ne mentionnent ni OAI-SearchBot ni ChatGPT-User ; à lui seul, il produit donc la même politique « bloquer l'entraînement, autoriser la recherche » que le fichier ci-dessus. Tout réglage de ce type ajoute des règles que vous n'avez pas écrites ; testez donc le fichier servi :
import urllib.robotparser
p = urllib.robotparser.RobotFileParser("https://your-site.com/robots.txt")
p.read()
for bot in ["GPTBot", "OAI-SearchBot", "ChatGPT-User"]:
print(bot, p.can_fetch(bot, "/blog/"))
Exécuté sur le fichier ci-dessus, l'analyseur de Python 3.9 a affiché GPTBot False, OAI-SearchBot True et ChatGPT-User True. Si OAI-SearchBot renvoie False, quelque chose en amont bloque la recherche ChatGPT.
robots.txt ou blocage par IP : une règle robots.txt est une demande, pas un blocage
Une règle robots.txt indique aux robots d'exploration honnêtes ce que vous souhaitez, mais seule une vérification de l'IP là où arrive la requête arrête réellement un bot. Les vrais bots d'OpenAI lisent robots.txt. Un scraper qui place GPTBot ou ChatGPT-User dans son User-Agent l'ignore, et emprunter ce nom ne coûte qu'une option : curl -A "ChatGPT-User/1.0" https://your-site.com/ porte le même jeton de bot que le vrai.
Le User-Agent ne permet pas de les distinguer, pas plus que robots.txt. Si votre pare-feu ou votre CDN exempte les bots d'OpenAI des limites de débit ou des challenges anti-bot, cette exemption ne vaut que ce que vaut votre vérification de l'identité du demandeur. Il en va de même pour tous les autres types de bots ; notre présentation des signaux IP qui identifient chaque type de bot indique quel signal vérifie quoi.
L'application doit se faire là où arrive la requête, et elle nécessite deux éléments réunis (la politique nginx et Express qui l'applique à tous les robots d'exploration IA, et pas seulement à ceux d'OpenAI, figure dans notre guide pour bloquer les robots d'exploration IA après vérification de l'IP) :
- La revendication : le jeton OpenAI que nomme le User-Agent.
- La preuve : le fait que l'IP de connexion se trouve dans le fichier de plages de ce même bot.
Une revendication sans preuve n'est pas vérifiée comme provenant d'OpenAI : challengez-la ou limitez son débit plutôt que de la traiter comme une attaque, car l'article principal explique pourquoi une IP hors d'une plage publiée n'est pas concluante et ne prouve pas à elle seule une usurpation. Associez chaque jeton à son propre fichier de plages, car une IP ChatGPT-User ne prouve pas une revendication GPTBot. Le DNS inverse n'aide pas ici : nous avons exécuté dig -x sur une IP de chaque fichier, et toutes trois ont renvoyé NXDOMAIN depuis le DNS Azure de Microsoft ; il n'y a donc aucun nom d'hôte à confirmer en sens direct. Pour OpenAI, c'est le fichier de plages qui fonctionne.
Comment vérifier qu'une requête vient vraiment d'OpenAI : trois vraies IP et une fausse
Une requête vient d'OpenAI lorsque son IP se trouve dans le fichier de plages du bot que nomme son User-Agent. Notre API renvoie verified: true et le nom de ce bot pour une IP présente dans le fichier, et verified: false pour une IP absente de tous les flux de robots d'exploration que nous vérifions. Le 2026-10-06, nous avons recherché la première adresse du premier préfixe de chaque fichier de plages d'OpenAI, plus un serveur DigitalOcean. Les résultats évoluent à mesure que les plages changent.
| IP | Fichier d'origine | threat.crawler | Réseau et ville | Score, action |
|---|---|---|---|---|
| 132.196.86.0 | gptbot.json | verified: true, name: GPTBot | Microsoft AS8075, Des Moines US | 0, allow |
| 104.210.140.128 | searchbot.json | verified: true, name: OAISearchBot | Microsoft AS8075, San Antonio US | 0, allow |
| 104.208.184.192 | chatgpt-user.json | verified: true, name: ChatGPTUser | Microsoft AS8075, Boydton US | 0, allow |
| 104.248.50.21 | aucun | verified: false, name: none | DigitalOcean AS14061, North Bergen US | 15, allow |
Notez que les noms de robots d'exploration de l'API omettent les traits d'union : OAISearchBot et ChatGPTUser, et non OAI-SearchBot et ChatGPT-User.
Les trois adresses d'OpenAI sont revenues avec operator: "OpenAI", category: "ai" et verification_method: "ip_range_list". Passons maintenant à l'exemple détaillé. Imaginez une ligne de journal, à titre d'illustration et non issue de notre trafic : une requête avec un User-Agent ChatGPT-User/1.0 provenant de 104.248.50.21. Voici cette IP à côté d'une véritable adresse ChatGPT-User, d'après les réponses réelles abrégées :
[
{
"ip": "104.208.184.192",
"asn": { "asn": 8075, "org": "MICROSOFT-CORP-MSN-AS-BLOCK - Microsoft Corporation", "asn_type": "hosting" },
"detection": { "is_hosting": true, "is_vpn": false, "is_proxy": false },
"threat": {
"is_crawler": true,
"crawler": {
"verified": true,
"name": "ChatGPTUser",
"operator": "OpenAI",
"category": "ai",
"verification_method": "ip_range_list"
}
},
"scoring": {
"fraud_score": 0,
"recommended_action": "allow",
"detection_methods": ["datacenter_ip", "no_ptr_datacenter", "verified_crawler"]
}
},
{
"ip": "104.248.50.21",
"asn": { "asn": 14061, "org": "DIGITALOCEAN-ASN - DigitalOcean, LLC", "asn_type": "hosting" },
"detection": { "is_hosting": true, "is_vpn": false, "is_proxy": false },
"threat": {
"is_crawler": false,
"crawler": {
"verified": false,
"name": "none",
"operator": "none",
"category": "none",
"verification_method": "none"
}
},
"scoring": {
"fraud_score": 15,
"recommended_action": "allow",
"detection_methods": ["datacenter_ip", "no_ptr_datacenter"]
}
}
]
Lisez-la en trois étapes :
- La requête. L'IP DigitalOcean ne figure dans aucun flux de robots d'exploration que nous vérifions ;
threat.crawler.verifiedvaut doncfalseetnamevaut"none". Son score est de 15,allow, car une IP de datacenter n'est pas malveillante en soi. - La comparaison. L'API ne reçoit que l'IP ; elle n'a donc jamais vu la revendication ChatGPT-User, et le champ
crawler.spoofedde la réponse (retiré ci-dessus) est un champ réservé qui vaut toujours false : il ne peut pas vous dire que la requête est honnête. C'est votre code qui détient les deux éléments : la requête revendique un jeton OpenAI, et l'identité vérifiée est"none". Cette incohérence, c'est l'usurpation. - Le contraste.
104.208.184.192figure danschatgpt-user.json; il revient donc avecverified: true,name: "ChatGPTUser", etverified_crawlerramène son score à 0.
La comparaison tient en quelques lignes. La table de correspondance traduit chaque jeton User-Agent vers le nom sans trait d'union de l'API :
const OPENAI_BOTS = { "GPTBot": "GPTBot", "OAI-SearchBot": "OAISearchBot", "ChatGPT-User": "ChatGPTUser" };
const ua = req.headers["user-agent"] ?? "";
const claimed = Object.keys(OPENAI_BOTS).find((token) => ua.includes(token));
if (claimed) {
const res = await fetch(`https://api.geoiphub.com/v1/lookup/${clientIp}`, {
headers: { "x-api-key": process.env.GEOIPHUB_KEY },
});
const { threat } = await res.json();
const isThatBot = threat.crawler.verified && threat.crawler.name === OPENAI_BOTS[claimed];
if (!isThatBot) {
// Claims an OpenAI bot, but the IP isn't in that bot's file: challenge or rate-limit it.
}
}
Pour essayer sans clé, exécutez curl https://api.geoiphub.com/v1/lookup/104.208.184.192 (30 requêtes anonymes par minute), ou collez une IP issue de vos propres journaux dans l'outil gratuit de recherche d'IP. Pour les sources IPv6 de la catégorie « non vérifiée », limitez le débit par préfixe, comme dans notre guide pour limiter le débit et bloquer l'IPv6 par préfixe /64.
Les limites de cette vérification
La vérification a trois limites : elle ne couvre ni OAI-AdsBot ni le trafic signé du navigateur cloud de ChatGPT, elle ne voit pas les en-têtes de votre requête, et un nouveau préfixe peut mettre jusqu'à 2 jours à être vérifié chez nous. Un champ de sortie est par ailleurs erroné sur notre exemple d'imposteur.
- Nous vérifions trois des quatre bots d'OpenAI. La vérification des robots d'exploration de GeoIPHub contrôle 19 flux de plages officiels de 10 opérateurs, dont les fichiers GPTBot, ChatGPT-User et OAI-SearchBot d'OpenAI et les fichiers qu'Anthropic et Perplexity publient pour ClaudeBot et PerplexityBot. OAI-AdsBot n'en fait pas partie ; vérifiez-le avec la méthode propre à OpenAI.
- Nous ne vérifions pas les signatures. Le navigateur cloud de ChatGPT Work s'identifie par sa signature Web Bot Auth, qu'aucun de nos flux de plages ne couvre. Vérifiez-la vous-même à l'aide du répertoire de clés d'OpenAI ; l'article d'OpenAI indique que Cloudflare, Akamai et HUMAN la vérifient automatiquement.
- L'API voit une IP, pas vos en-têtes. Elle peut vous dire qu'une adresse appartient à ChatGPT-User. Rapprocher cette information du User-Agent revendiqué par la requête est le travail de votre code, comme ci-dessus.
- Les flux peuvent avoir jusqu'à 2 jours de retard. Nous récupérons à nouveau les fichiers de plages des robots d'exploration chaque jour et reconstruisons la base de recherche chaque jour, et deux des trois fichiers de plages d'OpenAI avaient été créés dans la quinzaine précédant notre récupération. Un tout nouveau préfixe peut ne pas être vérifié chez nous pendant quelques jours ; une incohérence est donc une raison de challenger, pas de bloquer strictement.
no_ptr_datacenterest exact ici, et erroné sur notre imposteur. Il s'est déclenché sur les trois IP d'OpenAI, etdig -xconfirme qu'elles n'ont pas de DNS inverse. Mais104.248.50.21possède bien un enregistrement PTR actif, que notre base ne contient pas. C'est la même lacune que celle constatée en vérifiant Googlebot par IP et en repérant les faux, et elle est consignée comme bug backend. Le verdict sur le robot d'exploration n'en dépend pas.
La même vérification revendication contre preuve compte au moment du paiement, où un acheteur automatisé peut revendiquer n'importe quel nom de bot. Consultez comment gérer les agents d'achat IA au paiement par IP pour cette variante.
Commencez par le robots.txt que vous servez : exécutez le court script Python ci-dessus et assurez-vous qu'OAI-SearchBot renvoie True, sauf si vous en avez décidé autrement. Extrayez ensuite de vos journaux une semaine de requêtes nommant GPTBot, OAI-SearchBot ou ChatGPT-User, et vérifiez leurs IP par rapport aux trois fichiers de plages. Celles qui ne correspondent pas ne sont pas vérifiées comme provenant d'OpenAI : challengez-les ou limitez leur débit.
Questions fréquentes
ChatGPT-User est-il la même chose que GPTBot ?
Non. GPTBot explore le web selon son propre calendrier et collecte du contenu susceptible d'être utilisé pour entraîner les modèles d'OpenAI. ChatGPT-User ne visite une page que lorsqu'une personne utilisant ChatGPT ou un Custom GPT le déclenche, et OpenAI indique qu'il n'est pas utilisé pour explorer le web automatiquement. Ils publient également des fichiers de plages IP distincts : gptbot.json et chatgpt-user.json.
Puis-je bloquer ChatGPT-User avec robots.txt ?
Pas de façon fiable. OpenAI indique que les récupérations de ChatGPT-User sont initiées par un utilisateur, si bien que « les règles robots.txt peuvent ne pas s'appliquer ». OpenAI précise aussi que ChatGPT-User ne sert pas à déterminer si un contenu apparaît dans la recherche ChatGPT ; c'est le rôle d'OAI-SearchBot. Si vous devez stopper les récupérations déclenchées par les utilisateurs, bloquez-les par IP au niveau de votre pare-feu ou de votre application, à l'aide des plages publiées dans openai.com/chatgpt-user.json.
Qu'est-ce qu'OAI-SearchBot ?
OAI-SearchBot est le robot d'exploration de recherche d'OpenAI. Selon OpenAI, il est « utilisé pour faire apparaître des sites web dans les résultats des fonctionnalités de recherche de ChatGPT ». Son User-Agent contient le jeton OAI-SearchBot/1.4 dans une chaîne qui ressemble à celle de Chrome sur ordinateur, et ses plages IP se trouvent dans openai.com/searchbot.json, qui listait 39 préfixes IPv4 le 2026-10-06. OpenAI recommande de l'autoriser dans robots.txt et d'autoriser les requêtes provenant de ses plages IP publiées.
OAI-SearchBot respecte-t-il robots.txt ?
Oui. OpenAI cite OAI-SearchBot et GPTBot comme ses balises robots.txt et indique que les sites ayant exclu OAI-SearchBot ne seront pas affichés dans les réponses de la recherche ChatGPT, même s'ils peuvent encore apparaître sous forme de liens de navigation.
Combien de temps faut-il pour qu'une modification de robots.txt soit prise en compte par la recherche ChatGPT ?
Environ 24 heures, selon OpenAI, qui indique qu'« il peut falloir environ 24 heures après la mise à jour du robots.txt d'un site pour que nos systèmes s'adaptent ».
Où se trouvent les plages IP de GPTBot ?
À l'adresse https://openai.com/gptbot.json. La copie que nous avons récupérée le 2026-10-06 avait été créée le 2026-09-22 et listait 18 préfixes IPv4 et aucun IPv6. Les plages d'OAI-SearchBot se trouvent dans openai.com/searchbot.json et celles de ChatGPT-User dans openai.com/chatgpt-user.json. Récupérez les fichiers à intervalles réguliers au lieu de copier les plages, car elles changent.
Pourquoi GPTBot provient-il d'une IP Microsoft ?
C'était le cas dans notre échantillon : l'adresse GPTBot que nous avons recherchée, ainsi que les adresses OAI-SearchBot et ChatGPT-User, se trouvaient toutes sur le réseau de Microsoft, l'AS8075. La page d'OpenAI consacrée à ses robots d'exploration n'indique pas depuis quel réseau ils opèrent ; nous ne rapportons donc que ce que montrait notre échantillon. Comme d'autres clients du cloud Microsoft partagent cet ASN, cela ne prouve rien en soi. Vérifiez plutôt l'IP par rapport à gptbot.json.
Bloquer GPTBot me retirera-t-il de ChatGPT ?
Pas de la recherche ChatGPT, selon OpenAI. Sa documentation indique que chaque réglage est indépendant et donne l'exemple d'un site qui autorise OAI-SearchBot pour apparaître dans les résultats de recherche tout en interdisant GPTBot pour refuser l'entraînement. C'est le blocage d'OAI-SearchBot qui vous retire des réponses de la recherche ChatGPT.
L'équipe derrière l'API GeoIPHub
Rédigé par l'équipe GeoIPHub, les personnes qui développent l'API de renseignement IP GeoIPHub et son scanner. Les brouillons sont préparés avec l'aide de l'IA et relus par l'équipe ; les exemples d'API sont de vraies requêtes sur l'API en production, sauf mention « illustratif ».


