All guides
PerplexityBotPerplexity SEOrobots.txt

What Is PerplexityBot? Complete Guide to Perplexity's Web Crawler, robots.txt & User Agent

Learn what PerplexityBot is, how to allow it in robots.txt, which user agents matter, how to verify crawling, and how crawler access affects Perplexity SEO visibility.

20 min readJenish Hapaliya

Here's a stat that should make every site owner and SEO pause: Perplexity AI now processes an estimated 1.2 to 1.5 billion queries per month, and that traffic is growing at over 20% month-over-month. The platform has crossed 45 million monthly active users, and the people using it aren't casual browsers-they're researchers, senior professionals, and high-intent buyers who spend an average of 12 minutes per session.

But here's the part most teams miss: none of those answers exist without PerplexityBot crawling your site first.

If PerplexityBot can't access your content, you don't get indexed. If you don't get indexed, you don't get retrieved. If you don't get retrieved, you don't get cited. And if you don't get cited, you are invisible to the fastest-growing, highest-converting search audience on the web.

This guide is a complete technical and strategic breakdown of PerplexityBot: what it is, how it differs from Googlebot, exactly how to allow it in your robots.txt using the correct user agent, how to verify it's crawling you, and how its indexing decisions shape whether your brand shows up in Perplexity answers. No theory. Just the mechanics, the config files, and the checks you need to run today.

Related: Want to go deeper on Perplexity SEO strategy? Check out the Perplexity SEO Tracker for advanced citation monitoring and competitor tracking.

What Is PerplexityBot?

PerplexityBot is Perplexity AI's official web crawler. Its job is to continuously discover, fetch, and index public web pages so that Perplexity's answer engine has a current, comprehensive retrieval layer to pull from when generating cited responses.

Perplexity actually operates two distinct crawlers, and confusing them is a common mistake that costs visibility.

CrawlerTypePurposeFull User Agent String
PerplexityBotScheduled indexing crawlerBuilds and refreshes the Perplexity search indexMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Perplexity-UserReal-time retrieval agentOn-demand page fetching for live/current queriesMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)

PerplexityBot is the scheduled indexing crawler-think of it as Perplexity's equivalent to Googlebot. It crawls the web on a recurring basis to build and refresh the search index that powers the majority of Perplexity answers.

Perplexity-User is the real-time retrieval agent. When a user asks a time-sensitive or breaking-news question, this crawler fetches pages on demand in the moment-similar to how a browser requests a page when someone clicks a link.

Both need access to your content. Blocking one and allowing the other is like leaving your front door unlocked but barring the back entrance-Perplexity can still get in for live queries, but your scheduled index freshness and overall citation consistency will suffer.

PerplexityBot User Agent & robots.txt Documentation

This is the first check every site owner should make. It takes 60 seconds and fixes the most common cause of Perplexity invisibility.

The Correct robots.txt Configuration

Add the following blocks to your robots.txt file, ideally at the top before other rules:

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

If you have specific sections you don't want crawled-staging environments, internal tools, user account pages-you can use Disallow directives under each user agent block just as you would for Googlebot. But the default posture should be open access for both crawlers.

Common robots.txt Mistakes That Block PerplexityBot

MistakeExampleImpact
Blanket "Disallow: /" for all botsUser-agent: * Disallow: /Blocks PerplexityBot, Googlebot, and everything else. Zero search visibility anywhere.
Allowing only Googlebot explicitlyUser-agent: Googlebot Allow: / User-agent: * Disallow: /PerplexityBot gets caught in the catch-all Disallow: / net.
Case sensitivity errorsPerplexitybot or perplexitybotrobots.txt user agent matching is case-sensitive. Will not match PerplexityBot.

Mistake 1: Blanket "Disallow: /" for all bots Some sites use a catch-all block during development and forget to remove it. If this is live on your production site, you have zero search visibility anywhere. Fix it immediately.

Mistake 2: Allowing only Googlebot explicitly This is more common than you'd think, especially on sites that have suffered from aggressive spam bot traffic. The problem: PerplexityBot isn't Googlebot. It gets caught in the Disallow: / net. If you use whitelist-only robots.txt, you must add PerplexityBot and Perplexity-User explicitly.

