PerplexityBot user agent string

Surfaces and links websites in Perplexity search results; Perplexity says it is not used to crawl content for AI foundation models. Below is the exact string it sends, what each part means, and how to allow or block it.

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)

At a glance

TypeAI crawler
OperatorPerplexity
PurposeIndexes sites for Perplexity search
Version1.0
robots.txt tokenPerplexityBot

Allow or block it in robots.txt

Block PerplexityBot from the whole site

User-agent: PerplexityBot
Disallow: /

Allow it again

User-agent: PerplexityBot
Allow: /

String breakdown

FragmentMeaning
Mozilla/5.0Historical compatibility token. Nearly every browser claims "Mozilla/5.0" so that old servers do not serve it broken pages.
AppleWebKit/537.36WebKit rendering engine, build 537.36. Chromium browsers keep this token for compatibility.
KHTML, like GeckoCompatibility note: the engine descends from KHTML and behaves like Gecko. Kept for legacy browser sniffers.
compatibleCompatibility token — historically sent by IE, now mostly by bots.
PerplexityBot/1.0PerplexityBot 1.0 — an automated crawler/bot, not a real browser.
+https://perplexity.ai/perplexitybotInfo page the bot operator publishes for webmasters.

Use it in code

curl

curl -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" https://example.com

Python (requests)

import requests
requests.get("https://example.com", headers={"User-Agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)"})

Playwright (Node.js)

const context = await browser.newContext({ userAgent: "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" });

Source: Perplexity Crawlers · checked September 2026

Related user agents

All user agent strings →

What does your own browser send? Check your user agent →