GPTBot user agent string

OpenAI's crawler for content that may be used to train its generative AI models. Blocking it opts a site out of training and is set independently of OAI-SearchBot. Below is the exact string it sends, what each part means, and how to allow or block it.

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

At a glance

TypeAI crawler
OperatorOpenAI
PurposeCollects content for AI model training
Version1.4
robots.txt tokenGPTBot

Allow or block it in robots.txt

Block GPTBot from the whole site

User-agent: GPTBot
Disallow: /

Allow it again

User-agent: GPTBot
Allow: /

String breakdown

FragmentMeaning
Mozilla/5.0Historical compatibility token. Nearly every browser claims "Mozilla/5.0" so that old servers do not serve it broken pages.
AppleWebKit/537.36WebKit rendering engine, build 537.36. Chromium browsers keep this token for compatibility.
KHTML, like GeckoCompatibility note: the engine descends from KHTML and behaves like Gecko. Kept for legacy browser sniffers.
compatibleCompatibility token — historically sent by IE, now mostly by bots.
GPTBot/1.4GPTBot 1.4 — an automated crawler/bot, not a real browser.
+https://openai.com/gptbotInfo page the bot operator publishes for webmasters.

Use it in code

curl

curl -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" https://example.com

Python (requests)

import requests
requests.get("https://example.com", headers={"User-Agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot"})

Playwright (Node.js)

const context = await browser.newContext({ userAgent: "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" });

Source: Overview of OpenAI Crawlers · checked September 2026

Related user agents

All user agent strings →

What does your own browser send? Check your user agent →