Mistake 3: Case sensitivity errors robots.txt user agent matching is case-sensitive. Perplexitybot or perplexitybot will not match PerplexityBot. Copy the exact strings from this guide.

PerplexityBot robots.txt User Agent Documentation

For teams managing multiple sites or working with developers who need official documentation, here's the consolidated reference for PerplexityBot robots.txt user agent configuration:

User AgentTypePurposerobots.txt Directive
PerplexityBotScheduled crawlerBuilds and refreshes the Perplexity search indexUser-agent: PerplexityBot
Perplexity-UserReal-time fetcherOn-demand page retrieval for live/current queriesUser-agent: Perplexity-User

Both crawlers follow the same robots.txt standard as Googlebot and other major crawlers. The documentation for their behavior is consistent with RFC 9309 (Robots Exclusion Protocol).

If you're writing internal documentation for your dev or SEO team, include these exact user agent strings. A single character difference-lowercase "b" in "Bot," missing hyphen in "Perplexity-User"-will cause the crawler to be blocked by robots.txt rules.

PerplexityBot robots.txt User-Agent: Full Reference

When configuring your robots.txt file, the user-agent declaration must match exactly. Here's the complete reference:

For the scheduled indexing crawler:

User-agent: PerplexityBot
Allow: /

For the real-time retrieval crawler:

User-agent: Perplexity-User
Allow: /

Combined block (recommended):

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

Place these at the top of your robots.txt before generic or catch-all rules. PerplexityBot reads robots.txt from top to bottom and applies the first matching user-agent block it finds.

PerplexityBot Crawler Documentation: WAF Whitelist for Cloudflare and AWS

robots.txt operates at the application layer. Your Web Application Firewall (WAF) operates at the network layer. If PerplexityBot is blocked by WAF rules, it never reaches your robots.txt file to read the Allow directive.

This is a silent killer. Your robots.txt looks perfect. Your server logs show zero PerplexityBot hits. The bot is being dropped at the edge.

Perplexity's Official IP Ranges

Perplexity publishes its crawler IP ranges in JSON format:

CrawlerJSON Endpoint
PerplexityBothttps://perplexity.com/perplexitybot.json
Perplexity-Userhttps://perplexity.com/perplexity-user.json

You should fetch these directly from Perplexity's documentation before configuring your WAF, as IP ranges can change. As of 2026, the ranges are published and updated there.

Cloudflare WAF Configuration

StepActionDetails
1Navigate to Security → WAF → ToolsIn your Cloudflare dashboard
2Create Allow rulesFor each IP range listed in Perplexity's JSON files
3Set rule action to AllowNot "Bypass"-Allow permits the request while still applying other security layers
4Add descriptive notes"PerplexityBot crawler whitelist" so your team knows why it's there

If you use Cloudflare's Super Bot Fight Mode, be aware that it may challenge "unverified" bots by default. PerplexityBot may fall into this category. You can create a Custom Rule in the WAF:

  • Field: User Agent
  • Operator: contains
  • Value: PerplexityBot
  • Action: Skip → select Super Bot Fight Mode

This ensures PerplexityBot isn't challenged or blocked by heuristic bot detection.

AWS WAF Configuration

StepActionDetails
1Navigate to your Web ACLIn the AWS WAF console
2Create a new IP SetUsing the CIDR ranges from Perplexity's JSON files
3Add a Rule with AND logicIf request originates from IP Set PerplexityBots AND User-Agent contains PerplexityBot or Perplexity-User → Then Allow
4Place rule early in priorityBefore rate-limiting rules that might throttle crawler traffic

AWS WAF's rate-based rules are especially dangerous here. PerplexityBot can crawl aggressively on large sites. A default rate limit of 2,000 requests per 5 minutes may throttle it. Either exempt PerplexityBot IP ranges from rate limits or set a dedicated, higher threshold.

A Note on Undeclared Crawlers

In August 2025, Cloudflare published research showing that Perplexity was using undeclared crawlers that rotated user agents and IP addresses to access pages where robots.txt had blocked the declared bots. This generated significant controversy.

