Getting Started
Making your first API request
Send your first IP lookup and understand the response.
Quick test
The fastest way to test is with curl:
curl -X POST https://predax.io/api/v1/check/ip \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ip": "8.8.8.8"}'Or use the Playground — no code needed.
Understanding the response
{
"ip": "8.8.8.8",
"version": 4,
"classification": {
"risk_score": 15,
"risk_level": "low",
"is_vpn": false,
"is_proxy": false,
"is_tor": false,
"is_datacenter": true,
"is_crawler": false,
"flags": [],
"reasons": []
},
"network": {
"asn": 15169,
"as_name": "Google LLC",
"ptr": "dns.google"
},
"location": {
"country_code": "US",
"country_name": "United States",
"city": "Mountain View"
},
"history": {
"first_seen": null,
"last_seen": null,
"times_seen": null
}
}Key fields
| Field | Description |
|---|---|
| `classification.risk_score` | 0–100. Higher = more suspicious |
| `classification.risk_level` | One of `low`, `medium`, `high`, `critical` |
| `classification.is_vpn` | True if the IP belongs to a known VPN provider |
| `classification.is_proxy` | True if the IP is a known proxy |
| `classification.is_tor` | True if the IP is a Tor exit node |
| `classification.is_datacenter` | True if the IP belongs to a hosting/cloud provider |
| `classification.flags` | Array of active threat flags |
| `network.asn` / `network.as_name` | Autonomous System number and operator |
| `location.country_code` | ISO 3166-1 alpha-2 country code |
Next steps
- Full API reference
- Integration guides for your platform
- Best practices for using risk scores
