Perplexity-User IP ranges
Fetches a page when a Perplexity user asks about it: a user's request rather than a crawl. Perplexity publishes the address ranges Perplexity-User crawls from so sites can tell it from a scraper carrying its name. This is that file, synced daily by the same job that feeds the IP lookup, with the date of the copy and how to check a visitor against it.
Perplexity-User at a glance
| Operator | Perplexity |
|---|---|
| What it does | AI assistant, fetching on a user's behalf |
| Answered as | crawler: Perplexity-User · crawler_kind: ai_assistant |
| Published file | https://www.perplexity.ai/perplexity-user.json |
| Prefixes today | 4 IPv4, 0 IPv6 |
| Copy synced | 2026-09-12 |
The ranges
Every prefix in Perplexity's file as of 2026-09-12, IPv4 first, each family in address order. An address inside any of them is Perplexity-User as far as its operator is concerned.
IPv4 · 4
18.97.21.0/30 18.97.43.80/29 34.193.163.52/32 44.208.221.197/32
IPv6 · 0
—
How to verify a visitor is Perplexity-User
Take the request's source address and check it against the prefixes above; the User-Agent header is a claim anyone can type and proves nothing on its own. Perplexity documents the ranges as the way to verify Perplexity-User; a reverse DNS name is not part of its guidance, so do not rely on one.
What the API answers for one of its addresses
A lookup of an address inside these ranges answers is_crawler true, names it in crawler and classes it in crawler_kind. A crawler carries no risk weight, and the datacenter weight is skipped for it: its operator is known and its infrastructure is the point.
curl https://spaw.co/api/v1/ip \
-H "Authorization: Bearer $SPAW_KEY" \
-H "Content-Type: application/json" \
-d '{"ip": "18.97.21.0"}'"is_crawler": true,
"crawler": "Perplexity-User",
"crawler_kind": "ai_assistant",
"risk_signals": [{ "signal": "datacenter", "weight": 0, "dataset": "datacenter-ranges" }]A range proves the operator, not intent. Whether Perplexity-User is welcome on a site is a robots.txt decision; this page and the lookup only settle whether a request that says it is Perplexity-User really came from Perplexity.
Other crawlers
- Googlebot
- Google special crawlers
- Google user-triggered fetchers
- Google user-triggered fetchers
- Bingbot
- GPTBot
- ChatGPT-User
- OAI-SearchBot
- PerplexityBot
- DuckDuckBot
- AhrefsBot
- Applebot
- YandexBot
- Baiduspider
- Every crawler
- Look up any address
crawler-ranges 2026-09-12 · checked 2026-09-13
More free tools
All free toolsNeed this at scale?
The Spaw API answers is_crawler, the crawler's name and its kind for any address, from these ranges and a forward-confirmed reverse DNS check — 10 free lookups a month, no card required.