This doesn't change the practical advice: you should explicitly allow the declared crawlers and whitelist their published IP ranges. But it does mean that your robots.txt settings are a floor, not a ceiling, for crawl access. If Perplexity wants to index your public content, technical barriers may slow them but won't categorically stop them. The focus should be on ensuring your content is accessible to the official crawlers so it gets into the structured index that powers cited answers-not on playing whack-a-mole with undeclared access.

How PerplexityBot Differs from Googlebot

The differences aren't cosmetic. They change how you think about crawl accessibility and content structure.

FactorGooglebotPerplexityBot
Primary PurposeBuild a ranked search indexFeed a RAG retrieval layer for answer synthesis
Index TypeSingle, monolithic indexSeparate index optimized for passage extraction
Freshness WeightingQuery-dependent; strong for news, weak for evergreenExponential time decay applied broadly; 30-day window is critical
JavaScript RenderingAdvanced; executes JS fullyMore limited; prioritizes initial HTML
Crawl Frequency SignalSitemap, internal links, update frequencyIndexNow pings, update frequency, freshness decay
Content Structure RewardedComprehensive depth, topical authority, backlink profileExtractability, answer-forward structure, lists, tables, schema
User-Agent StringGooglebot/2.1PerplexityBot/1.0 and Perplexity-User/1.0
IP WhitelistingLarge, dynamic ranges from GooglePublished JSON files at perplexity.com
robots.txt DocumentationExtensive Google Search Central docsOfficial docs at perplexity.ai/perplexitybot

Separate Index, Separate Rules

Googlebot feeds into a single, monolithic index that powers Google Search, Google Images, Google News, and AI Overviews. PerplexityBot feeds into Perplexity's own retrieval layer, which is architected as a Retrieval-Augmented Generation (RAG) pipeline. The crawler doesn't just dump pages into a database-it feeds a system that needs to extract, embed, and rerank passages in milliseconds.

What this means for you: Googlebot is patient. It will crawl deep, follow complex navigation, and revisit pages on its own schedule. PerplexityBot is optimized for freshness and extractability. It prioritizes pages that are recently updated, structurally clean, and easy to parse into discrete answer blocks. A page that ranks well on Google but hasn't been updated in 8 months may be crawled by Googlebot regularly and still lose retrieval priority in Perplexity.

Freshness Weighting Is Hard-Coded

Google applies freshness as a query-dependent signal-it's strong for news and weak for evergreen reference content. Perplexity applies what researchers describe as an exponential time decay across the board. Pages updated within the last 30 days receive substantially more retrieval weight than content that's 90+ days old. Studies tracking citation patterns show that recently updated pages can receive up to 2.5x more citations than comparable but stale content.

This isn't a gentle preference. It's a structural bias in the retrieval layer. If your content calendar is built around "publish and leave it," PerplexityBot will gradually deprioritize your pages even if Google continues to rank them.

Crawl Behavior: Less Forgiving of Barriers

Googlebot is sophisticated at handling JavaScript rendering, login walls, and complex single-page applications. PerplexityBot, by current observation, is more direct. It fetches HTML aggressively and moves on. Pages that rely heavily on client-side rendering, infinite scroll without proper pagination, or content gated behind interaction layers are more likely to be partially indexed or skipped entirely.

The practical takeaway: if your content isn't visible in the initial HTML response, PerplexityBot may never see it.

How to Check if PerplexityBot Is Crawling Your Site

You can't optimize for what you can't see. Here are three methods to verify PerplexityBot activity, ordered from simplest to most thorough.

SSH into your server or access your logs via your hosting panel. Run a grep search:

grep -i "PerplexityBot" /var/log/nginx/access.log

Or for Apache:

grep -i "PerplexityBot" /var/log/apache2/access.log

If you see hits, note the frequency, the pages being requested, and the HTTP status codes. A pattern of 200 OK responses on your key content pages is what you want. Patterns of 403 Forbidden, 429 Too Many Requests, or 503 Service Unavailable mean PerplexityBot is being blocked or throttled.

If you see zero hits across multiple days or weeks, and your site is more than a few months old, that's a red flag. Either PerplexityBot hasn't discovered your site yet (unlikely for established domains) or it's being blocked at a layer you haven't checked.

