API Documentation
Integrate neutral IP data into your applications with our simple REST API.
Base URL
https://looxip.com/api/v1
Authentication
API keys are optional for basic usage but required for higher rate limits.
Public
60 requests/hour
Authenticated
600 requests/hour
Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Endpoints
/lookup/ip/{'{ip}'}
Look up comprehensive data for a given IP address.
Example Request
curl -X GET "https://looxip.com/api/v1/lookup/ip/8.8.8.8" \
-H "Accept: application/json"
Example Response
{
"success": true,
"data": {
"ip": "8.8.8.8",
"version": 4,
"geo": {
"country_code": "US",
"country_name": "United States",
"region": null,
"city": null
},
"network": {
"asn": 15169,
"organization": "GOOGLE",
"prefix": "8.8.8.0/24"
},
"whois": {
"rir": "ARIN",
"organization": "Google LLC",
"allocation_date": "2014-03-14",
"abuse_contact": "network-abuse@google.com"
},
"dns": {
"ptr": "dns.google"
}
},
"meta": {
"cached": false,
"lookup_time_ms": 234
}
}
/lookup/bulk
Look up up to 25 IP addresses in a single request. Send a POST request with a JSON body containing an array of IPs.
Example Request
curl -X POST "https://looxip.com/api/v1/lookup/bulk" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ips": ["8.8.8.8", "1.1.1.1"]}'
GEO API
Retrieve or update geolocation data for IP prefixes. Requires authentication for update/clear.
/api/v1/geo/prefix/{'{prefix}'}
β Get GEO data for a prefix.
/api/v1/geo/prefix/{'{prefix}'}
β Update GEO data (authenticated).
/api/v1/geo/prefix/{'{prefix}'}
β Clear GEO override (authenticated).
/lookup/status
Check the API health and rate limit status.
Example Response
{
"success": true,
"data": {
"status": "operational",
"version": "1.0.0"
}
}
Try it
Enter an IP and click Send request.
Code examples
curl -X GET "https://looxip.com/api/v1/lookup/ip/8.8.8.8" \
-H "Accept: application/json"
import requests
r = requests.get("https://looxip.com/api/v1/lookup/ip/8.8.8.8", headers={"Accept": "application/json"})
print(r.json())
const res = await fetch("https://looxip.com/api/v1/lookup/ip/8.8.8.8", {
headers: { "Accept": "application/json" }
});
const data = await res.json();
$ch = curl_init("https://looxip.com/api/v1/lookup/ip/8.8.8.8");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Accept: application/json"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json = json_decode(curl_exec($ch), true);
resp, _ := http.Get("https://looxip.com/api/v1/lookup/ip/8.8.8.8")
resp.Header.Set("Accept", "application/json")
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
Webhooks
Subscribe to lookup events. Configure webhooks in your dashboard. Payload includes the lookup result and event type.
Libraries & Postman
Use the examples below or import our Postman collection (coming soon).
Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request β Invalid IP address format |
| 401 | Unauthorized β Invalid API key |
| 404 | Not Found β IP address not found |
| 429 | Too Many Requests β Rate limit exceeded |
| 500 | Internal Server Error |
Ready to try it out?
Test the API with a simple lookup β no authentication required.
Try IP Lookup