Free AI crawler user-agent lookup

GPTBot user-agent lookup and robots.txt guide

Find out what User-agent: GPTBot means, compare OpenAI crawlers, and choose a robots.txt policy without confusing model-training preferences with ChatGPT search discovery.

Search crawler tokens See robots.txt examples Verify a GPTBot request
Fast answer

What is User-agent: GPTBot?

GPTBot is OpenAI's crawler for content that may be used to train its generative AI foundation models. In a robots.txt file, User-agent: GPTBot starts a group of rules for that crawler. It is not the same as OAI-SearchBot, which is used for ChatGPT search discovery.

OpenAI guidance checked on : Overview of OpenAI Crawlers. This review date applies to the OpenAI explanations on this page, not a fresh audit of every provider in the lookup.

Search crawler user agents

Enter a crawler token, a line such as User-agent: GPTBot, or an HTTP user-agent string. You can also search a provider or use case, such as OpenAI or user triggered. This is a text lookup, not a live IP identity check.

All crawler records are listed below. Enable JavaScript to filter them.

Lookup result and next step
AI crawler user-agent lookup ready.
Use /data/ai-crawler-user-agent-lookup-pack.json for machine-readable crawler records.
Use /.well-known/ai-crawler-user-agent-lookup-pack.json as the stable discovery path.

GPTBot vs OAI-SearchBot vs ChatGPT-User

Choose the control for the job you want to manage. A training-use preference is not a search opt-out, and a user-requested visit is not an automatic crawl.

OpenAI crawler roles and the limits of each control
AgentPurposeWhat to control
GPTBotAutomatic crawling of content that may be used for model training.Use the GPTBot robots.txt group to express your crawling and training-use preference.
OAI-SearchBotDiscovery for ChatGPT search features.Use the OAI-SearchBot group for automatic search crawling. OpenAI says opted-out sites may still appear as navigational links.
ChatGPT-UserCertain page visits requested by users of ChatGPT or Custom GPTs.OpenAI says robots.txt rules may not apply to user-initiated actions. Use OAI-SearchBot, not ChatGPT-User, to manage search opt-outs.

Read OpenAI's role definitions. Server authentication and firewall controls are separate from robots.txt preferences.

How to block GPTBot while allowing ChatGPT search crawling

If your policy is to disallow GPTBot but allow OAI-SearchBot, the following fragment expresses those two independent choices:

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

This is a fragment, not a replacement for your robots.txt file. Merge it with existing groups and retain any restrictions you need. The OAI-SearchBot example allows the whole path space; do not use it unchanged if some paths should remain disallowed. Robots.txt does not protect private content or override login requirements or firewall blocks.

What if I want to allow GPTBot?

If your policy permits GPTBot crawling, use an appropriate GPTBot group such as the example below, while retaining any path-specific exclusions your site needs. Make the OAI-SearchBot decision separately.

User-agent: GPTBot
Allow: /

Before changing a live file, review the merged rules with the AI crawler robots.txt checker and test representative public and restricted paths. OpenAI says its search systems can take approximately 24 hours to adjust after a robots.txt update; that is not a promise of a crawl, citation, or ranking.

How do I verify a GPTBot request in my logs?

A GPTBot user-agent match is a clue, not identity proof: user-agent strings can be spoofed. This lookup identifies text; it does not contact OpenAI or validate the source IP of a request.

  1. Find the request time, URL path, response status, user agent, and source IP in your own server or edge logs. Keep sensitive log details private.
  2. If a CDN or reverse proxy sits in front of your server, use its trusted client-IP information. Do not trust an arbitrary client-supplied forwarding header.
  3. Compare the request's source IP with OpenAI's current GPTBot IP ranges. OAI-SearchBot and ChatGPT-User have their own published lists. Check membership in the published network ranges, not just whether an address looks similar.
  4. Check the request path and status before drawing conclusions. A visit to robots.txt is not a fetch of your article; a blocked request is not a successful content fetch; crawler traffic is not human traffic.

OpenAI notes that robots.txt requests may include an extra robots.txt marker in the HTTP user agent. Do not hard-code a single full user-agent version as proof of identity. For a next step, use the log analyzer on a sanitized sample, then verify identity against the provider's current guidance.