Method 2: GA4 Referral Filter

Perplexity answers include inline citations that users can click. When they do, the referrer in GA4 is perplexity.ai. This isn't crawl data-it's traffic data-but it's a proxy for whether your content is being indexed and cited.

In GA4:

  1. Go to Traffic Acquisition.
  2. Click the filter icon and add a dimension filter: Session source contains perplexity.
  3. Save this as an exploration or add it to your standard reporting dashboard.

If you see sessions from perplexity.ai, PerplexityBot is successfully crawling and your content is being cited. If you see zero sessions over 30+ days, and your site has significant content, you likely have a crawl accessibility problem.

Pro tip: Create a custom channel group specifically for AI referrals. Group perplexity.ai, chat.openai.com, and other emerging AI referrers together. This segment will likely become one of your highest-converting traffic sources.

Method 3: Structured Crawl Monitoring Spreadsheet

For a more systematic check, build a simple monitoring log:

Date CheckedLog SourcePerplexityBot Hits?Perplexity-User Hits?Status CodesPages CrawledAction Needed
2026-06-24NginxYes (47 hits)Yes (12 hits)200 OK/blog/, /products/None
2026-06-24GA4N/AN/AN/AN/A23 sessions from perplexity.ai

Run this check weekly for a month. Patterns emerge quickly. If hits drop off after a WAF rule change, you know exactly what broke.

How PerplexityBot Decides What to Cite

Crawl access is the prerequisite. But once PerplexityBot has your page, what determines whether it becomes a cited source?

Perplexity doesn't publish its full ranking architecture, but the RAG pipeline is well-documented in AI research, and pattern analysis of citation behavior reveals how the retrieval layer operates.

Stage 1: Retrieval

When a user submits a query, Perplexity's system doesn't search a static index like a traditional database. It performs a live retrieval using a combination of keyword matching and semantic vector search. PerplexityBot's indexed content is the corpus being searched.

Your page needs to be retrievable for the query. This means:

  • The page is in the index (crawl success via robots.txt allow and WAF whitelist).
  • The page's content contains semantic matches for the query intent.
  • The page hasn't been deprioritized by freshness decay.

Stage 2: Reranking

Retrieval returns hundreds of candidate pages. Reranking narrows this to the top 15-30 sources that will be passed to the language model for answer generation.

The reranking layer applies quality signals:

  • Domain credibility: Is this domain cited elsewhere on the web? Does it have consistent entity recognition across third-party sites?
  • Content freshness: Was this page updated recently? For time-sensitive queries, pages older than 30 days are heavily penalized.
  • Structural extractability: Can the system pull a clean, self-contained answer block from this page? Or is the key information buried in dense paragraphs with no semantic markers?

Stage 3: Context Assembly and Citation

The selected passages are embedded directly into the generation prompt. The language model writes the answer using this context, and citations are structurally assigned-not added as an afterthought.

This is critical: the citation is determined during context assembly, not after the answer is written. If your content isn't selected during reranking, it will never appear in the final answer, no matter how authoritative your domain is.

The Quality Signals That Matter Most

Based on citation pattern studies and RAG research, here are the signals that consistently separate cited content from ignored content:

SignalWhat It MeansHow to Implement
Answer-Forward StructurePerplexity's retrieval system evaluates pages in milliseconds. It looks for "answer blocks"-self-contained passages that directly respond to a query.Open each section with a direct answer in the first 1-2 sentences, followed by supporting detail.
Structured HTMLClean hierarchy makes extraction dramatically easier.Use H1/H2/H3 hierarchy, short paragraphs, bulleted lists, numbered steps, comparison tables, and FAQ sections.
Entity ClarityPerplexity builds a knowledge graph of entities-brands, products, people, concepts.Use specific, unambiguous names and maintain consistent terminology. Add structured data (Organization, Product, Article schema).
Third-Party CorroborationNearly half of AI citations come from third-party listings rather than brand-owned sites.Ensure consistent brand presence across G2, Capterra, Crunchbase, news coverage, and industry directories.

