Bulk IP Threat Intelligence Response
IP and Network IntelligenceA successful Bulk IP Threat Intelligence call returns success: true and the verification result under data.result.
Success Response — 200
{
"status": "SUCCESS",
"status_code": 200,
"charged": true,
"success": true,
"message": "",
"message_code": "OK",
"order_id": "W2A1739512345abcdef01",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"total_requested": 3,
"total_returned": 3,
"results": [
{
"ip_address": "8.8.8.8",
"status": "ok",
"message": "",
"security": {
"threat_score": 5,
"is_anonymous": false,
"is_tor": false,
"is_proxy": false,
"is_residential_proxy": false,
"proxy_providers": [],
"proxy_confidence": 0,
"proxy_last_seen": "",
"is_vpn": false,
"vpn_providers": [],
"vpn_confidence": 0,
"vpn_last_seen": "",
"is_relay": false,
"relay_provider": "",
"is_known_attacker": false,
"is_bot": false,
"is_spam": false,
"is_cloud_provider": true,
"cloud_provider": "Google LLC"
}
},
{
"ip_address": "1.1.1.1",
"status": "ok",
"message": "",
"security": {
"threat_score": 5,
"is_anonymous": false,
"is_tor": false,
"is_proxy": false,
"is_residential_proxy": false,
"proxy_providers": [],
"proxy_confidence": 0,
"proxy_last_seen": "",
"is_vpn": false,
"vpn_providers": [],
"vpn_confidence": 0,
"vpn_last_seen": "",
"is_relay": false,
"relay_provider": "",
"is_known_attacker": false,
"is_bot": false,
"is_spam": false,
"is_cloud_provider": true,
"cloud_provider": "Cloudflare, Inc."
}
},
{
"ip_address": "not-an-ip",
"status": "error",
"message": "Provided IP address 'not-an-ip' is not valid",
"security": {
"threat_score": 0,
"is_anonymous": false,
"is_tor": false,
"is_proxy": false,
"is_residential_proxy": false,
"proxy_providers": [],
"proxy_confidence": 0,
"proxy_last_seen": "",
"is_vpn": false,
"vpn_providers": [],
"vpn_confidence": 0,
"vpn_last_seen": "",
"is_relay": false,
"relay_provider": "",
"is_known_attacker": false,
"is_bot": false,
"is_spam": false,
"is_cloud_provider": false,
"cloud_provider": ""
}
}
]
}
}
}
Response Keys
| Key | Type | What it tells you |
|---|---|---|
status |
string | Order lifecycle: SUCCESS, PENDING or FAILED. Describes the order, not the verification — a charged call that came back negative is a completed order. |
status_code |
int | The HTTP status, echoed into the body. |
charged |
bool | The authority on billing. Never infer it from the HTTP status. |
success |
bool | The verification outcome. Independent of charged. |
message |
string | Human-readable text. For display and logs — do not parse it. |
message_code |
string | Machine-readable reason from a fixed vocabulary. Branch on this. |
order_id |
string | Present once a call reached the provider; quote it on a support ticket. Its absence means nothing was billed. |
data.result |
object | The verification payload for this endpoint. |
When You Are Charged
| message_code | Charged | HTTP | status | What it means |
|---|---|---|---|---|
OK |
Yes | 200 | SUCCESS | Verified. The provider ran the lookup and returned a result. |
ACCEPTED |
Yes | 202 | PENDING | Queued at the provider. Quote the order_id to collect the result. |
PROVIDER_NO_RESPONSE |
Yes | 202 | PENDING | The provider did not respond in time. Held for manual review — not auto-refunded. |
VERIFICATION_FAILED |
Yes | 422 | SUCCESS | The provider ran the lookup and the details did not verify. The work was done, so the call is billed. |
NO_RECORD_FOUND |
Yes | 422 | SUCCESS | The provider ran the lookup and found no matching record. Billed for the same reason. |
SOURCE_UNAVAILABLE |
Yes | 422 | SUCCESS | The provider accepted and ran the lookup, but the underlying record source was down and could not answer. The provider bills us for the attempt, so the call is billed. Retry shortly. |
INVALID_INPUT |
No | 422 | FAILED | Your parameters were rejected before any call was placed. |
REQUEST_FAILED |
No | 400 | FAILED | The call was placed and failed definitively. Refunded to your wallet automatically. |
MISSING_API_KEY |
No | 401 | FAILED | No API key on the request. |
INVALID_API_KEY |
No | 401 | FAILED | Key invalid or expired, or the calling IP is not allowed. |
INSUFFICIENT_BALANCE |
No | 402 | FAILED | Your wallet balance is below the price of this call. |
NO_API_ACCESS |
No | 403 | FAILED | Your account is not subscribed to this API. |
NOT_FOUND |
No | 404 | FAILED | No such endpoint. |
RATE_LIMITED |
No | 429 | FAILED | Per-key, per-service one-minute limit exceeded. |
INTERNAL_ERROR |
No | 500 | FAILED | Unexpected error on our side. |
PROVIDER_UNAVAILABLE |
No | 503 | FAILED | The service could not be reached. |