Autonomous Agentic AI Pipeline

Free tool, nothing leaves your browser

User agent parser that can prove a crawler is real

Paste a user agent string and it tells you what the string claims to be. Then, because a user agent is self reported text that anything can send, it takes an IP address and checks it against the address ranges Google and Bing publish themselves. A claim you can check beats a claim you have to trust.

The parsing half handles the case that breaks most parsers. Nearly every Chromium browser writes Chrome/x and Safari/537.36 into its own string, so a naive test reports Edge, Opera, Brave, Vivaldi and Samsung Internet all as Chrome. This one tries the specific token before the generic one, reports the engine rather than guessing it from the brand, separates a phone from a tablet on Android by whether the string carries Mobile, and flags headless and driver tokens.

The half that matters at three in the morning is different. When something is crawling your site calling itself Googlebot, the question is whether it is, and that is answered by the address it came from, not by the string it sent.

  • 1,669official IP ranges loaded from Google and Bing
  • 59tests passing on the parser and the range matcher
  • 34crawlers named, 12 verifiable, plus 41 browsers and clients
  • 39of 83 major sites now name an AI crawler in robots.txt

01Read the claim, then check it

Paste the user agent string from your access log. If it claims to be a crawler that publishes its address ranges, add the IP from the same log line and the check runs against the published list. Everything happens in your browser and nothing is sent anywhere.

The address ranges are the files Google and Bing publish, stored beside this page with the timestamp each operator stamped on them. Nobody else publishes a machine readable range list, so for every other crawler this page reads the claim and then says plainly that it cannot verify it.

02A user agent string proves nothing on its own

The user agent is a header the client chooses. Setting it to Googlebot takes one line of code, and scrapers do it constantly, because a lot of sites wave through anything that says Googlebot. That is why blocking or allowing on the string alone is not a control, it is a suggestion.

Both operators that publish ranges say the same thing in their own documentation. Confirm the request by address, not by the header. Google gives two ways to do it and this page implements the one a browser can do honestly.

the two checks Google documentseither is sufficient

1. reverse DNS      PTR on the IP must end in googlebot.com or google.com
                    then a forward lookup on that name must return the same IP
                    a browser cannot do DNS, so this page cannot run it for you

2. published range  the IP must fall inside one of the prefixes in the JSON
                    files Google publishes. That is what the tool above runs.

The second check is the one that works from a static page, so it is the one implemented here. If you need the reverse DNS check as well, run host on the address and then run host on the name it returns, and confirm you get back the address you started with.

03What a match does and does not tell you

A match means the request came from an address the operator publishes as its own. That is a strong signal about origin and it is worth having. It is not a statement that the request is welcome, and there are three specific things it does not mean.

It does not mean the crawler will obey your robots.txt, though Google and Bing do. It does not mean the traffic is harmless, because a real crawler can still hammer a slow endpoint. And it does not stay true, because these lists change. Every file on this page carries the timestamp its operator stamped on it, shown next to the result, so a stale answer is visible rather than silent.

A non match is weaker evidence than a match. It can mean a spoof, and it can equally mean a crawler that simply does not publish ranges, which is most of them. The tool says which of those two it is rather than reporting every non match as a fake.

04The lists this page checks against

Four files, fetched on 2026-08-24 and republished here unmodified. The timestamps are the operators own, not ours.

Published crawler address ranges, fetched 2026-08-24
ListWhat it coversIPv4IPv6Operator timestamp
googlebotGooglebot, the crawler that fetches pages for Google Search1691462026-08-21T14:45:42.000000
special-crawlersGoogle special crawlers such as AdsBot and APIs-Google1351352026-08-21T14:46:19.000000
user-triggered-fetchersGoogle fetchers a user action triggers, such as Site Verifier5285282026-08-21T14:45:40.000000
bingbotBingbot, the crawler for Bing Search2802024-01-03T10:00:00.121331
totalevery list this page checks860809

Google splits its crawlers across three files on purpose. Googlebot is search crawling. Special crawlers cover things like AdsBot. User triggered fetchers cover requests a person set off, such as Search Console inspecting a URL, and that file is the largest of the three.

05Which crawlers real sites actually name

Identifying a crawler is more useful when you know whether anyone else treats it as worth naming. On 2026-08-24, 83 major sites returned a robots.txt, and these are the user agent tokens they name most often. A site is counted once per token however many times it appears.