1. Answer-Forward Structure If your H2 section takes three paragraphs of preamble before stating the actual answer, the system moves on. Pages that open each section with a direct answer in the first 1-2 sentences, followed by supporting detail, are structurally optimized for extraction. This isn't just good writing. It's a technical requirement.

2. Structured HTML Clean H1/H2/H3 hierarchy, short paragraphs, bulleted lists, numbered steps, comparison tables, and FAQ sections make extraction dramatically easier. Research finds that structured list content is cited roughly 40% more frequently than equivalent information presented as prose paragraphs.

3. Entity Clarity When your content uses specific, unambiguous names and maintains consistent terminology, the system maps your information to relevant queries more accurately. Structured data (Organization, Product, Article schema) reinforces this machine-readable context.

4. Third-Party Corroboration Perplexity's confidence in citing you increases when your brand appears consistently across G2, Capterra, Crunchbase, news coverage, and industry directories. Your off-domain presence is a citation signal.

PerplexityBot vs. Other AI Crawlers: How It Compares

Site owners often ask how PerplexityBot compares to GPTBot (OpenAI), ClaudeBot (Anthropic), and Googlebot. Here's the breakdown:

CrawlerUser Agentrobots.txt RespectIP Ranges PublishedPrimary Purpose
PerplexityBotPerplexityBot/1.0Yes (declared)Yes (JSON)RAG retrieval layer for answer synthesis
Perplexity-UserPerplexity-User/1.0Yes (declared)Yes (JSON)Real-time on-demand fetching
GPTBotGPTBot/1.0YesYesTraining data collection for OpenAI models
ClaudeBotClaudeBot/1.0YesYesTraining data collection for Anthropic models
GooglebotGooglebot/2.1YesYesGeneral web indexing for search rankings

The key difference: PerplexityBot feeds a live answer engine, while GPTBot and ClaudeBot primarily collect training data. This means PerplexityBot's crawl behavior is optimized for freshness and extractability in real-time queries, not just broad data collection.

If you're configuring robots.txt to manage multiple AI crawlers, use separate user-agent blocks for each. Don't assume one Allow or Disallow covers them all.

Common PerplexityBot Mistakes (And How to Fix Them)

MistakeThe ProblemThe Fix
Blocking PerplexityBot in robots.txtDisallow directives for PerplexityBot or missing from explicit whitelistCheck your robots.txt right now. Search for PerplexityBot or Perplexity-User. Update the file. It takes two minutes.
WAF Blocking Without WhitelistingBot is dropped at the edge before reaching robots.txtDownload Perplexity's current IP ranges from their JSON endpoints. Add Allow rules in Cloudflare, AWS WAF, or your provider equivalent.
Relying on Client-Side Rendering for Core ContentPerplexityBot prioritizes initial HTML and moves onEnsure your key content-headings, body text, lists, tables-is rendered in the initial HTML response. Use server-side rendering or static generation.
No Freshness StrategyExponential time decay deprioritizes stale contentPut your top 10-20 pages on a 30-day refresh cycle. Update statistics, add new sections, remove outdated claims, and trigger an IndexNow ping after every update.
Never Checking Server LogsYou can't fix what you can't seeAdd a weekly calendar reminder to grep your logs for PerplexityBot and Perplexity-User. Build the monitoring spreadsheet above.

Your Action Plan for This Week

You don't need to rebuild your entire infrastructure. The highest-impact PerplexityBot fixes are concentrated and fast.

TimelineTasksTime Required
TodayCheck your robots.txt for PerplexityBot and Perplexity-User access. Grep your server logs for the last 7 days. Document hits, status codes, and pages crawled.15 minutes
This WeekFetch Perplexity's IP ranges and update your WAF rules. Install IndexNow if you haven't already. Push your next content update immediately after publishing. Set up a GA4 custom channel for perplexity.ai referrals.1 hour
This MonthAudit your top 10 pages for answer-forward structure. Rewrite H2 openings so the direct answer appears in sentence one. Add or update FAQ sections with FAQPage schema. Build the crawl monitoring spreadsheet and set a weekly check rhythm.2-3 hours
Pro tip: For ongoing Perplexity citation tracking and competitor analysis, check out the Perplexity SEO Tracker-it monitors your crawl visibility, citation rates across target prompts, and competitor performance without the manual spreadsheet work.

