Batch IP Lookup
The Batch IP Lookup endpoint allows you to look up intelligence data for multiple IP addresses in a single request. This is more efficient than making individual requests when you need to query many IPs.
Endpoint
POST/v1/ip/batch
Authentication
This endpoint requires an API key. See Authentication for details.
Request
Headers
| Header | Required | Description |
|---|---|---|
X-API-Key | Yes | Your API key |
Content-Type | Yes | Must be application/json |
Accept | No | Set to application/json (default) |
Request Body
{
"ips": ["8.8.8.8", "1.1.1.1", "208.67.222.222"]
}
| Field | Type | Required | Description |
|---|---|---|---|
ips | array | Yes | Array of IPv4 or IPv6 addresses (max 1000) |
Batch Size Limits
| Tier | Maximum Batch Size |
|---|---|
| Free | 10 IPs |
| Starter | 100 IPs |
| Pro | 500 IPs |
| Enterprise | 1000 IPs |
Response Headers
| Header | Description |
|---|---|
X-Request-ID | Unique identifier for the request |
X-RateLimit-Limit | Maximum requests allowed per time window |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | Unix timestamp when the limit resets |
Response
Success Response (200)
{
"data": {
"8.8.8.8": {
"ip": "8.8.8.8",
"prefix": "8.8.8.0/24",
"asn": 15169,
"asn_name": "Google LLC",
"country": "US",
"detection": {
"is_datacenter": true,
"is_ai_crawler": false,
"cloud_provider": "Google Cloud"
},
"threat": {
"score": 0,
"level": "low"
}
},
"1.1.1.1": {
"ip": "1.1.1.1",
"prefix": "1.1.1.0/24",
"asn": 13335,
"asn_name": "Cloudflare, Inc.",
"country": "US",
"detection": {
"is_datacenter": true,
"is_ai_crawler": false,
"cloud_provider": "Cloudflare"
},
"threat": {
"score": 0,
"level": "low"
}
},
"208.67.222.222": {
"ip": "208.67.222.222",
"prefix": "208.67.222.0/24",
"asn": 36692,
"asn_name": "Cisco OpenDNS, LLC",
"country": "US",
"detection": {
"is_datacenter": true,
"is_ai_crawler": false
},
"threat": {
"score": 0,
"level": "low"
}
}
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440001",
"processing_time_ms": 15,
"dataset_version": 1
}
}
Response Structure
The response data field is a map where:
- Keys are the queried IP addresses
- Values are the lookup results (same schema as single IP lookup)
If an IP is not found in the database, it will be omitted from the results.
Error Responses
400 Bad Request - Invalid JSON
{
"data": {
"error": "invalid JSON body",
"code": "INVALID_JSON"
},
"meta": {
"processing_time_ms": 0
}
}
400 Bad Request - Missing IPs Array
{
"data": {
"error": "ips array is required",
"code": "MISSING_IPS"
},
"meta": {
"processing_time_ms": 0
}
}