Common GPTBot questions

Does blocking GPTBot remove my website from ChatGPT search?

Not by itself. OpenAI documents GPTBot and OAI-SearchBot as separate controls. You can disallow GPTBot while allowing OAI-SearchBot. Search inclusion still is not guaranteed; check the OAI-SearchBot policy and server access separately.

Should I paste the full HTTP user-agent string into robots.txt?

No. The group starts with a product token, such as User-agent: GPTBot. Browser-style strings and version numbers are examples of what you might see in HTTP logs, not the token you need for this robots.txt group.

Does a GPTBot visit prove my content was used for training or cited?

No. A verified request can show that a crawler requested a particular resource. It does not prove a later training use, a citation in an answer, a human visit, or a search ranking improvement.

Will robots.txt stop every bot or protect private pages?

No. Robots.txt communicates rules to cooperating crawlers; it is not access control. Protect private content with authentication and appropriate server controls. OpenAI also states that robots.txt rules may not apply to user-initiated ChatGPT-User requests.

For the underlying definitions and updates, use OpenAI's crawler documentation.

Crawler token table

Token Category robots.txt? Recommended first decision Proof
OAI-SearchBot
OpenAI
search discovery Yes Allow when ChatGPT search visibility matters; decide separately from GPTBot. Official source
GPTBot
OpenAI
training use crawler Yes Decide from training-use policy; do not block OAI-SearchBot just because GPTBot is blocked. Official source
ChatGPT-User
OpenAI
user triggered fetch Usually no / limited Monitor separately in logs; use OAI-SearchBot for Search opt-outs and automatic crawl policy. Official source
OAI-AdsBot
OpenAI
ads landing page validation Yes Only relevant if submitting ads on ChatGPT; do not confuse with organic search crawling. Official source
Googlebot
Google
search discovery Yes Allow for public pages that should be eligible for Google Search. Official source
Google-Extended
Google
ai use control token Yes Set separately from Googlebot; do not expect a separate Google-Extended HTTP user-agent in logs. Official source
Applebot
Apple
search discovery Yes Allow public pages if Apple ecosystem discovery matters. Official source
Applebot-Extended
Apple
ai use control token Yes Use when you want Applebot discovery but need a separate Apple training-use decision. Official source
PerplexityBot
Perplexity
search answer discovery Yes Allow if Perplexity search/answer visibility matters, and whitelist published IP ranges if a WAF blocks it. Official source
Perplexity-User
Perplexity
user triggered fetch Usually no / limited Monitor separately from PerplexityBot; verify IP ranges for WAF allow rules. Official source
CCBot
Common Crawl
open web dataset crawler Yes Allow if open web dataset participation is acceptable; block if broad dataset reuse is outside policy. Official source

Detailed crawler notes

OpenAI / search discovery

OAI-SearchBot

Automatic search crawler for ChatGPT search surfaces.

Default: Allow when ChatGPT search visibility matters; decide separately from GPTBot.

Verify: Match the OAI-SearchBot token, then verify against the published OpenAI searchbot IP JSON before using it as identity proof.

Copy-ready note
User-agent: OAI-SearchBot
Allow: /

Example HTTP user agent (version numbers may change): 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.3; +https://openai.com/searchbot

Read official source
OpenAI / training use crawler

GPTBot

Crawler for content that may be used to improve OpenAI generative AI foundation models.

Default: Decide from training-use policy; do not block OAI-SearchBot just because GPTBot is blocked.

Verify: Match GPTBot, then verify against OpenAI's published GPTBot IP JSON where identity matters.

Copy-ready note
User-agent: GPTBot
Disallow: /

Example HTTP user agent (version numbers may change): Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.3; +https://openai.com/gptbot

Read official source
OpenAI / user triggered fetch

ChatGPT-User

User-requested fetcher for certain ChatGPT and Custom GPT actions.

Default: Monitor separately in logs; use OAI-SearchBot for Search opt-outs and automatic crawl policy.

Verify: Treat as user-triggered evidence; verify IPs if using it for bot identity claims.

