01
Overview
The IP Lookup endpoint resolves any IPv4 or IPv6 address to its geographic location, ISP, and ASN information. Results are returned in JSON format.
Endpoint: GET /api/v1/ip-lookup?ip={ip}
Authentication: Required (API Token or JWT)
Rate Limits: Free: 60/hour, Starter/Pro/Business: unlimited
Data Sources: MaxMind GeoLite2 City + ASN databases, updated weekly.
02
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ip | string | Yes | IPv4 or IPv6 address to look up (e.g. 8.8.8.8 or 2001:db8::1) |
03
Response
{
"success": true,
"data": {
"ip": "8.8.8.8",
"hostname": "dns.google",
"continent": "North America",
"continentCode": "NA",
"country": "United States",
"countryCode": "US",
"region": null,
"city": null,
"postalCode": null,
"latitude": 37.751,
"longitude": -97.822,
"timezone": "America/Chicago",
"asn": {
"asn": 15169,
"asnOrg": "Google LLC",
"isp": null,
"organization": null,
"network": null
},
"flag": "🇺🇸",
"localTime": "Jul 28, 2026, 12:51 PM"
}
}
04
Code Examples
cURL:
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
"https://provider.tools/api/v1/ip-lookup?ip=8.8.8.8"
Python:
import requests
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
resp = requests.get("https://provider.tools/api/v1/ip-lookup",
params={"ip": "8.8.8.8"},
headers=headers)
data = resp.json()
print(f"{data['data']['country']} ({data['data']['countryCode']})")
print(f"ASN: AS{data['data']['asn']['asn']} - {data['data']['asn']['asnOrg']}")
Node.js:
const resp = await fetch(
"https://provider.tools/api/v1/ip-lookup?ip=8.8.8.8",
{ headers: { "Authorization": "Bearer YOUR_API_TOKEN" } }
)
const data = await resp.json()
console.log(data.data.country, data.data.asn)