
Official IP ranges for AI bot crawlers (OpenAI, Anthropic, Google, Microsoft, Perplexity). Weekly auto-updates.
A collection of official IP ranges for AI bot crawlers from major providers.
This repository tracks and aggregates IP address ranges published by AI providers for their web crawlers. These ranges are useful for:
Last updated: 2026-05-23T09:16:13.774655Z
| Metric | Count |
|---|---|
| Total Providers | 9 |
| Total IP Ranges | 2297 |
| Update Frequency | Weekly (Monday 00:00 UTC) |
# All providers combined
curl -O https://raw.githubusercontent.com/rxerium/ai-bot-ip-ranges/main/ranges/all.txt
# Specific provider
curl -O https://raw.githubusercontent.com/rxerium/ai-bot-ip-ranges/main/ranges/openai.txt
Total ranges: 20
2026-05-01T20:46:04Z136.107.176.208/32
216.73.216.0/22
34.11.34.31/32
34.150.241.79/32
34.162.191.81/32
34.162.230.222/32
34.162.244.71/32
34.182.140.95/32
34.182.161.143/32
34.182.218.27/32
... and 10 more
Full list: ranges/anthropic.txt
Total ranges: 12
2023-10-27T10:00:00.00000017.22.237.0/24
17.22.245.0/24
17.22.253.0/24
17.241.193.160/27
17.241.200.160/27
17.241.208.160/27
17.241.219.0/24
17.241.227.0/24
17.241.75.0/24
17.246.15.0/24
... and 2 more
Full list: ranges/apple.txt
Total ranges: 6
2026-05-15T11:01:43Z18.97.14.80/29
18.97.14.88/30
18.97.9.168/29
2600:1f28:365:80b0::/60
3.41.188.32/29
98.85.178.216/32```
**Full list:** [`ranges/commoncrawl.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/commoncrawl.txt)
</details>
### Duckduckgo
**Total ranges:** 320
<details>
<summary>View Duckduckgo IP ranges</summary>
#### DuckAssistBot
- **Source:** [https://duckduckgo.com/duckassistbot.json](https://duckduckgo.com/duckassistbot.json)
- **Last updated:** `2026-05-12T12:00:00.000000`
- **Range count:** 320
104.43.54.127/32 104.43.55.116/32 104.43.55.117/32 104.43.55.166/32 104.43.55.167/32 108.141.83.74/32 128.203.132.152/32 13.86.35.212/32 13.89.106.77/32 130.107.228.224/32 ... and 310 more
**Full list:** [`ranges/duckduckgo.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/duckduckgo.txt)
</details>
### Google
**Total ranges:** 1625
<details>
<summary>View Google IP ranges</summary>
#### Googlebot
- **Source:** [https://developers.google.com/static/search/apis/ipranges/googlebot.json](https://developers.google.com/static/search/apis/ipranges/googlebot.json)
- **Last updated:** `2026-05-22T14:46:16.000000`
- **Range count:** 311
| Last Check | 2026-05-23T09:16:13.774655Z |
| Provider | File | Range Count |
|---|
| Anthropic | ranges/anthropic.txt | 20 |
| Apple | ranges/apple.txt | 12 |
| Commoncrawl | ranges/commoncrawl.txt | 6 |
| Duckduckgo | ranges/duckduckgo.txt | 320 |
ranges/google.txt | 1625 | |
| Microsoft | ranges/microsoft.txt | 28 |
| Mistral | ranges/mistral.txt | 6 |
| Openai | ranges/openai.txt | 268 |
| Perplexity | ranges/perplexity.txt | 12 |
| All | ranges/all.txt | 2297 |
192.178.4.0/27 192.178.4.128/27 192.178.4.160/27 192.178.4.192/27 192.178.4.224/27 192.178.4.32/27 192.178.4.64/27 192.178.4.96/27 192.178.5.0/27 192.178.6.0/27 ... and 301 more
**Full list:** [`ranges/google.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/google.txt)
#### Google-Special-Crawlers
- **Source:** [https://developers.google.com/static/search/apis/ipranges/special-crawlers.json](https://developers.google.com/static/search/apis/ipranges/special-crawlers.json)
- **Last updated:** `2026-05-22T14:46:20.000000`
- **Range count:** 266
108.177.2.0/27 108.177.2.128/27 108.177.2.160/27 108.177.2.192/27 108.177.2.224/27 108.177.2.32/27 108.177.2.64/27 108.177.2.96/27 192.178.16.0/27 192.178.16.128/27 ... and 256 more
**Full list:** [`ranges/google.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/google.txt)
#### Google-User-Triggered
- **Source:** [https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers.json](https://developers.google.com/static/search/apis/ipranges/user-triggered-fetchers.json)
- **Last updated:** `2026-05-22T14:46:17.000000`
- **Range count:** 1048
107.178.192.0/27 107.178.192.128/27 107.178.192.160/27 107.178.192.192/27 107.178.192.224/27 107.178.192.32/27 107.178.192.64/27 107.178.192.96/27 107.178.193.0/27 107.178.193.128/27 ... and 1038 more
**Full list:** [`ranges/google.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/google.txt)
</details>
### Microsoft
**Total ranges:** 28
<details>
<summary>View Microsoft IP ranges</summary>
#### Bingbot
- **Source:** [https://www.bing.com/toolbox/bingbot.json](https://www.bing.com/toolbox/bingbot.json)
- **Last updated:** `2024-01-03T10:00:00.121331`
- **Range count:** 28
13.66.139.0/24 13.66.144.0/24 13.67.10.16/28 13.69.66.240/28 13.71.172.224/28 139.217.52.0/28 157.55.39.0/24 191.233.204.224/28 199.30.24.0/23 20.125.163.80/28 ... and 18 more
**Full list:** [`ranges/microsoft.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/microsoft.txt)
</details>
### Mistral
**Total ranges:** 6
<details>
<summary>View Mistral IP ranges</summary>
#### MistralAI-Index
- **Source:** [https://mistral.ai/mistralai-index-ips.json](https://mistral.ai/mistralai-index-ips.json)
- **Last updated:** `2026-04-19T12:00:00.000000`
- **Range count:** 2
135.225.57.92/32 20.240.192.194/32```
Full list: ranges/mistral.txt
2025-02-19T12:00:00.00000020.240.160.1/32
20.240.160.161/32
20.240.194.83/32
51.12.243.114/32```
**Full list:** [`ranges/mistral.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/mistral.txt)
</details>
### Openai
**Total ranges:** 268
<details>
<summary>View Openai IP ranges</summary>
#### GPTBot
- **Source:** [https://openai.com/gptbot.json](https://openai.com/gptbot.json)
- **Last updated:** `2025-10-30T11:00:00.000000`
- **Range count:** 21
132.196.86.0/24 172.182.202.0/25 172.182.204.0/24 172.182.207.0/25 172.182.214.0/24 172.182.215.0/24 20.125.66.80/28 20.171.206.0/24 20.171.207.0/24 4.227.36.0/25 ... and 11 more
**Full list:** [`ranges/openai.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/openai.txt)
#### ChatGPT-User
- **Source:** [https://openai.com/chatgpt-user.json](https://openai.com/chatgpt-user.json)
- **Last updated:** `2026-05-21T03:03:10.233980`
- **Range count:** 247
104.210.139.192/28 104.210.139.224/28 13.65.138.112/28 13.65.138.96/28 13.67.72.16/28 13.70.107.160/28 13.71.2.208/28 13.76.115.224/28 13.76.115.240/28 13.76.116.80/28 ... and 237 more
**Full list:** [`ranges/openai.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/openai.txt)
</details>
### Perplexity
**Total ranges:** 12
<details>
<summary>View Perplexity IP ranges</summary>
#### PerplexityBot
- **Source:** [https://perplexity.ai/perplexitybot.json](https://perplexity.ai/perplexitybot.json)
- **Last updated:** `2025-02-07T16:56:00.000000`
- **Range count:** 8
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```
Full list: ranges/perplexity.txt
2025-10-17T10:17:00.00000018.97.21.0/30
18.97.43.80/29
34.193.163.52/32
44.208.221.197/32```
**Full list:** [`ranges/perplexity.txt`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/ranges/perplexity.txt)
</details>
## Summary
- **Total unique ranges:** 2297
- **Providers tracked:** 11
- **Update frequency:** Weekly (every Monday)
## Verification
**Important:** IP ranges alone are not sufficient for bot verification. Always combine with:
1. **User-Agent header** - Check the bot identifies correctly
2. **Reverse DNS** - Verify rDNS matches provider's domain
3. **IP range** - Confirm IP is in published ranges
User-Agent headers can be spoofed easily, so multi-factor verification is recommended.
## Configuration Examples
Ready-to-use configuration snippets for popular platforms:
- **[Nginx](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/configs/nginx-block.conf)** - Block AI bots with IP verification
- **[Apache](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/configs/apache-htaccess)** - .htaccess rules for blocking
- **[Cloudflare Workers](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/configs/cloudflare-worker.js)** - Edge worker implementation
- **[Python Verification](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/configs/python-verification.py)** - Multi-factor bot verification script
See the [`configs/`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/configs/) directory for complete examples.
## Data Sources
All IP ranges are fetched directly from official provider endpoints. See [`fetch_ranges.py`](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/fetch_ranges.py) for the complete list of sources.
## Contributing
Found a new AI bot with published IP ranges? Open an issue or PR with:
- Provider name
- Official JSON endpoint URL
- Bot purpose (training/indexing/user-triggered)
## License
MIT License - see [LICENSE](https://github.com/rxerium/ai-bot-ip-ranges/blob/HEAD/LICENSE)
## Related Resources
- [robots.txt for AI](https://ai.robots.txt/)
- [Project Discovery - Web Crawlers](https://github.com/projectdiscovery/nuclei-templates)
- [IANA IP Allocations](https://www.iana.org/assignments/ipv4-address-space/)
---
**Maintained by [@rxerium](https://github.com/rxerium)** • [rxerium.com](https://rxerium.com)