{
 "slug": "perplexity-user",
 "name": "Perplexity-User",
 "operator": "Perplexity",
 "operator_slug": "perplexity",
 "category": "user-fetch",
 "category_label": "User-triggered fetchers",
 "robots_token": "Perplexity-User",
 "user_agent_substring": "Perplexity-User",
 "user_agent_example": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Safari/537.36; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user",
 "respects_robots_txt": "by-design-no",
 "respects_robots_txt_label": "not governed by robots.txt (user-initiated, by operator policy)",
 "verification_method": "published-ranges",
 "verification_label": "published IP ranges",
 "published_ip_ranges_url": "https://www.perplexity.ai/perplexity-user.json",
 "ip_ranges_endpoint": "https://www.pathwren.workers.dev/ip-ranges/perplexity-user.json",
 "ipv4_prefix_count": 4,
 "ipv6_prefix_count": 0,
 "what_it_is": "Fetches a page because a Perplexity user asked for it. Perplexity documents that this fetch is user-initiated and is therefore not governed by robots.txt — a robots rule will not stop it, by stated policy.",
 "cost_of_blocking": "Not controllable via robots.txt. If you must stop it, verify by the published IP ranges and block at the edge — and accept that users who ask for your page get an error.",
 "operator_docs": "https://docs.perplexity.ai/guides/bots",
 "html_url": "https://www.pathwren.workers.dev/crawler/perplexity-user.html",
 "json_url": "https://www.pathwren.workers.dev/crawler/perplexity-user.json",
 "last_reviewed": "2026-09-01"
}