User agent tokens named most often across 83 major sites
TokenSites naming itShare
ccbot2935 percent
gptbot2834 percent
claudebot2834 percent
google-extended2328 percent
chatgpt-user2227 percent
anthropic-ai2227 percent
perplexitybot2227 percent
bytespider2227 percent
applebot-extended2125 percent
meta-externalagent2125 percent
amazonbot2024 percent
adsbot-google1923 percent
oai-searchbot1720 percent
facebookbot1619 percent

The AI crawlers are the story in that table. 39 of 83 sites now name at least one, which was rare two years ago. Naming is not the same as blocking, since some of those groups carry an allow rule, and the count is a token match on the user agent line rather than a judgement about intent.

If you are writing rules for any of these, the robots txt checker on this site will tell you which rule actually wins for a given path, including the case where a group named for one crawler silently switches off the rules in the star group.

06The tests this parser passes

A tool that cannot show its own results is asking to be trusted rather than checked. All 59 of these run against the code on this page, and the verification cases run against the real published ranges rather than invented ones.

Test suite, all 59 cases passing
CaseResult
inCidr4 exact /32pass
inCidr4 /24 insidepass
inCidr4 /24 outsidepass
inCidr4 /0 matches allpass
inCidr4 rejects bad ippass
inCidr4 rejects bad cidrpass
expand6 loopbackpass
expand6 full formpass
inCidr6 /64 insidepass
inCidr6 /64 outsidepass
inCidr6 rejects v4pass
ipKind v4pass
ipKind v6pass
ipKind junkpass
googlebot detectedpass
googlebot verifiablepass
googlebot-news beats googlebotpass
gptbot detectedpass
gptbot NOT verifiablepass
chrome detectedpass
macos detectedpass
chrome not a crawlerpass
firefox detectedpass
windows detectedpass
edge beats chromepass
ios detectedpass
mobile flagpass
empty ua refusedpass
real googlebot v6 verifiespass
real googlebot v4 verifiespass
random public ip does not verifypass
private ip does not verifypass
junk ip refusedpass
bingbot v4 verifiespass
Edge not mistaken for Chromepass
Opera not mistaken for Chromepass
Samsung Internet detectedpass
Vivaldi detectedpass
Brave detectedpass
Chrome for iOS detectedpass
Edge major versionpass
Edge engine is Blinkpass
Chrome for iOS engine is WebKitpass
IE11 via Trident rvpass
curl detectedpass
headless flaggedpass
normal chrome not flagged automatedpass
iPad is tabletpass
android with Mobile is mobilepass
android without Mobile is tabletpass
smart tv detectedpass
playstation is consolepass
desktop windowspass
NT 10.0 named honestlypass
NT 5.1 is Windows XPpass
NT 6.1 is Windows 7pass
iPad platform iPadOSpass
win64 archpass
linux x86_64 archpass

Read before acting on any verdict above

07What this tool cannot tell you

  • LIMITThe IP lists are a snapshot. Google and Bing update them, and each file carries its own creationTime, shown on the page. Re-fetch before treating a verdict as current.
  • LIMITAn IP inside an official range is evidence the request came from that operator, not proof that the request is benign. Confirm with reverse DNS as the operators document.
  • LIMITOnly Google and Bing publish machine readable ranges. For any other crawler this page can identify the claim in the user agent string but cannot verify it, and it says so rather than guessing.
  • LIMITThe robots.txt counts are a fixed list of large sites, not a random sample of the web, and naming a crawler is not the same as blocking it.
  • LIMITA user agent string is self reported text. Anything can send anything, which is the whole reason the IP check exists.
  • LIMITNo ranking, indexation, traffic, or revenue outcome is promised by this site or by the product it sells.
  • LIMITNo end to end run from intake through indexation has been completed by anyone, including the seller, and there are currently no customers, so there are no reviews and no case studies.
  • LIMITThe sixty day refund covers whether the software is what this site describes and whether it runs, and never whether a search engine chose to index or rank anything built with it.

08Where the ranges come from

This page was built by the pipeline it sells

The tool and the reference data on this page are what the pipeline produces. It refuses a keyword already saturated by an AI Overview, it will not let a page state a number that code did not compute, and it blocks a page that only restates what already ranks. It runs on your machine, there is no hosted service and no account, and you pay once.

Sixty day refund. Nothing about traffic, rankings or indexation is promised here or anywhere else on this site.