Skip to content

GuideAI crawlers

ChatGPT-User: what it means when ChatGPT visits your page

ChatGPT-User is the user agent OpenAI uses when ChatGPT or a Custom GPT visits a web page because someone asked it something. It doesn't crawl the web automatically, and OpenAI says robots.txt rules "may not apply" because a person started the request. It also has no say in whether your site appears in ChatGPT search; OAI-SearchBot does.

The story · 3 steps
Check my updated pagesFree plan: 10 free links to try (once you verify your email), then 100 free checks a month, no card.
On this page · 6 sections
  1. 01Who runs ChatGPT-User and when does it visit your site?
  2. 02What is ChatGPT-User's user-agent string?
  3. 03Does ChatGPT-User obey robots.txt?
  4. 04Should you allow or block ChatGPT-User?
  5. 05How do you verify ChatGPT-User in your server logs?
  6. 06Where are OpenAI's official ChatGPT-User docs?

Genuine ChatGPT-User visits in your logs mean someone's ChatGPT request led to your page, one of the few traces of ChatGPT activity you can see on your own server, and a useful input for optimizing for AI search. This page covers what triggers it, its exact user-agent string, what OpenAI says about robots.txt, what allowing or blocking it changes, how to read and verify it in your logs, and OpenAI's own docs.

Who runs ChatGPT-User and when does it visit your site?

OpenAI runs ChatGPT-User as a user-triggered fetcher: it loads a page on behalf of a person using ChatGPT, rather than crawling (visiting pages on its own schedule) like a search or training bot. OpenAI's crawler page says it uses ChatGPT-User "for certain user actions in ChatGPT and Custom GPTs" and that ChatGPT users "may also interact with external applications via GPT Actions" (OpenAI).

OpenAI is explicit about what it isn't: "ChatGPT-User is not used for crawling the web in an automatic fashion." OpenAI doesn't publish a list of the exact prompts or features that trigger a visit; its documentation says only that ChatGPT "may visit a web page" when a user asks a question.

How it compares with OpenAI's automated bots:

Bot

Started by

Purpose

robots.txt

ChatGPT-User

A ChatGPT or Custom GPT user's request

Reads a page to help with that request

OpenAI says rules "may not apply"

OAI-SearchBot

OpenAI, automatically

Surfaces sites in ChatGPT search

Followed

GPTBot

OpenAI, automatically

Collects content that may be used for training

Followed

Source: OpenAI crawler documentation, as of October 2026. Our overview of AI crawlers and fetchers compares OpenAI's bots with other operators' crawlers, such as Anthropic's ClaudeBot.

What is ChatGPT-User's user-agent string?

ChatGPT-User sends a short user-agent string (the name a bot sends with each request) ending in a generic OpenAI info URL. Unlike its sibling bots, OpenAI labels this one the "full user-agent string" rather than an example (OpenAI). As of October 2026:

Text
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot

Two things to note:

  1. The token is ChatGPT-User, with a hyphen and both capitals. Match it case-insensitively in server rules, since robots.txt matching is case-insensitive too.
  2. The info URL is https://openai.com/bot, not a bot-specific page like GPTBot's /gptbot or OAI-SearchBot's /searchbot. Don't build log filters on the URL; use the token.

Does ChatGPT-User obey robots.txt?

