OAI-AdsBot user agent
Operated by OpenAI
OAI-AdsBot is OpenAI's fetcher that checks the landing page of an ad submitted to ChatGPT against OpenAI's ad policies.
The OAI-AdsBot bot at a glance
- OAI-AdsBot is operated by OpenAI and checks landing pages for an advertising platform.
- The robots.txt token for OAI-AdsBot is OAI-AdsBot.
- Blocking a platform fetcher has no effect on organic search rankings.
- OAI-AdsBot robots.txt support: Not documented.
- Recommendation for Generative Engine Optimization (GEO): Allow.
What is OAI-AdsBot?
OAI-AdsBot only visits pages that an advertiser submitted as a ChatGPT ad. It checks the landing page for policy compliance and relevance.
OpenAI states that the data OAI-AdsBot collects is not used to train foundation models.
Should you block OAI-AdsBot?
Allow OAI-AdsBot unless it causes a measurable load problem.
| Effect on search rankings | Blocking a platform fetcher has no effect on organic search rankings. |
|---|---|
| Effect on AI visibility | Blocking breaks the feature the fetcher serves, such as ad approval or feed updates. |
| Follows robots.txt | Not documented |
| Recommendation | Allow |
How to block or allow OAI-AdsBot
Put the robots.txt rule in the file at the root of every domain and subdomain, for example https://example.com/robots.txt. The token OAI-AdsBot is matched case-insensitively. robots.txt alone may not stop OAI-AdsBot, so add the Nginx, Apache or Cloudflare rule as well.
robots.txt: block
# Block OAI-AdsBot
User-agent: OAI-AdsBot
Disallow: /robots.txt: allow
# Allow OAI-AdsBot
User-agent: OAI-AdsBot
Allow: /robots.txt: partial
# Keep OAI-AdsBot out of private areas only
User-agent: OAI-AdsBot
Disallow: /wp-admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Allow: /Nginx
# Nginx: return 403 to OAI-AdsBot
if ($http_user_agent ~* "(OAI\-AdsBot)") {
return 403;
}Apache
# Apache .htaccess: return 403 to OAI-AdsBot
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (OAI\-AdsBot) [NC]
RewriteRule .* - [F,L]Cloudflare WAF
# Cloudflare > Security > WAF > Custom rule, action: Block
(http.user_agent contains "OAI-AdsBot")How to verify real OAI-AdsBot traffic
OpenAI publishes no IP list or reverse DNS pattern for OAI-AdsBot, so the user agent cannot be verified. Anyone can send the same string. Rate-limit unusual volume instead of trusting the name.
How to find OAI-AdsBot in your server logs
Search the web server access log for the token. The command below counts OAI-AdsBot requests per URL on Nginx or Apache.
grep -i "OAI-AdsBot" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20For a full report per AI bot, upload the log to the AI Log File Analyzer, a free tool by Justin Hà.
OAI-AdsBot FAQ
OAI-AdsBot uses the robots.txt token "OAI-AdsBot". OpenAI does not publish a full user-agent string, so match the token inside the User-Agent header.
OpenAI has not documented how OAI-AdsBot treats robots.txt. Add a robots.txt rule and back it with a server rule if the traffic matters to you.
Blocking a platform fetcher has no effect on organic search rankings. Blocking breaks the feature the fetcher serves, such as ad approval or feed updates.
Add two lines to the robots.txt file at the root of each domain and subdomain: "User-agent: OAI-AdsBot" followed by "Disallow: /". The token is case-insensitive. Changes can take up to 24 hours to be picked up.
Not reliably. OpenAI publishes no IP list or reverse DNS pattern for OAI-AdsBot, so anyone can send the same user agent. Rate-limit unusual volume instead of trusting the name.
Search your server access log for "OAI-AdsBot", for example with: grep -i "OAI-AdsBot" access.log. The AI Log File Analyzer by Justin Hà counts visits per AI bot from an uploaded log file.
Sources: OpenAI crawler documentation. Last reviewed by Justin Hà.
See which of these bots actually reach your website
The AI Log File Analyzer by Justin Hà counts visits from GPTBot, ClaudeBot, PerplexityBot and other AI crawlers in your server log, for free. The GEO Technical Package sets up robots.txt, llms.txt and crawler access for AI search.