Fetch the latest official IP addresses for the major search engine and AI crawlers — Google, Bing, OpenAI (GPTBot, ChatGPT-User, SearchBot), Claude, and Ahrefs — in one place. IPv4 ranges are expanded to individual IP addresses for easy lookup, and IPv6 is provided as CIDR ranges. Click the button below to get the most recent list and export it to CSV.
Verify legitimate search engine and AI crawlers by matching their requests against the official IP addresses published by each provider. The list covers traditional search engines (Google, Bing, DuckDuckGo), AI crawlers (OpenAI's GPTBot, ChatGPT-User, and SearchBot, Anthropic's Claude, Perplexity's PerplexityBot and Perplexity-User, and DuckDuckGo's DuckAssistBot), the Common Crawl bot (CCBot), and the Ahrefs SEO crawler.
This can help in several areas:
User Agent Spoofing is a technique used by web browsers and other software to disguise their identity. By altering the User Agent string, a browser can present itself as a different browser, version, or operating system. This can be used for various reasons, such as:
By analyzing log files, we can see both the IP address and the User-agent string for each request. This way we can filter the legitimate ones from the non-legitimate.
Another tool you might be interested in is parsing user-agents in bulk. This provides an in-depth view and an interactive visualization on the details of the devices your users
use to access your site/application.
https://developers.google.com/search/apis/ipranges/googlebot.jsonhttps://www.bing.com/toolbox/bingbot.jsonhttps://claude.com/crawling/bots.jsonhttps://openai.com/chatgpt-user.jsonhttps://openai.com/searchbot.jsonhttps://openai.com/gptbot.jsonhttps://api.ahrefs.com/v3/public/crawler-ip-rangeshttps://duckduckgo.com/duckduckbot.jsonhttps://duckduckgo.com/duckassistbot.jsonhttps://index.commoncrawl.org/ccbot.jsonhttps://www.perplexity.ai/perplexitybot.jsonhttps://www.perplexity.ai/perplexity-user.jsonEach provider publishes its IP ranges in CIDR notation (for example 66.249.64.0/27), where the number after the slash indicates how many leading bits are fixed for the network.
VLOOKUP, a spreadsheet filter, or a WHERE ip IN (...) query) without needing CIDR containment logic./64 range contains 2⁶⁴ addresses, which is impossible to enumerate, so IPv6 entries are kept in their original CIDR form. To match an IPv6 address, check whether it falls inside the range (CIDR containment) rather than looking for an exact match.In the results, the cidr column always shows the originally published range, while the ip column is filled only for IPv4 (one row per address) and left empty for IPv6 ranges.
Here is an example of how the results look:
| bot_name | ip_version | ip | cidr |
|---|---|---|---|
| 4 | 66.249.64.1 | 66.249.64.0/27 | |
| 6 | 2001:4860:4801:10::/64 | ||
| bing | 4 | 157.55.39.5 | 157.55.39.0/24 |
| openai_gptbot | 4 | 20.171.206.10 | 20.171.206.0/24 |
| ahrefs | 4 | 5.39.1.225 | 5.39.1.224/27 |