How to Verify Real AI Crawler Visits in Your Server Logs
By Zakaria Reziki
CEO — Growli · September 30, 2026 · 5 min read
Drafted with AI assistance under editorial standards set by Zakaria Reziki, then published after automated sourcing and quality checks.
A line in your server logs that says "GPTBot" is not proof that OpenAI's crawler visited you — it's only proof that some request claimed to be GPTBot, and anyone can make that claim. The user-agent string is just a sentence a visitor's software includes with its request, and nothing stops a scraper, a competitor's tool, or a curious student from typing in any name they like.
Fortunately, every major AI crawler operator has solved this the same way search engines already did: by publishing the real list of IP addresses their crawlers actually use, so anyone can check a claimed visit against the real thing. This article walks through exactly how, using the companies' own published verification pages.
Why the name in your logs isn't enough on its own
Picture a dentist's office whose website logs show fifty visits from something calling itself "GPTBot" last month. It feels like proof that OpenAI is reading the site. But a user-agent string is entirely self-reported — like a visitor at the front desk simply saying their name out loud, with nobody checking an ID. A different program, built by anyone, can say the exact same name.
This matters for two practical reasons: if you're deciding whether to block or allow a crawler, you want to know you're actually controlling the real one, not a copycat. And if you're trying to understand how much real AI-crawler traffic you get, an inflated or faked count gives you the wrong picture entirely.
The real verification method: published IP lists
Each major operator solves this the same way: they publish a machine-readable file listing the actual IP address ranges their crawlers send requests from. A request is only genuinely that company's crawler if both the user-agent name and the source IP address match what the company itself publishes.
OpenAI publishes separate verification files for each of its bots — GPTBot, OAI-SearchBot, OAI-AdsBot and ChatGPT-User each have their own list. Anthropic publishes one list covering its crawlers at claude.com/crawling/bots.json. Perplexity publishes files for both of its bots — PerplexityBot and Perplexity-User — and its own documentation recommends checking both the user-agent name and the IP address together for a reliable result.
Published verification files
Where each company publishes its real IP ranges
OpenAI
A separate file for each bot — GPTBot, OAI-SearchBot, OAI-AdsBot, ChatGPT-User.
Anthropic
One published list at claude.com/crawling/bots.json covering its crawlers.
Perplexity
A file for PerplexityBot and a separate one for Perplexity-User.
The four-step check, in plain terms
You don't need to be a developer to run this check, though having one help with the technical steps makes it faster.
- Find the claimed visits in your logs. Search your server's access logs for the bot name you're checking — "GPTBot," "ClaudeBot," or "PerplexityBot" — and note the IP address each request came from.
- Open the company's published IP list. Each is a small, plain text file at the addresses above, meant to be read by software but perfectly readable by a person too.
- Compare the IP address, not just the name. If the IP address from your logs appears in the company's published range, the visit is real. If it doesn't, something claimed a name it doesn't own.
- Recheck periodically. Companies update these ranges as their infrastructure changes, so a one-time check goes stale. Most site owners only need to recheck every few months, or whenever something about their crawler traffic looks unusual.
The check
Verifying a claimed crawler visit
1. Find the visit in your logs
Note the bot name claimed and the IP address it came from.
2. Open the operator's published list
A short, plain text file the company itself maintains.
3. Match the IP, not the name
Only a matching IP address confirms it's the real crawler.
What this actually protects you from
This isn't about paranoia — it's about making an informed decision instead of an assumed one. A business owner who decides to allow GPTBot because they want AI assistants to learn about their products should know that the traffic they're allowing is actually GPTBot, not an unrelated scraper borrowing a trusted name to get past a simple block.
The same check matters in the other direction: a business that blocks GPTBot in robots.txt is trusting that legitimate, well-behaved crawlers respect that instruction — which OpenAI's own documentation says GPTBot does. A faked visit wearing GPTBot's name wouldn't be bound by that same honesty, which is one more reason the IP check matters if you ever see traffic that looks off. Once you've confirmed who's really visiting, our guide to how these crawlers read your site and the facts on whether blocking any of them affects your Google ranking cover the decisions that come next.
See what AI says about your business
Growli measures your share of AI answers across ChatGPT, Gemini, Claude and Perplexity — and turns every gap into prioritized actions.
Get StartedFAQ
No. A user-agent string is self-reported text included with a request, and any program can put any name there. Real verification requires checking the request's IP address against the crawler operator's own published list.
OpenAI publishes one per bot at openai.com (see its developer documentation), Anthropic publishes one list at claude.com/crawling/bots.json, and Perplexity publishes one per bot in its own documentation. Each is a small, plain file.
No. Your web server almost certainly already logs every visitor's IP address and user-agent string. Comparing a logged IP address against a published list is something anyone comfortable reading a short text file can do, or ask a developer to automate.
The companies update their ranges as their infrastructure changes, so treat a check as a snapshot, not a permanent fact. Rechecking every few months, or whenever your crawler traffic looks unusual, is enough for most businesses.
Yes — OpenAI, Anthropic and Perplexity each publish IP verification for their user-triggered bots as well as their crawling bots, so the same check works whether you're verifying a broad crawl or a single real-time fetch.
