How accurate is IP geolocation, really?

Parneet Singh7 min read

Every IP geolocation API returns a latitude and longitude. Almost none of them tell you how much to trust it — and the honest answer is that it depends enormously on the address, in ways a pair of coordinates cannot express.

Here is what the accuracy actually looks like, why it varies so much, and the one field you should be reading instead of the coordinates.

Country accuracy is a solved problem

At the country level, IP geolocation is reliable. Address blocks are allocated by the five Regional Internet Registries — APNIC, ARIN, RIPE NCC, LACNIC and AFRINIC — and those allocations are public, stable, and rarely cross borders. Commercial databases report country accuracy above 99%, and that figure holds up in practice.

If your use case is "which country is this request from" — tax rules, content licensing, currency selection, regulatory compliance — IP geolocation is a genuinely good tool. You can build on it.

City accuracy is a different question entirely

Below the country level, the ground shifts. The database is not measuring where a device is; it is recording where an ISP says a block is used, which is a much weaker claim.

SituationTypical outcome
Dense urban, fixed-line broadbandOften correct city, sometimes correct suburb
Regional or rural fixed-lineFrequently the nearest large city instead
Mobile networksThe carrier's gateway, which can be a different state
Corporate VPNThe office, or the VPN's exit — not the user
CDN or anycast trafficEffectively meaningless

None of these is a bug. They are what the underlying data can support. An ISP that routes an entire regional customer base through one metropolitan gateway has, as far as the routing table is concerned, put all of those customers in that city.

The field that tells you the truth

This is why every lookup here returns accuracyRadius, in kilometres, alongside the coordinates:

{
  "location": {
    "latitude": -33.8688,
    "longitude": 151.2093,
    "accuracyRadius": 20,
    "timezone": "Australia/Sydney"
  }
}

The coordinates are the centre of a circle. accuracyRadius is its size, and it is the difference between a usable answer and a misleading one. A radius of 5 km in central Sydney is a genuinely useful signal. A radius of 500 km means the database is telling you, quite openly, that it knows the country and little else.

Read the radius before you use the coordinates. A surprising amount of software plots the latitude and longitude on a map as a pin, which renders a 500 km uncertainty as a confident dot on somebody's suburb.

What this means for the things people actually build

Fraud and risk scoring. Useful as one signal among several, at country level. Treating a city mismatch as evidence of fraud will generate false positives from anyone on a mobile network or a corporate VPN — which is a large share of legitimate users.

Content localisation. Country-level, yes. Defaulting language and currency from the country is standard and works. Do not silently lock someone out of changing it; travellers and VPN users exist, and an unchangeable guess is worse than no guess.

Compliance and licensing. Country-level geolocation is what the rules are generally written against, and it is defensible. Be aware that VPN and proxy traffic will pass through it, which is why detecting hosting and datacenter ranges matters as much as the location itself.

Anything requiring a street address. No. IP geolocation does not do this, and any product claiming otherwise is either using a different data source or overstating what it has.

Why "wrong city" is usually not an error

The most common support question any geolocation provider gets is some version of your API says I'm in the wrong city. Almost always, the API is faithfully reporting what the ISP has published about that address block.

Your provider announces routes for large ranges at a time. The location attached to a range is a property of the range, not of you. Move house within the same ISP region and your apparent location very likely will not change; connect through a mobile network and it may jump hundreds of kilometres.

The practical rule

Use IP geolocation for country, treat city as a hint, and never treat coordinates as a position without reading accuracyRadius first.

That is a narrower claim than most of this industry makes, and it is the one that survives contact with real traffic.


You can see all of this on any address, including the accuracy radius, with the IP lookup on the homepage or through the API — 45 requests a minute with no key at all. If you are working with ranges rather than single addresses, the free tools cover CIDR conversion, subnetting and bulk lookups.

RSS