LLM & AI Bot IP Range Checker
Free tool and API to identify AI crawler traffic from ChatGPT, Claude, Perplexity, Gemini, and Mistral.
API Documentation
5
LLM Providers
8
Bot Types
237
Known IPs
4/3
Citation/Training
API Endpoint Available
GET https://chrisleverseo.com/tools/llm-ip-verification-tool/?api=1&ip=YOUR_IP
10 req/sec
Rate LimitFree
No API Key RequiredJSON
Response Format
Note: Unlike Googlebot, LLM bots don't support reverse DNS verification.
IP matching is the primary verification method.
Quick Start
Example Request:
curl "https://chrisleverseo.com/tools/llm-ip-verification-tool/?api=1&ip=13.65.138.112"
Example Response:
{
"ip": "13.65.138.112",
"timestamp": "2024-11-21T10:30:00Z",
"is_llm_ip": true,
"provider": "OpenAI",
"bot_type": "Citations",
"bot_name": "ChatGPT-User",
"user_agent_pattern": "Mozilla/5.0...ChatGPT-User/1.0...",
"description": "Used when ChatGPT needs to browse...",
"rate_limit": {
"requests_used": 1,
"requests_remaining": 9
}
}
Rate Limiting & Fair Usage
- 10 requests/second per IP address
- Free to use - No API key required
- 3 violations trigger 72-hour block
- Headers included:
X-RateLimit-Limit: 10X-RateLimit-Remaining: 9X-RateLimit-Used: 1Retry-After: 1(on 429 errors)
Abuse Prevention: IPs exceeding rate limits repeatedly will be blocked for 72 hours.
Please implement proper rate limiting in your applications.
Response Codes
| Code | Meaning | Description |
|---|---|---|
| 200 | Success | IP checked successfully (may or may not be an LLM IP) |
| 400 | Bad Request | Missing or invalid IP parameter |
| 429 | Too Many Requests | Rate limit exceeded or IP blocked |
Understanding LLM Bot Traffic
Training Bots
These bots crawl your content to train AI models:
- GPTBot: Training future GPT models
- ClaudeBot: Training Claude AI
- PerplexityBot: Building Perplexity's knowledge base
Consider blocking if: You don't want your content used for AI training
Citation/Search Bots
These bots access content for real-time AI responses:
- ChatGPT-User: Web browsing for ChatGPT
- Perplexity-User: Real-time search results
- Gemini Deep Research: Google's AI search
- MistralAI-User: Mistral's web access
Consider allowing if: You want visibility in AI-powered search
How to Block LLM Bots
Add these rules to your robots.txt file:
# Block all AI training bots
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
# Allow citation bots (for visibility in AI search)
User-agent: ChatGPT-User
Allow: /
User-agent: Perplexity-User
Allow: /
API Usage Examples
Python Example
import requests
import time
def check_ip(ip):
url = "https://chrisleverseo.com/tools/llm-ip-verification-tool/"
params = {"api": "1", "ip": ip}
response = requests.get(url, params=params)
if response.status_code == 200:
data = response.json()
if data["is_llm_ip"]:
print(f"{ip} is {data['provider']} {data['bot_name']}")
else:
print(f"{ip} is not an LLM bot")
elif response.status_code == 429:
print("Rate limit exceeded, waiting...")
time.sleep(1)
return response.json()
# Example usage
check_ip("13.65.138.112")
JavaScript Example
async function checkIP(ip) {
const url = 'https://chrisleverseo.com/tools/llm-ip-verification-tool/';
const params = new URLSearchParams({
api: '1',
ip: ip
});
try {
const response = await fetch(`${url}?${params}`);
const data = await response.json();
if (data.is_llm_ip) {
console.log(`${ip} is ${data.provider} ${data.bot_name}`);
} else {
console.log(`${ip} is not an LLM bot`);
}
return data;
} catch (error) {
console.error('Error:', error);
}
}
// Example usage
checkIP('13.65.138.112');