{
 "generated_at": "2026-08-31T22:48:53+00:00",
 "note": "Where each operator publishes verifiable IP ranges. Everything not listed here has no published ranges: for those, reverse DNS or nothing.",
 "sources": [
  {
   "slug": "openai-gptbot",
   "operator": "OpenAI",
   "label": "GPTBot",
   "upstream_url": "https://openai.com/gptbot.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/openai-gptbot.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/openai-gptbot.txt",
   "covers": [
    "gptbot"
   ],
   "ok": true,
   "ipv4_count": 21,
   "ipv6_count": 0
  },
  {
   "slug": "openai-searchbot",
   "operator": "OpenAI",
   "label": "OAI-SearchBot",
   "upstream_url": "https://openai.com/searchbot.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/openai-searchbot.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/openai-searchbot.txt",
   "covers": [
    "oai-searchbot"
   ],
   "ok": true,
   "ipv4_count": 35,
   "ipv6_count": 0
  },
  {
   "slug": "openai-chatgpt-user",
   "operator": "OpenAI",
   "label": "ChatGPT-User",
   "upstream_url": "https://openai.com/chatgpt-user.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/openai-chatgpt-user.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/openai-chatgpt-user.txt",
   "covers": [
    "chatgpt-user"
   ],
   "ok": true,
   "ipv4_count": 204,
   "ipv6_count": 0
  },
  {
   "slug": "google-googlebot",
   "operator": "Google",
   "label": "Googlebot",
   "upstream_url": "https://developers.google.com/static/search/apis/ipranges/googlebot.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/google-googlebot.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/google-googlebot.txt",
   "covers": [
    "googlebot",
    "googlebot-image",
    "googlebot-news"
   ],
   "ok": true,
   "ipv4_count": 169,
   "ipv6_count": 146
  },
  {
   "slug": "google-special",
   "operator": "Google",
   "label": "Google special-purpose crawlers",
   "upstream_url": "https://developers.google.com/static/search/apis/ipranges/special-crawlers.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/google-special.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/google-special.txt",
   "covers": [
    "googleother",
    "google-cloudvertexbot",
    "google-inspectiontool",
    "storebot-google"
   ],
   "ok": true,
   "ipv4_count": 135,
   "ipv6_count": 135
  },
  {
   "slug": "google-user-triggered",
   "operator": "Google",
   "label": "Google user-triggered fetchers",
   "upstream_url": "https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/google-user-triggered.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/google-user-triggered.txt",
   "covers": [],
   "ok": true,
   "ipv4_count": 528,
   "ipv6_count": 528
  },
  {
   "slug": "google-user-triggered-google",
   "operator": "Google",
   "label": "Google user-triggered fetchers (Google-owned ranges)",
   "upstream_url": "https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers-google.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/google-user-triggered-google.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/google-user-triggered-google.txt",
   "covers": [],
   "ok": true,
   "ipv4_count": 247,
   "ipv6_count": 247
  },
  {
   "slug": "bing-bingbot",
   "operator": "Microsoft",
   "label": "bingbot",
   "upstream_url": "https://www.bing.com/toolbox/bingbot.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/bing-bingbot.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/bing-bingbot.txt",
   "covers": [
    "bingbot"
   ],
   "ok": true,
   "ipv4_count": 28,
   "ipv6_count": 0
  },
  {
   "slug": "apple-applebot",
   "operator": "Apple",
   "label": "Applebot",
   "upstream_url": "https://search.developer.apple.com/applebot.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/apple-applebot.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/apple-applebot.txt",
   "covers": [
    "applebot"
   ],
   "ok": true,
   "ipv4_count": 33,
   "ipv6_count": 0
  },
  {
   "slug": "duckduckgo-duckduckbot",
   "operator": "DuckDuckGo",
   "label": "DuckDuckBot",
   "upstream_url": "https://duckduckgo.com/duckduckbot.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/duckduckgo-duckduckbot.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/duckduckgo-duckduckbot.txt",
   "covers": [
    "duckduckbot"
   ],
   "ok": true,
   "ipv4_count": 481,
   "ipv6_count": 0
  },
  {
   "slug": "perplexity-bot",
   "operator": "Perplexity",
   "label": "PerplexityBot",
   "upstream_url": "https://www.perplexity.ai/perplexitybot.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/perplexity-bot.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/perplexity-bot.txt",
   "covers": [
    "perplexitybot"
   ],
   "ok": true,
   "ipv4_count": 8,
   "ipv6_count": 0
  },
  {
   "slug": "perplexity-user",
   "operator": "Perplexity",
   "label": "Perplexity-User",
   "upstream_url": "https://www.perplexity.ai/perplexity-user.json",
   "mirror_json": "https://www.pathwren.workers.dev/ip-ranges/perplexity-user.json",
   "mirror_txt": "https://www.pathwren.workers.dev/ip-ranges/perplexity-user.txt",
   "covers": [
    "perplexity-user"
   ],
   "ok": true,
   "ipv4_count": 4,
   "ipv6_count": 0
  }
 ]
}