Skip to main content
REST API

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

GET /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
  }
}
POST /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.

GET /api/v1/geo/prefix/{'{prefix}'} β€” Get GEO data for a prefix.
PUT /api/v1/geo/prefix/{'{prefix}'} β€” Update GEO data (authenticated).
DELETE /api/v1/geo/prefix/{'{prefix}'} β€” Clear GEO override (authenticated).
GET /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
ESC
Enter an IP address or AS number to look up. ↡ to lookup