Not reliably, and OpenAI says so. Its crawler page states: "Because these actions are initiated by a user, robots.txt rules may not apply" (OpenAI). robots.txt (the text file at your site's root that tells crawlers which paths they may fetch) was designed for automated crawlers, and OpenAI treats a ChatGPT-User visit as a person's request rather than a crawl.

"May not apply" isn't "never applies". You can still write a group for it, and it costs nothing:

Text
User-agent: ChatGPT-User
Disallow: /account/

Just don't rely on that rule to keep a page private. The robots.txt standard itself, RFC 9309, says its rules "are not a form of access authorization." Anything that must stay private needs a login, or a server rule like the one below.

OpenAI also points search decisions elsewhere: "Please use OAI-SearchBot in robots.txt for managing Search opt outs and automatic crawl." A ChatGPT-User rule in robots.txt doesn't change your ChatGPT search eligibility either way.

Should you allow or block ChatGPT-User?

For most public pages, allow ChatGPT-User: a visit means a ChatGPT user's request led to your page, and blocking it doesn't buy you a search or training opt-out. Block it only on paths you don't want an AI assistant to read for anyone, such as account areas, and do it at the server.

Choice

What changes

What doesn't change

Allow (default)

ChatGPT can read the page when a user's request calls for it

Your ChatGPT search eligibility (OAI-SearchBot) and training opt-out (GPTBot)

robots.txt Disallow

A request that OpenAI "may not" honor

Search eligibility; OpenAI says ChatGPT-User isn't used for that

Server returns 403 to ChatGPT-User

ChatGPT can't read that page for the user who asked

Search eligibility; other bots; human visitors

What ChatGPT-User traffic can't tell you: whether ChatGPT quoted, linked or recommended your page in its answer. OpenAI doesn't say how fetched content is used in the reply, so treat the visits as interest, not citations. Measuring mentions in answers is a separate job, covered in tracking AI visibility. For how ChatGPT picks what to cite, see how AI search chooses its sources.

If ChatGPT users are reaching your pages, the next question is whether search engines have your current versions too. You can start a free index check of your pages.

Blocking ChatGPT-User at the server (nginx)

This nginx rule returns 403 to ChatGPT-User on /account/ only and leaves the rest of the site open. We tested it with nginx on October 17, 2026: nginx -t passed, ChatGPT-User's published user-agent got 403 on /account/ and 200 on /, and a normal browser got 200 on both.

Text
# in the http block
map $http_user_agent $is_chatgpt_user {
    default         0;
    ~*ChatGPT-User  1;
}

# in the server block
location /account/ {
    if ($is_chatgpt_user) { return 403; }
}

A user-agent match also catches anything impersonating ChatGPT-User. To block only genuine OpenAI traffic, or to allowlist it past a firewall, match the IP ranges in the next section as well. If your site runs on WordPress, start with where WordPress keeps robots.txt before changing server rules.

How do you verify ChatGPT-User in your server logs?

Search your access logs for the ChatGPT-User token, see which pages it requested, then confirm the IP addresses against OpenAI's list at openai.com/chatgpt-user.json. As of October 17, 2026, that file lists 234 IPv4 ranges and is dated October 7, 2026 (its creationTime field), far more ranges, and more recently changed, than GPTBot's (18) or OAI-SearchBot's (39). Refresh it often if you allowlist from it. We ran the commands below on a test log in the combined format nginx and Apache use by default.

  1. See which pages ChatGPT fetched for users, most-requested first:
Shell
grep "ChatGPT-User" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20
  1. Watch the trend per day, for example before and after a launch:
Shell
grep "ChatGPT-User" access.log | awk '{print substr($4, 2, 11)}' | sort | uniq -c
  1. Check the IPs are OpenAI's. This downloads the current list and tests every ChatGPT-User address in your log:
Shell
curl -s https://openai.com/chatgpt-user.json -o chatgpt-user.json
grep "ChatGPT-User" access.log | awk '{print $1}' | sort -u > chatgpt-user-ips.txt
python3 - <<'EOF'
import ipaddress, json
data = json.load(open("chatgpt-user.json"))
nets = [ipaddress.ip_network(p["ipv4Prefix"]) for p in data["prefixes"] if "ipv4Prefix" in p]
print("list dated", data["creationTime"][:10])
for line in open("chatgpt-user-ips.txt"):
    ip = ipaddress.ip_address(line.strip())
    print(ip, "OpenAI ChatGPT-User" if any(ip in n for n in nets) else "NOT in chatgpt-user.json")
EOF

Requests from addresses outside the list aren't ChatGPT-User, whatever they claim. Exclude them before you report ChatGPT-User numbers to anyone.

Because ChatGPT-User visits are started by people, the URL list from step 1 is a rough map of which pages ChatGPT users asked about. It isn't a citation count.

Where are OpenAI's official ChatGPT-User docs?

OpenAI documents ChatGPT-User on Overview of OpenAI Crawlers, alongside GPTBot, OAI-SearchBot and OAI-AdsBot. The older platform.openai.com/docs/bots address redirects there as of October 2026.

Resource

URL

Crawler overview (purpose, robots.txt note, user-agent string)

developers.openai.com/api/docs/bots

ChatGPT-User IP ranges (JSON)

openai.com/chatgpt-user.json

GPT Actions, which also call external apps for users

developers.openai.com/api/docs/actions/introduction

Change feed for the crawler page (RSS)

developers.openai.com/api/docs/bots/rss.xml

robots.txt standard

RFC 9309

For the full picture of getting found in ChatGPT, not just fetched by it, see our ChatGPT SEO guide.

ChatGPT-User reads the live page, so whatever is on it at that moment is what the assistant sees. Search engines work from their own stored copies, which can lag behind your edits; content freshness covers why that gap matters for AI answers. FreshlyCited checks whether Google has indexed each URL, pushes only the ones it hasn't seen, and re-checks on day 1, 3 and 7; Google still decides what it indexes. We don't submit to ChatGPT, and we don't claim to. Check your pages free: 100 checks a month, no card.

Rakesh Patel

Written by

Founder & CEO, Space-O Technologies · Founder, TextBolt

Rakesh Patel founded Space-O Technologies in 2010 and leads it as CEO, with 25 years of leadership experience; he has overseen the delivery of more than 3,000 mobile app projects. He is also the founder of TextBolt, a business email-to-SMS service, and the author of "Enterprise Mobility Strategy and Solutions" and "A Guide to Open311". Space-O built FreshlyCited to solve the "shipped but not seen" problem on its own and its clients' sites: pages and links that are live but that Google hasn't looked at yet.

Founded Space-O Technologies in 2010 · 25 years of leadership experience · author of 'Enterprise Mobility Strategy and Solutions' and 'A Guide to Open311'

Written for FreshlyCited, which helps Google and Bing find new and updated pages sooner. About FreshlyCited

FAQ

Questions people ask

Is ChatGPT-User a web crawler?

Not in the usual sense. OpenAI says it isn't used for crawling the web automatically; it visits a page when a ChatGPT or Custom GPT user's request calls for it.

Will blocking ChatGPT-User remove my site from ChatGPT search?

No. OpenAI says ChatGPT-User isn't used to decide whether content may appear in search. Search opt-outs go through an OAI-SearchBot rule in robots.txt.

Do ChatGPT-User visits mean ChatGPT cited my page?

Not necessarily. A visit shows that a user's request led ChatGPT to fetch the page; OpenAI doesn't say how the content is used in the reply, so track citations separately.

Check my pages free.

See which of your pages Google has indexed, free.