Frequently Asked Questions About PerplexityBot

QuestionAnswer
Q1. What is PerplexityBot?PerplexityBot is Perplexity AI's scheduled web crawler. It continuously indexes public web pages to build the retrieval layer that powers cited answers in Perplexity's answer engine. Its companion, Perplexity-User, handles real-time fetches for live queries.
Q2. What is the PerplexityBot user agent string?The official user agent is: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot) Perplexity-User uses a similar string with Perplexity-User/1.0 and +https://perplexity.ai/perplexity-user.
Q3. How do I allow PerplexityBot in robots.txt?Add these blocks to your robots.txt: User-agent: PerplexityBot Allow: / User-agent: Perplexity-User Allow: / Ensure these aren't overridden by later Disallow rules or catch-all blocks. Place them at the top of your robots.txt file.
Q4. How is PerplexityBot different from Googlebot?Googlebot builds a ranked link index. PerplexityBot feeds a RAG pipeline optimized for passage extraction and answer synthesis. PerplexityBot applies stronger freshness weighting, is less tolerant of client-side rendering barriers, and rewards structurally extractable content over comprehensive depth.
Q5. How do I know if PerplexityBot is crawling my site?Check your server logs for the user agent string. Look for 200 OK status codes on your key pages. In GA4, monitor for perplexity.ai referral traffic as a proxy for citation activity. Zero hits over multiple weeks on an established site usually indicates a block.
Q6. Should I block PerplexityBot?Only if you have a specific policy reason to exclude your content from AI answer engines. For most businesses, Perplexity traffic converts at 6-11x the rate of Google organic visitors. Blocking PerplexityBot means invisibility to a high-intent, growing audience.
Q7. Does PerplexityBot respect robots.txt?The declared crawlers do. However, Cloudflare research from August 2025 documented instances of Perplexity using undeclared crawlers with rotated user agents to access content where robots.txt had blocked official bots. Your robots.txt is necessary but not sufficient for complete exclusion if Perplexity is determined to access public content.
Q8. How often does PerplexityBot crawl?Crawl frequency depends on site authority, update frequency, and freshness signals. Pages on high-authority domains with regular updates and IndexNow pings are crawled most frequently. Stale pages on low-traffic sites may see infrequent revisits.
Q9. Where can I find official PerplexityBot documentation?Perplexity publishes official documentation for its crawlers at perplexity.ai/perplexitybot, including user agent strings, robots.txt guidelines, and IP range JSON files for WAF configuration.
Q10. What are PerplexityBot's official IP ranges for 2026?Perplexity publishes current IP ranges in JSON format at perplexity.com/perplexitybot.json (for PerplexityBot) and perplexity.com/perplexity-user.json (for Perplexity-User). These are updated periodically, so check the official documentation before configuring your WAF.
Q11. Can I allow PerplexityBot but block GPTBot or ClaudeBot?Yes. Use separate user-agent blocks in your robots.txt: User-agent: PerplexityBot Allow: / User-agent: GPTBot Disallow: / User-agent: ClaudeBot Disallow: / Each crawler reads only the block matching its exact user agent string.

The Bottom Line

PerplexityBot isn't a secondary crawler you can ignore until "AI search matures." It's the infrastructure layer for a platform processing over a billion queries per month, sending visitors who convert at rates that make Google organic look like a rounding error.

The brands that win in Perplexity in 2026 aren't the ones with the most sophisticated Google SEO strategies. They're the ones that understood early that you can't be cited if you can't be crawled.

Check your robots.txt today. Whitelist those IP ranges. Verify your logs. Fix your content structure. The window to establish crawl accessibility and citation authority is open now. The competition is still focused on Google rank tracking.

Want to know if PerplexityBot is actually finding your content-and whether you're getting cited once it does? The Perplexity SEO Tracker monitors your crawl visibility, citation rates across target prompts, and competitor performance without the manual spreadsheet work. Join the waitlist to be first when it launches.

Visibility tracking

Turn Perplexity visibility into a metric.

Track prompts, citations, competitors, and brand visibility from one workspace so you can see what changes after every content update.

Get Early Access