IP Geolocation Accuracy Benchmark

IP Geolocation Accuracy Benchmark: 18 Providers Against GPS Ground Truth

Published: October 1st, 2026
Last Modified: October 21st, 2026
Geolocation Accuracy IP Geolocation API Comparison Live Study

How far from a device is the location an IP geolocation API reports for its address? This live benchmark measures 18 providers against positions that visitors of ipapi.is share from their own devices. It continues our first study (January to June 2026, ten providers), whose lessons shaped the rules below.

ipapi.is runs the study and is one of the providers. That is why the rules were fixed before the first sample arrived, why none of them depends on ipapi.is's own data, and why the results are computed and published automatically, every ten minutes. If ipapi.is ranks badly, this page will say so.

This study is live since October 1st, 2026. You can take part from any page on ipapi.is, or right here:

Results

Loading the live results…

How the study works

Ground truth

Visitors who agree to take part have their browser's Geolocation API watched for up to 30 seconds. It stops at the first fix accurate to 50 m, after five fixes, or eight seconds after the first one, and the most accurate fix is kept. Phones with GPS report positions accurate to a few metres, laptops located by nearby Wi-Fi networks to tens of metres. Without either, browsers fall back to locating the device by its IP address, which is exactly what is being measured, so positions less accurate than 500 m are dropped (the first study allowed 1,000 m). The country of a position, the ground truth for country accuracy, comes from reverse geocoding it with OpenStreetMap data.

Every provider is asked about the visitor's address within seconds of the submission, so all of them answer the same question at the same moment. The first study looked addresses up only when computing results, sometimes long after, when addresses had been reassigned and databases updated. A failed lookup is retried for up to six hours.

Which samples count

A submission enters the results only if it passes every one of these checks, in this order. The cleaning funnel shows how many samples each one removes.

  1. Human. The submission passes the same bot detection as an account signup on ipapi.is: the classifier calls it human, its single-use challenge token verifies, and the browser is not driven through the Chrome DevTools protocol. The one signup input left out is the country of the IP address: it comes from ipapi.is's own geolocation and would remove exactly the visitors whose country we get wrong.
  2. Accurate. The position is accurate to 500 m or better.
  3. Not spoofed. The position is not one of Chrome DevTools' sensor presets, has more than three decimal places (hand-typed positions rarely do), and the device clock's time zone is within 3.5 hours of the position's solar time.
  4. No known anonymizer. Fewer than two providers other than ipapi.is flag the address as a VPN, Tor exit, hosting provider or relay such as iCloud Private Relay. ipapi.is's own flags do not count: in the first study they decided which samples were clean, which kept the addresses ipapi.is wrongly called residential and removed the ones only it flagged. Residential proxy flags do not count either, because some providers flag ordinary home connections as proxies.
  5. No hidden tunnel. When at least eight providers answered, two thirds of them agree on a country other than the device's, and their median answer is more than 300 km away, the visitor is almost certainly behind a VPN or proxy nobody flagged, and the sample is excluded. A foreign answer next to a border, like a visitor in Basel placed in Zurich, stays in: it is a wrong answer.
  6. Held out from ipapi.is. The address is not in a network (an IPv4 /24 or IPv6 /48) that appears in the first study, whose positions now serve as a regression test for our database builds, or in a location correction sent to ipapi.is. Both are knowledge only ipapi.is has.
  7. First of its household and device. Only the first sample from an IPv4 address or IPv6 /64 counts, and of a device, only the first within 1 km of an earlier position.

An address can take part at most three times a day, and the study accepts at most 500 samples a day.

Providers and metrics

Every provider is asked through its public web API, with an API key where it issues one: for maxmind.com its GeoIP Insights web service, for ip-api.com and ipwho.is their free endpoints. ipqualityscore.com joined on October 6th, 2026 and has refused our API key since October 8th, so it is paused and has too few answers to rank.

For each sample and provider we compute the great-circle distance between the device and the provider's answer. Per provider we report the median distance with a distribution-free 95% confidence interval, the 75th and 90th percentiles, the share of answers within 10, 25, 50 and 100 km, and country accuracy, every share with a Wilson score interval. An answer without coordinates counts as infinitely far away, so not answering cannot improve a score. A lookup that failed even after retries, or that a provider refused because our quota was used up, is left out for that provider only. Groups with fewer than ten answers are not evaluated.

Privacy

We store the position and its accuracy, the IP address and every provider's answer for it, the browser's user agent, its clock's UTC offset and the connection type it reports (such as Wi-Fi or cellular), the bot detection's verdict and a device fingerprint that removes duplicates. Only the IP address leaves our server, to the providers, and the position rounded to about 100 m, to an OpenStreetMap geocoder. Individual samples are never published: the providers' answers are public to anyone who asks them, so a participant's distances to them would reveal where they were. Declining the dialog hides it for 30 days; taking part hides it for good.

Limitations

  • Who takes part. Visitors of ipapi.is are more often developers and security people than average internet users, and they are not spread evenly over the world. The continent filter shows how much the ranking depends on where samples come from.
  • Undetected proxies. A residential proxy that no provider flags and that exits in the visitor's own country looks like a real connection. Such samples stay in and make every provider look worse by the same amount.
  • One API per vendor. We measure each provider's web API on our plan. The vendor's downloadable database, or another of its products or plans, can answer differently.
  • Small groups. With few samples the intervals are wide. Providers whose intervals overlap should not be considered different.

Data

The aggregated results behind this page are public as JSON at https://ipapi.is/app/geoStudy/results, under the same terms as the article.