Endpoint
| Method | GET |
| URL | https://ipsnapshot.com/api/ip/{ip} |
| Your own IP | https://ipsnapshot.com/api/ip/self |
| Auth | None required for the free per-IP allowance. An IPNOVA API key (free account at api.ipnova.com) applies your plan allowance instead: send it as the X-Api-Key header or the ?key= query parameter. Keyed responses carry X-Credits-Remaining and X-Credits-Used. |
| Rate limit | 100 requests a day and 30 a minute, per IP (see X-RateLimit-Remaining header) |
| CORS | Access-Control-Allow-Origin: *, call it straight from the browser |
| Caching | Responses cacheable for 1h (Cache-Control: max-age=3600) |
| OpenAPI | Machine-readable spec at /openapi.json |
Plans
One key. Twelve APIs.
A free IPNOVA API account gives you 5,000 lookups a month across every API below, 60 a minute, no card, for evaluation and small projects. Paid plans from $19 a month for production volumes, with a commercial licence and a hard cap instead of overage billing.
Takes a minute. Send it as X-Api-Key or ?key=.
Without a key this API answers 100 requests a day per IP address, for evaluation and personal use. Try it: curl https://ipsnapshot.com/api/ip/8.8.8.8
Example Request
| curl | curl https://ipsnapshot.com/api/ip/8.8.8.8 |
| JavaScript | const r = await fetch('https://ipsnapshot.com/api/ip/8.8.8.8').then(r => r.json()); |
| PHP | $r = json_decode(file_get_contents('https://ipsnapshot.com/api/ip/8.8.8.8'), true); |
| Python | r = requests.get('https://ipsnapshot.com/api/ip/8.8.8.8').json() |
Response Fields
| Field | Type | Description |
|---|---|---|
success | boolean | true when the lookup succeeded |
ip | string | The address that was looked up |
data.ip_version | int | 4 or 6 |
data.country_code | string | ISO 3166-1 alpha-2 code |
data.country / region / city / continent | string | Geolocation (city-level for IPv4) |
data.asn | int | Autonomous system number |
data.isp | string | Network operator / organization |
data.is_vpn | boolean | Appears on public VPN provider lists |
data.is_datacenter | boolean | Falls within a datacenter/hosting range |
data.is_tor | boolean | Active Tor exit node |
data.risk_level / risk_score | string / int | Combined risk assessment (0-100) |
page | string | Human-readable page for this IP on ipsnapshot.com |
Errors
Every non-200 response uses the same envelope: success: false, an error flag, a machine-readable reason, a human message, and a docs link back to this page.
| Status | Reason | Meaning |
|---|---|---|
400 | invalid_input | The address is not a valid IPv4 or IPv6 address |
401 | invalid_key | The supplied API key is unknown or revoked |
429 | rate_limit | Too many requests in the last minute (Retry-After: 60) |
429 | daily_limit | Keyless per-IP daily cap reached |
429 | credits_exhausted | Keyed monthly allowance used up |
Example, an invalid address:
{"success": false, "error": true, "reason": "invalid_input", "message": "Provide a valid IPv4 or IPv6 address.", "docs": "https://ipsnapshot.com/ip-lookup-api"}
What Teams Use It For
- Fraud screening at signup or checkout. Flag datacenter, VPN and proxy traffic before it creates an account or places an order, using the security block in every response.
- Content localisation. Pick the right currency, language or store from the country and timezone fields without asking the visitor.
- Log enrichment. Turn raw IPs in access or audit logs into country, city, ASN and hosting-provider context for incident review.
- Traffic analytics. Split human, datacenter and bot traffic in your own dashboards with the ASN and datacenter flags.
- Compliance gating. Restrict access by region where a licence or regulation requires it, with the country field as the first filter.
Fair Use & Attribution
- 100 requests per day per IP - enough to evaluate the API; a free IPNOVA API key raises the limit.
Frequently Asked Questions
Is the IP lookup API really free?
Yes. No API key, no registration, no credit card. Each IP address can make up to 100 requests per day. CORS is enabled, so you can call it directly from the browser.
Does it support IPv6?
Yes. IPv6 lookups return country-level geolocation and ASN data. IPv4 lookups additionally include city-level location and threat-list flags.
How fresh is the data?
Geolocation and ASN data are refreshed monthly from DB-IP; VPN, datacenter, and Tor lists are refreshed regularly from public sources.
Can I test it right now?
Try /api/ip/8.8.8.8 in your browser, or look up 8.8.8.8, 1.1.1.1, or your own IP with What Is My IP.
How do I call the IP lookup API?
Send a GET request to https://ipsnapshot.com/api/ip/{ip} - for example https://ipsnapshot.com/api/ip/8.8.8.8. Use /api/ip/self to look up your own address. The response is JSON.
What data does the API return?
Country, region, city, continent, ASN and network operator (ISP), plus security flags: VPN list, datacenter/hosting range, and Tor exit node, with an overall risk score.