IP geolocation API
Geolocation and abuse signals in one call.
Country, region, city, lat/long, timezone, ASN and AS org — powered by DB-IP under CC BY 4.0 — returned alongside every fraud signal, with no extra endpoint or plan.
How it works
01
/v1/check returns a geo object (country, region, city, lat/long, timezone) and a network object (ASN, AS org) for every IP.
02
IP geolocation data is provided by DB-IP under CC BY 4.0 — attribution is required on the Free tier. See attributions.
03
Geolocation is approximate by nature: it locates the network, not the device. City-level results are best-effort, especially for mobile and corporate ranges.
What you get back
| Field | Meaning |
|---|---|
geo.country / country_code | Country name and ISO 3166-1 alpha-2 code. |
geo.region / city | Region and city, best-effort. |
geo.latitude / longitude | Approximate coordinates of the network. |
geo.timezone | IANA timezone, e.g. Europe/London. |
network.asn / as_org | Autonomous system number and organisation. |
In your code
const r = await geoq.check(req.ip); console.log(`${r.geo.city}, ${r.geo.country} — AS${r.network.asn}`); // localise content, set default currency, etc.
FAQ
Frequently asked questions
How accurate is the geolocation?
It's approximate and locates the network, not the device. Country-level is reliable; city-level is best-effort, especially on mobile/corporate ranges. We'll publish geo accuracy in our benchmark.
Is attribution required?
On the Free tier, yes — IP geolocation data is by DB-IP under CC BY 4.0. See attributions. Paid plans remove the visible-attribution requirement.
Do I need a separate plan for geo?
No. Geo and ASN are included on every plan, in the same call as the abuse signals.
Related signals
Start with the free tier. No card.
1,000 lookups a day, every signal, the same transparent risk score. Upgrade only when you outgrow it.