VerisoulAgent Atlas
All agents

Perplexity's bots

From Perplexity

Type: AI crawlersSelf-declaredDetection guide
Verisoul ResearchUpdated 4 min read

Perplexity runs two declared bots with published IP files, along with a public history of fetching pages that had blocked them.

How to detect Perplexity's bots

You detect Perplexity's declared bots by matching the PerplexityBot/1.0 or Perplexity-User/1.0 token in the user agent and confirming the IP is in the matching JSON file Perplexity publishes. Both identify themselves, but Cloudflare reported on Aug 4, 2025 that Perplexity also fetched blocked sites with an undeclared agent posing as Chrome on macOS from unlisted IPs, which Perplexity disputes and which a token and IP check cannot catch. Verisoul verifies the declared bots against Perplexity's network and returns them as agent id perplexitybot or perplexity_user.

Detection method
Self-declaredThe agent names itself in its user agent, and Verisoul confirms it with network, device or behavioral data. A user agent alone is never enough.
Signals that identify it
  • NetworkSource IP confirmed as the operator's own network

Perplexity's crawler docs list two bots. PerplexityBot indexes pages so they can surface and be cited in Perplexity's answers, and Perplexity says it is not used to train foundation models. Perplexity-User fetches a page live when a user's question needs it, from the web, the apps or the API. Perplexity has not published a launch date for either.

Site owners ask about Perplexity more than most because of its history. In June 2024 Wired traced an unlisted Perplexity IP on AWS fetching Condé Nast pages that had blocked PerplexityBot, and a year later Cloudflare made a larger version of the same claim.

Cloudflare's stealth crawling report and Perplexity's response

On Aug 4, 2025 Cloudflare reported that when its customers blocked PerplexityBot and Perplexity-User, Perplexity kept fetching their pages with an undeclared agent that posed as Chrome on macOS and rotated through IPs and networks outside Perplexity's published lists. Cloudflare set up brand-new test domains that disallowed all bots and still saw their content in Perplexity's answers. It measured 20 to 25 million daily requests from Perplexity's declared agents and 3 to 6 million from the undeclared one, removed Perplexity from its verified bots program and added the stealth crawler to its managed AI crawler rule, including on free plans.

Perplexity disputed the report. It said on X that Cloudflare had misattributed traffic from BrowserBase, a hosted browser service it says it uses for fewer than 45,000 requests a day, and argued that agents fetching pages for a user's question are not bots and need not follow robots.txt, a position Search Engine Journal and TechRadar covered at the time. We found no public sign that Cloudflare has restored Perplexity's verified bot status.

How Perplexity's bots show up on your site

Both bots are HTTP fetchers that send a Chrome-like WebKit user agent with a declared token and a perplexity.ai link, such as PerplexityBot/1.0 or Perplexity-User/1.0. They come from IP ranges Perplexity publishes in two files, perplexitybot.json and perplexity-user.json, which Perplexity calls the source of truth. Neither signs its requests, and Perplexity was not among the first Cloudflare signed agents. Comet, Perplexity's AI browser, is a separate product that looks like a normal browser.

CheckWhat Perplexity's bots do
User agentDeclared tokens PerplexityBot/1.0 and Perplexity-User/1.0
Web Bot Auth signatureNone documented
IP rangesPublished as two JSON files on perplexity.com
robots.txtPerplexityBot follows it, Perplexity-User generally doesn't

Why Perplexity's bots are medium difficulty to detect

The declared bots are easy, because a token match plus the IP file settles it, and PerplexityBot picks up robots.txt changes within about 24 hours. Perplexity-User is harder to control, since it generally ignores robots.txt on the grounds that a person asked for the page, so blocking it takes a firewall rule on the token and IP list.

The real difficulty is anything that doesn't declare itself. A fetch that arrives as ordinary Chrome on macOS from an IP outside Perplexity's files, like the agent in Cloudflare's report, won't match either check, so it can only be caught from how the browser and session behave.

How Verisoul detects Perplexity's bots

The declared bots are self-declared, so Verisoul reads the token and confirms the source IP belongs to Perplexity's network before naming it. Traffic that hides as Chrome isn't named as Perplexity, while Verisoul still flags it as automated through bot score.

API response
"agent": {
  "id": "perplexitybot",
  "name": "PerplexityBot",
  "provider": "Perplexity",
  "type": "ai_crawler",
  "detection_method": "self_declared",
  "detection_signals": [
    "network",
    "behavioral"
  ]
}
  • id is perplexitybot here, and live fetches come back as perplexity_user
  • type is ai_crawler, which separates read-only crawlers from agents that act on a page
  • detection_method is self_declared, because the bot named itself
  • detection_signals is network, meaning the source IP was confirmed as Perplexity's own

See the PerplexityBot entry in Agent Atlas and the AI agent detection docs for both ids.

  1. 01Perplexity user asks a question
  2. 02Perplexity-User fetches your page
  3. 03Request carries the Perplexity-User token
  4. 04Your server matches token and IP
How Perplexity's bots reaches your site

How to detect Perplexity's bots step by step

  1. Turn on Verisoul and read the agent object in the API response
  2. Use robots.txt for PerplexityBot and a rule on perplexity_user if you want live fetches stopped
  3. Treat any Perplexity token from an IP outside the JSON files as spoofed
  4. Rate limit or block unnamed sessions with a high bot score on the content you protect

Should you block Perplexity's bots?

The declared bots only read pages, so allowing them is a content decision rather than a fraud one, and many teams allow both for visibility in Perplexity answers. Undeclared traffic that hides as Chrome is a scraping question, so block or challenge it by bot score on the pages you care about.

How Perplexity's bots shows up in the Atlas

Verisoul returns these Atlas entries for Perplexity's bots sessions it can name.

Questions about Perplexity's bots

Does Perplexity ignore robots.txt?

PerplexityBot says it respects robots.txt, but Perplexity-User generally ignores it because a person asked for the page. Wired in 2024 and Cloudflare in 2025 also documented fetches of content that sites had disallowed, which Perplexity disputes.

Is Perplexity still stealth crawling after Cloudflare's report?

Cloudflare reported on Aug 4, 2025 that Perplexity used an undeclared agent posing as Chrome on macOS when its bots were blocked. Perplexity said Cloudflare misattributed traffic from BrowserBase, and we found no public sign that Cloudflare has restored Perplexity's verified bot status.

What is the difference between PerplexityBot and Perplexity-User?

PerplexityBot crawls pages so they can appear and be cited in Perplexity answers, while Perplexity-User fetches a single page live for a user's question. Only PerplexityBot follows robots.txt.

How do I block Perplexity-User?

Use a firewall rule that matches the Perplexity-User/1.0 token and the IPs in perplexity.com/perplexity-user.json, because robots.txt won't stop it.

How do I verify PerplexityBot IP addresses?

Compare the source IP to perplexity.com/perplexitybot.json, and use perplexity-user.json for live fetches. A Perplexity token from an IP outside those files is spoofed.

Does PerplexityBot train AI models?

Perplexity says PerplexityBot indexes pages for its answers and is not used for foundation model training.

Sources

  1. Perplexity crawlers, Perplexity
  2. Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives, Cloudflare
  3. Perplexity hits back after Cloudflare slams its scraping tools, TechRadar
  4. Cloudflare delists and blocks Perplexity, Search Engine Journal
  5. Perplexity is a bullshit machine, Wired
  6. PerplexityBot IP ranges, Perplexity
  7. Perplexity-User IP ranges, Perplexity