docs / ip-geolocation
IP Geolocation
Locate any IP — country, city and network.
base /ip-geolocation/v12 endpoints
post
/ip-geolocation/v1/lookup1 creditgeolocate ONE IPv4/IPv6 → country/region/city/lat-lon/timezone/ASN/ISP/org + hosting flag
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| ip | required | — | A single IPv4 or IPv6 address to geolocate (e.g. 8.8.8.8 or 2001:4860:4860::8888). |
| lang = en | optional | — | Preferred language for place names (country/region/city), e.g. en, de, fr, es, ru, ja. Falls back to English when a locale name is unavailable. |
post
/ip-geolocation/v1/batch2 creditsgeolocate up to 100 IPs in one call
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| ips | required | — | Up to 100 IPv4/IPv6 addresses. A JSON array, OR a comma/space/newline-separated string. Bad/private IPs are kept (per-item status) so one bad entry never fails the call. |
| lang = en | optional | — | Preferred language for place names (country/region/city), e.g. en, de, fr, es, ru, ja. Falls back to English when a locale name is unavailable. |
Example request · lookup
curl -X POST https://api.reefapi.com/ip-geolocation/v1/lookup \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"ip":"8.8.8.8"}'Response shape
{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}