Paste an address from your access log to verify a PerplexityBot IP against both published CIDR lists. Perplexity asks site owners to allowlist exactly these ranges, so a PerplexityBot IP match is the check the vendor itself points at. A miss is a different matter: Perplexity declares just 32 addresses, its main list has not moved since February 2025, and Cloudflare has alleged crawling from addresses it never declared. This tool gives you all three readings rather than a red cross.
Quick Answer: How Do You Verify a PerplexityBot IP?
To verify a PerplexityBot IP, match the address against both of Perplexity's published CIDR lists — Perplexity's own documentation asks you to allowlist them. A match is conclusive. A miss is not, because only 32 addresses are declared and the main list dates from February 2025.
Jessica Wright
Cybersecurity Threat Researcher
Jessica works on bot verification and IP reputation, separating traffic that is what it says from traffic that only claims to be.
Every other verifier I have built follows the same logic: address on the published list means real, address not on it probably means somebody borrowed the name. Perplexity broke that rule for me, and it took a while to accept why. Thirty-two declared addresses, for a service answering millions of questions. A main list last touched in February 2025. And a public accusation from Cloudflare that when the declared crawlers were blocked, the requests kept coming from somewhere else.
I have deliberately not picked a side in that dispute. Cloudflare published a test methodology, Perplexity published a rebuttal naming a third-party browser service, and I have read both without being able to settle it. What I can say is what it does to a verdict: on Perplexity, and only on Perplexity, a clean non-match is genuinely three-sided. Anyone who shows you a red cross here and calls it proof of a fake is skipping the interesting part. Worth adding that Perplexity is not hiding the awkward parts either — its own documentation states that Perplexity-User generally ignores robots.txt, which is more candour than the accusation coverage usually credits it with.
Last reviewed 22 August 2026 · Both lists read from Perplexity's published feeds · No lookups logged
View all articles by Jessica WrightPerplexity publishes two range files, one per crawler, and it tells you what to do with them. From Perplexity's crawler documentation:
To ensure your site appears in search results, we recommend allowing PerplexityBot in your site's robots.txt file and permitting requests from our published IP ranges listed below.
That is the vendor asking you to allowlist by IP, which makes a PerplexityBot IP match the check Perplexity itself points at rather than something a third party invented. Together the two files hold twelve CIDR prefixes covering thirty-two addresses. That is the entire declared fleet, and its size shapes everything else on this page.
| Operator | Declared addresses | IPv6 | List last revised |
|---|---|---|---|
| Googlefive files | very large | Yes | days |
| OpenAIfour files | ~1,900 | No | months |
| Anthropicone file | 1,091 | No | days |
| Perplexitytwo files | 32 | No | Feb 2025 (index crawler) |
Alongside those files the documentation carries a warning: “Always use the most current IP ranges from the official JSON endpoints. These addresses are updated regularly and should be the source of truth for your WAF configurations.” Worth holding that next to the timestamp. The index crawler's file has carried a February 2025 date for eighteen months. Both statements are Perplexity's; they do not obviously agree.
Thirty-two addresses is not wrong in itself — a crawler fleet can be small and efficient. But it sets the ceiling on what a PerplexityBot IP check can rule out. When Google declares hundreds of prefixes and revises them constantly, an address outside them is genuinely odd. When an operator declares thirty-two and last touched the main file eighteen months ago, an address outside them is barely evidence at all.
Every declared prefix sits in rented cloud space, almost all of it AWS. So an ASN lookup on a genuine PerplexityBot IP returns Amazon rather than Perplexity, and a datacenter check confirms it is rented space. Neither is a sign of anything wrong.
PerplexityBot builds the standing index Perplexity retrieves from and cites. Perplexity states it is not used to gather content for model training, which makes blocking it a visibility decision rather than a data-rights one: shut it out and you are missing from the library before a question is asked.
Perplexity-User fetches a page in real time because somebody asked. Its relationship with robots.txt is not a matter of interpretation — Perplexity states it outright in the same documentation:
Since a user requested the fetch, this fetcher generally ignores robots.txt rules.
That is the vendor describing its own behaviour, not an accusation anyone has levelled at it. The practical consequence is simple: a Disallow line is not a dependable control for that agent, and the published range is. Perplexity also states that neither crawler collects content for training AI foundation models, so blocking either one is a visibility decision rather than a data-rights one. Changes to robots.txt take up to twenty-four hours to register on Perplexity's side.
For the general verification method across nineteen operators, the universal bot verifier covers it. This page stays on Perplexity, because Perplexity needs its own answer.
Because of a dispute neither side has been able to close. On 4 August 2025 Cloudflare published a report titled "Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives". It is the reason this page reads a non-match differently from every other verifier on this site, so it is worth setting out what each side says.
Cloudflare reported that customers were still seeing Perplexity content fetches after blocking PerplexityBot and Perplexity-User in robots.txt and at the firewall. It then created brand new domains that were not indexed anywhere and not publicly discoverable, gave them strict no-crawl rules, and asked Perplexity about them. Perplexity returned detailed summaries.
Its account of the mechanism: once the declared crawlers were blocked, requests continued behind a generic user-agent impersonating Chrome on macOS, from IP addresses and ASNs outside Perplexity's published ranges, rotating between them. Cloudflare put the scale at tens of thousands of domains and millions of requests a day, and noted that OpenAI's ChatGPT-User behaved differently in the same test — it read robots.txt and stopped. Cloudflare de-listed Perplexity from its Verified Bots programme and added managed rules to block the behaviour.
Perplexity rejected the finding. Its response argued the analysis was technically flawed and that Cloudflare had misattributed three to six million daily requests from BrowserBase, a third-party cloud browser service Perplexity says it uses only occasionally, at well under fifty thousand requests a day. It described the report as a publicity exercise by a company that was also its own vendor, and said Cloudflare had declined to share enough methodology for Perplexity's team to reproduce the finding.
This page does not adjudicate that. Both accounts are public, both are detailed, and neither can be settled from the outside. What can be said is narrower and more useful: an allegation of crawling from undeclared addresses — whether or not it holds — means a PerplexityBot non-match cannot carry the weight the same result carries for Google or OpenAI.
One piece of context predates Cloudflare. In June 2024 the developer Robb Knight documented Perplexity fetching content from his sites after both robots.txt rules and server-level nginx blocks were in place, using a generic user-agent rather than its declared one. Independent of the 2025 dispute, that is a second recorded instance of the same pattern.
A PerplexityBot IP that matches a published prefix is confirmed, and you can act on it. A PerplexityBot IP that matches nothing has three readings, and the tool above lists all three rather than choosing. What separates them is not the address — it is the behaviour attached to it. Request rate, which paths get hit, whether a Disallow rule is respected, and whether the same address keeps appearing under different names in your logs.
Quite possibly, and this catches out site owners who actively want Perplexity citations. There are two separate mechanisms and allowing the crawler in one place does not clear the other.
Cloudflare's second Content Independence Day update replaced the single AI toggle with three categories — Search, Agent and Training — and sets new defaults from 15 September 2026 for new domains, new sites on existing accounts, and free-tier zones. Training and Agent crawlers are blocked by default on pages that display ads; Search stays allowed.
That split lands unevenly across Perplexity's two crawlers. PerplexityBot builds a search index, so it falls on the allowed side. Perplexity-User fetches on behalf of a person, which is the Agent category, so it is blocked by default on ad-serving pages. If you want both, the default will not give you both.
If you want PerplexityBot and it is not arriving, check your Cloudflare AI crawler settings before assuming your allow rule is broken. A robots.txt Allow has no effect on a WAF managed rule, and a custom allow rule has no effect on a reputation-level block. Perplexity's own documentation covers WAF allowlisting by IP and user-agent for both Cloudflare and AWS.
The opposite case matters too. If you have decided you do not want PerplexityBot, robots.txt alone is a weaker instrument here than elsewhere — Perplexity contests whether it binds Perplexity-User at all. The crawler blocker writes robots.txt alongside nginx, Apache and Cloudflare rules built from these same published prefixes, so both layers come from one place.
And if you are auditing more than PerplexityBot, the GPTBot verifier covers OpenAI's four separate crawlers and the ClaudeBot verifier covers Anthropic's combined list. Between them they explain why no two of these operators can be checked the same way.
Perplexity gives less to verify against than any other operator in this cluster, so the limits on a PerplexityBot IP check are unusually wide. A tool that lists only its strengths is no help when you are about to block real traffic.
With thirty-two declared PerplexityBot addresses and an eighteen-month-old main list, plus a live dispute about undeclared crawling, a non-match is not evidence of an impostor. That is the single most important limit on this page.
Perplexity's crawler documentation covers user-agent strings, robots.txt, published IP ranges and WAF allowlisting. It documents no reverse-DNS scheme. A confirmed PTR under a Perplexity domain is reported here as supporting evidence, because it is hard to fake, but it is not a vendor-documented check.
Both files are IPv4 only. An IPv6 address cannot match whether it is genuine or not, so that is reported as inconclusive rather than as a non-match.
Cloudflare and Perplexity disagree publicly about PerplexityBot traffic neither of them will fully characterise for the other. This page presents both accounts and reflects the uncertainty in its verdicts. It does not resolve it.
You paste an address. The tool has no view of the user-agent, the path requested, or the request rate — and with Perplexity those matter more than usual, because behaviour is what separates the three readings of a non-match.
Address space is worked out from the block rather than a registry query. It is right often enough to be useful and it is not authoritative. Confirm with an ASN lookup before acting on it.
Because a non-match settles so little here, the follow-up questions carry more weight than usual. A geolocation and network lookup tells you what the address is, the range export lists every prefix its operator announces so you can see whether one address is part of a pattern, and the guide to IP spoofing covers why a header is never identity.
Check the address against both of Perplexity’s published files: perplexitybot.json for the index crawler and perplexity-user.json for live user fetches. Together they list twelve CIDR prefixes covering thirty-two addresses. Perplexity’s own documentation asks site owners to permit requests from those published ranges, so this is the check the vendor points you at. It documents no reverse-DNS scheme, and the user-agent proves nothing on its own.
PerplexityBot does not — Perplexity asks you to allow it in robots.txt. Perplexity-User is different, and the documentation is blunt about it: “Since a user requested the fetch, this fetcher generally ignores robots.txt rules.” That is Perplexity describing its own behaviour, not an allegation. For that agent a Disallow line is not a dependable control and the published IP range is.
Not necessarily, and Perplexity is the one operator where that answer is genuinely open. Three readings fit: an impostor using the name, a stale list — the main file has not been revised since February 2025 despite the documentation saying the addresses are updated regularly — or Perplexity itself from infrastructure it has not declared, which Cloudflare has alleged and Perplexity disputes. A match is strong evidence; a miss settles very little.
In a report published on 4 August 2025, Cloudflare said that when Perplexity’s declared crawlers were blocked, requests continued from undeclared IP addresses and ASNs behind a generic Chrome-on-macOS user-agent. It tested this using newly created, undiscoverable domains with no-crawl rules, and de-listed Perplexity from its Verified Bots programme. Perplexity called the analysis technically flawed and attributed most of the traffic to BrowserBase, a third-party cloud browser service.
Possibly, through two separate mechanisms. Every Cloudflare zone created after 1 July 2025 blocks AI crawlers by default under a managed rule. Separately, the August 2025 de-listing left a company-level reputation block that some zones still inherit. From 15 September 2026 Cloudflare’s new three-category defaults apply to new domains and free-tier zones, and PerplexityBot falls in the Search category, which stays allowed — while Perplexity-User is an Agent crawler and is blocked by default on pages that show ads.
Because Perplexity rents its crawling infrastructure. Every prefix on both published lists sits in cloud address space, almost all of it AWS, so an ASN lookup on a genuine PerplexityBot IP returns Amazon rather than Perplexity. That is expected and is not a sign of spoofing.
No. Both files contain IPv4 prefixes only. An IPv6 address cannot match them whether it is genuine or not, so this tool reports IPv6 lookups as inconclusive rather than as a non-match.
Blocking PerplexityBot removes you from the index Perplexity cites from, so you cannot appear as a source. Perplexity states that neither of its crawlers collects content for training AI foundation models, so this is a visibility decision rather than a training one. If training data is your concern, this is not the crawler to block.
This page answers one question about Perplexity. These answer the rest.
Browse the full set on the TrustMyIP tools directory.
The blocker writes robots.txt and firewall rules from these same published prefixes — and because Perplexity contests whether robots.txt binds its user agent, having both layers matters more here than usual.
Last updated 22 August 2026 · Both lists read from Perplexity's published feeds · No lookups logged