{
 "slug": "perplexity-bot",
 "label": "PerplexityBot",
 "operator": "Perplexity",
 "operator_slug": "perplexity",
 "upstream_url": "https://www.perplexity.ai/perplexitybot.json",
 "fetched_at": "2026-09-03T02:42:01+00:00",
 "http_status": 200,
 "ok": true,
 "error": null,
 "source_created": "2025-02-07T16:56:00.000000",
 "sha256": "2688b50802b42611b412f8ac3bc614248d0eab00d74f4ceda41cb78526bde6b2",
 "covers": [
  "perplexitybot"
 ],
 "ipv4_count": 8,
 "ipv6_count": 0,
 "links": [
  {
   "rel": "self",
   "href": "https://www.pathwren.workers.dev/ip-ranges/perplexity-bot.json",
   "type": "application/json"
  },
  {
   "rel": "changes",
   "href": "https://www.pathwren.workers.dev/changes.json?since=111",
   "type": "application/json",
   "title": "What changed since your cursor — poll this instead of re-downloading this document",
   "cursor_param": "since",
   "head_cursor": 111,
   "min_poll_seconds": 21600,
   "how": "Read `cursor` from the response and send it back as `since`. It advances only when something really changed, so an unchanged answer is proof rather than luck — about 2.5 KB, or a 304 with no body if you send back the ETag."
  },
  {
   "rel": "related",
   "href": "https://www.pathwren.workers.dev/ip-ranges/all.json",
   "type": "application/json",
   "title": "Every operator-published prefix, unioned and grouped by source"
  },
  {
   "rel": "related",
   "href": "https://www.pathwren.workers.dev/status.json",
   "type": "application/json",
   "title": "Freshness of every upstream IP-range source"
  },
  {
   "rel": "service-desc",
   "href": "https://www.pathwren.workers.dev/openapi.json",
   "type": "application/json",
   "title": "Every read endpoint, described formally"
  }
 ],
 "ipv4": [
  "107.20.236.150/32",
  "18.210.92.235/32",
  "18.97.1.228/30",
  "18.97.9.96/29",
  "3.211.124.183/32",
  "3.222.232.239/32",
  "3.224.62.45/32",
  "3.231.139.107/32"
 ],
 "ipv6": []
}