AI crawler profile
User-agent string to match in robots.txt and server logs: ChatGPT-User
Operator
OpenAI
Purpose
AI search & live answers
robots.txt
Respects robots.txt
Official docs
ChatGPT-User is not a crawler in the traditional sense: it fetches a specific page only when a ChatGPT user asks about it or when a GPT action calls out to the web. Traffic from it means real people are reaching your content through ChatGPT conversations.
OpenAI states ChatGPT-User honors robots.txt, though as a user-triggered fetcher it visits single pages rather than crawling.
The user-agent string above is self-declared, so anything can send it. OpenAI publishes ChatGPT-User's IP ranges as JSON, which is what makes a rule verifiable: check the request's IP against the published prefixes instead of trusting the name. Requests claiming to be ChatGPT-User from outside those ranges are spoofed — useful to know whether you're allowing or blocking it.
User-agent: ChatGPT-User Disallow: /
User-agent: ChatGPT-User Allow: /
robots.txt is the right first step for ChatGPT-User, since OpenAI honors it. Use these only if you want the block enforced rather than requested — for example to stop agents spoofing the user agent. Matching on the user-agent string still trusts a self-declared header — pair it with an IP check against the published ranges above for a rule that can't be spoofed.
if ($http_user_agent ~* "ChatGPT-User") {
return 403;
}RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ChatGPT-User [NC]
RewriteRule .* - [F,L](http.user_agent contains "ChatGPT-User")
grep -i "ChatGPT-User" /var/log/nginx/access.log | wc -l
For most sites, no. ChatGPT-User powers visibility: blocking it removes your pages from the cited answers OpenAI's assistant shows its users — the AI-era equivalent of de-indexing yourself from a search engine. Block it only if you deliberately don't want that audience. Our guide on blocking AI bots covers the trade-offs in detail.
ChatGPT-User is OpenAI's agent for AI search and live answers. Fetches pages a user asks ChatGPT to browse in real time.
OpenAI states ChatGPT-User honors robots.txt, though as a user-triggered fetcher it visits single pages rather than crawling.
Add "User-agent: ChatGPT-User" followed by "Disallow: /" to your robots.txt file. The change takes effect the next time the bot fetches your robots.txt.
No. ChatGPT-User is separate from Googlebot, which handles Google Search indexing. Blocking ChatGPT-User has no effect on your traditional search rankings, but it does remove your pages from the AI answers OpenAI's assistant serves to its users.
Search your server access logs for the string "ChatGPT-User" — for example: grep -i "ChatGPT-User" /var/log/nginx/access.log | wc -l. Our free AI Bot Log Analyzer does this in your browser: paste a log file and it counts hits per AI crawler, including ChatGPT-User, with per-path breakdowns.
You don't — ChatGPT-User isn't a tool you run. It's OpenAI's own crawler, operated by OpenAI, that visits your site from their infrastructure. The only control you have over it is whether you allow or block it, via robots.txt or a server rule. If you're looking to crawl other sites yourself, you'd write your own crawler or use a crawling library; sending "ChatGPT-User" as your user agent would be impersonating OpenAI.
Almost certainly not. Crawl-delay was never part of the original robots.txt specification — Google has publicly said it ignores the directive, and the AI crawlers that model their parsers on Google's do the same. OpenAI publishes no position on crawl-delay for ChatGPT-User, so treat it as unsupported. If ChatGPT-User is hitting your site harder than you want, rate-limit it at the server or CDN instead: a Cloudflare rate-limiting rule or an nginx limit_req zone matched on the user agent will actually be enforced, whereas a crawl-delay line is only a request that this agent likely never reads.
OpenAI states ChatGPT-User honors robots.txt, so if you are still seeing hits the cause is usually one of four things rather than the bot misbehaving. First, robots.txt is cached — OpenAI may be working from a copy fetched up to 24 hours before your change. Second, the rule may not match: robots.txt user-agent matching is on a prefix of the token, and a typo or a trailing character breaks it silently. Third, the block may sit under a different user-agent group than the one this bot reads, since a bot obeys only the most specific group that matches it, not the wildcard group as well. Fourth, the traffic may be something else sending ChatGPT-User as its user agent, which anything can do.
Treat it as no unless OpenAI says otherwise. Rendering JavaScript costs an order of magnitude more than fetching HTML, and most AI crawlers — unlike Googlebot, which runs a full headless Chrome — read the raw HTML response and stop there. The practical consequence: anything your page loads client-side after the initial response is likely invisible to ChatGPT-User. If your main content is client-rendered, server-render it or pre-render it so the text exists in the first response.
OpenAI publishes them as JSON at https://openai.com/chatgpt-user.json, updated as their infrastructure changes. Fetch that file rather than hard-coding the prefixes, and match the request IP against it to confirm a visit is genuinely ChatGPT-User. This is the only reliable check — the user-agent header is self-declared, so a scraper can send "ChatGPT-User" while coming from anywhere.
There is no fixed schedule. ChatGPT-User serves live answers, so its crawl rate tracks demand — pages that come up in OpenAI conversations get fetched more often, and a site nobody asks about may see it rarely or never. Frequency also rises with how often your pages change and how many links point at them. The only way to know for your own site is to measure it: grep your access log for the user agent, or paste the log into our AI Bot Log Analyzer, which breaks hits down by date and path in your browser.
OpenAI publishes it at https://platform.openai.com/docs/bots. That page is the authoritative source for the user-agent string and OpenAI's stated crawling policy, and OpenAI also publishes ChatGPT-User's IP ranges as JSON at https://openai.com/chatgpt-user.json so you can verify requests rather than trusting the header.
Part of our directory of every known AI crawler, refreshed monthly. Last verified: 2026-09-13.