IPASK
Articles · technical

How GeoIP databases actually work (and why city-level is fuzzy)

Where geolocation data comes from, what accuracy_radius really means, why free and commercial databases disagree, and how often they update.

2026-10-28 technical #geoip#data#accuracy
How GeoIP databases actually work (and why city-level is fuzzy)

Three sources of location data

IP geolocation is assembled from:

  1. Registry data — RIR records say which country a block was allocated to.
  2. Network topology — where a prefix is announced and how routes are shaped.
  3. Ground truth — surveys, mobile app telemetry, probes, and crowdsourced corrections.

Different vendors weight these differently. That is why two databases can disagree by hundreds of kilometres on the same address.

What accuracy_radius means

MaxMind publishes an accuracy_radius per record: a rough radius (km) around the estimated point. A 5 km radius suggests a city-level estimate; 500 km means the record is essentially country-level with a city guessed from the largest population centre.

This is the single most useful field for honest display: "Berlin, ±50 km" is more truthful than "Berlin" alone.

Why free and paid disagree

Update cadence

Registry data changes daily; city-level estimates change slowly. MaxMind ships GeoLite2 updates weekly and commercial databases more often. If a record is older than two weeks, treat city-level fields as stale.

How to judge a location claim

Ask three questions:

  1. Does the vendor publish an accuracy radius?
  2. Does the database type match the use case (country vs city)?
  3. Is the source free or commercially maintained — and does the vendor say which?

A city name without a radius is a guess presented as a fact.

Check a batch before you buy? Check a batch →