🤖

is.bot

A free, fast API to check if an IP address belongs to a known bot, crawler, scanner, or data center. Simply fetch is.bot?{IP} to check.

35
Known Bots
291
IP Ranges
126.6M
IPs Covered
5
Bot Types

Check an IP Address

Try:

Bot Types

🕷️
crawler
20 sources
🔍
scanner
3 sources
🏢
datacenter
8 sources
🔀
proxy
1 sources
📡
other
3 sources

API Documentation

GEThttps://is.bot?<IP_ADDRESS>

Query String API (Recommended)

The simplest way to check an IP. Just use the IP as a query string.

Example
curl https://is.bot?66.249.64.1
Response
{
  "ip": "66.249.64.1",
  "isBot": true,
  "confidence": "high",
  "botName": "Googlebot",
  "botType": "crawler"
}
GET/api/check?ip=<IP_ADDRESS>

REST API

Traditional REST endpoint with full response details.

Example
curl "https://is.bot/api/check?ip=66.249.64.1"
Response
{
  "ip": "66.249.64.1",
  "isBot": true,
  "confidence": "high",
  "matches": [
    {
      "name": "Googlebot",
      "type": "crawler",
      "description": "Google Search crawler",
      "matchedRange": "66.249.64.0/19"
    }
  ],
  "checkedAt": "2024-12-25T12:00:00.000Z"
}
GET/api/stats

Stats API

Get statistics about the bot database.

Example
curl https://is.bot/api/stats
Response
{
  "totalBots": 38,
  "totalRanges": 284,
  "estimatedIPs": 3224371456,
  "byType": {
    "crawler": 18,
    "datacenter": 8,
    "scanner": 3,
    ...
  }
}
GET/api/bots?type=<TYPE>&search=<QUERY>

Bots List API

List all known bots, optionally filtered by type or search term.

Example
curl "https://is.bot/api/bots?type=crawler"
# Include IP ranges in response
curl "https://is.bot/api/bots?includeRanges=true"
Response
{
  "count": 18,
  "bots": [
    {
      "name": "Googlebot",
      "type": "crawler",
      "description": "Google Search crawler",
      "rangeCount": 15
    },
    ...
  ]
}

Code Examples

JavaScript / Node.js
const checkBot = async (ip) => {
  const res = await fetch(`https://is.bot?${ip}`);
  return res.json();
};

// Usage
const result = await checkBot('66.249.64.1');
if (result.isBot) {
  console.log(`Bot detected: ${result.botName}`);
}
Python
import requests

def check_bot(ip: str) -> dict:
    url = f"https://is.bot?{ip}"
    return requests.get(url).json()

# Usage
result = check_bot("66.249.64.1")
if result["isBot"]:
    print(f"Bot detected: {result['botName']}")
Bash
#!/bin/bash
IP="66.249.64.1"
curl -s "https://is.bot?${IP}" | jq '.isBot'

Known Bots Database

Showing 35 of 35 bots
🕷️
Googlebotcrawler
Google Search crawler
15 IP ranges
🕷️
Bingbotcrawler
Microsoft Bing crawler
9 IP ranges
🕷️
Yandexcrawler
Yandex search crawler
15 IP ranges
🕷️
Baiduspidercrawler
Baidu search crawler
6 IP ranges
🕷️
DuckDuckGocrawler
DuckDuckGo crawler
6 IP ranges
🕷️
Applebotcrawler
Apple search crawler for Siri and Spotlight
1 IP range
🕷️
Facebookbotcrawler
Facebook crawler for link previews
13 IP ranges
🕷️
Twitterbotcrawler
Twitter/X crawler for card previews
3 IP ranges
🕷️
LinkedInBotcrawler
LinkedIn crawler for link previews
2 IP ranges
🕷️
Slackbotcrawler
Slack link preview crawler
1 IP range
🔍
Shodanscanner
Shodan internet scanner
8 IP ranges
🔍
Censysscanner
Censys internet scanner
5 IP ranges
🔍
ZoomEyescanner
ZoomEye internet scanner
1 IP range
🏢
AWSdatacenter
Amazon Web Services (common bot source)
9 IP ranges
🏢
Google Clouddatacenter
Google Cloud Platform
6 IP ranges
🏢
Microsoft Azuredatacenter
Microsoft Azure cloud
6 IP ranges
🏢
DigitalOceandatacenter
DigitalOcean cloud
20 IP ranges
🏢
Linodedatacenter
Linode/Akamai cloud
16 IP ranges
🏢
Vultrdatacenter
Vultr cloud
19 IP ranges
🏢
Hetznerdatacenter
Hetzner cloud and dedicated servers
27 IP ranges
🏢
OVHdatacenter
OVH cloud and hosting
53 IP ranges
🔀
TOR Exit Nodesproxy
TOR network exit nodes (sample ranges)
8 IP ranges
🕷️
Ahrefscrawler
Ahrefs SEO crawler
5 IP ranges
🕷️
SEMrushcrawler
SEMrush SEO crawler
2 IP ranges
🕷️
Majesticcrawler
Majestic SEO crawler
2 IP ranges
🕷️
Mozcrawler
Moz SEO crawler (Rogerbot/DotBot)
1 IP range
🕷️
Internet Archivecrawler
Wayback Machine crawler
2 IP ranges
🕷️
Common Crawlcrawler
Common Crawl foundation
1 IP range
📡
Pingdomother
Pingdom monitoring service
8 IP ranges
📡
UptimeRobotother
UptimeRobot monitoring
5 IP ranges
📡
StatusCakeother
StatusCake monitoring
1 IP range
🕷️
OpenAI/GPTBotcrawler
OpenAI GPT training crawler
7 IP ranges
🕷️
Anthropic/ClaudeBotcrawler
Anthropic Claude training crawler
2 IP ranges
🕷️
PerplexityBotcrawler
Perplexity AI crawler
1 IP range
🕷️
Bytespidercrawler
ByteDance/TikTok crawler
5 IP ranges