Copy-ready note
User-agent: OAI-SearchBot
Allow: /
# ChatGPT-User is user-triggered; monitor logs separately.

Example HTTP user agent (version numbers may change): Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot

Read official source
OpenAI / ads landing page validation

OAI-AdsBot

OpenAI ads landing-page safety and relevance validation.

Default: Only relevant if submitting ads on ChatGPT; do not confuse with organic search crawling.

Verify: Verify against the published OAI-AdsBot IP JSON when ad review traffic matters.

Copy-ready note
User-agent: OAI-AdsBot
Allow: /

Example HTTP user agent (version numbers may change): Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-AdsBot/1.0; +https://openai.com/adsbot

Read official source
Google / search discovery

Googlebot

Google Search crawler.

Default: Allow for public pages that should be eligible for Google Search.

Verify: Use reverse DNS or Google's documented verification flow before trusting a Googlebot user-agent string.

Copy-ready note
User-agent: Googlebot
Allow: /

Example HTTP user agent (version numbers may change): Use the Googlebot token or documented Googlebot UA patterns; do not pin to one Chrome version.

Read official source
Google / ai use control token

Google-Extended

Robots.txt product token for certain Gemini model training and grounding controls.

Default: Set separately from Googlebot; do not expect a separate Google-Extended HTTP user-agent in logs.

Verify: Look for Googlebot or other Google crawler strings in logs; Google-Extended itself is a robots.txt control token.

Copy-ready note
User-agent: Google-Extended
Disallow: /

Example HTTP user agent (version numbers may change): No separate HTTP request user-agent string; crawling uses existing Google user-agent strings.

Read official source
Apple / search discovery

Applebot

Apple web crawler for Spotlight, Siri, Safari, and related Apple ecosystem search experiences.

Default: Allow public pages if Apple ecosystem discovery matters.

Verify: Verify reverse DNS under applebot.apple.com or match the published Applebot CIDR JSON.

Copy-ready note
User-agent: Applebot
Allow: /

Example HTTP user agent (version numbers may change): Applebot appears inside the user-agent string; Apple documents a general Safari/WebKit format.

Read official source
Apple / ai use control token

Applebot-Extended

Secondary robots.txt control for Apple foundation-model training usage.

Default: Use when you want Applebot discovery but need a separate Apple training-use decision.

Verify: Do not expect crawl hits from Applebot-Extended; verify Applebot itself for crawler identity.

Copy-ready note
User-agent: Applebot-Extended
Disallow: /

Example HTTP user agent (version numbers may change): Apple says Applebot-Extended does not crawl webpages.

Read official source
Perplexity / search answer discovery

PerplexityBot

Perplexity search result crawler.

Default: Allow if Perplexity search/answer visibility matters, and whitelist published IP ranges if a WAF blocks it.

Verify: Match PerplexityBot and verify against Perplexity's published IP range JSON.

Copy-ready note
User-agent: PerplexityBot
Allow: /

Example HTTP user agent (version numbers may change): Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)

Read official source
Perplexity / user triggered fetch

Perplexity-User

User-requested fetcher for Perplexity user actions.

Default: Monitor separately from PerplexityBot; verify IP ranges for WAF allow rules.

Verify: Treat as user-triggered and verify against Perplexity's published Perplexity-User IP JSON.

Copy-ready note
# Perplexity-User is user-triggered. Review WAF rules and logs separately.

Example HTTP user agent (version numbers may change): Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)

Read official source
Common Crawl / open web dataset crawler

CCBot

Crawler for Common Crawl's open web crawl dataset.

Default: Allow if open web dataset participation is acceptable; block if broad dataset reuse is outside policy.

Verify: Verify with Common Crawl reverse DNS or the published ccbot.json IP ranges.

Copy-ready note
User-agent: CCBot
Disallow: /

Example HTTP user agent (version numbers may change): CCBot/2.0 (https://commoncrawl.org/faq/)

Read official source

Pre-AI search DB handoff

For machine-readable records and integration examples, use the links below. These are companion datasets, not live verification of a request or a substitute for each provider's current documentation.