All posts

How accurate is IP Trust geolocation?

Where IP geolocation data comes from, how IP Trust builds its database from open, traceable sources and what this means for accuracy.

"How accurate is your geolocation data?" is the most common question we hear from potential customers. This is a difficult question to answer. One of the challenges with IP geolocation is that there is no ground truth data. IP geolocation is always an estimate at some level, performed by looking up the IP address against some existing database of locations. These databases are populated from different public and private sources. Every provider uses a different mix of sources, so providers frequently disagree with each other.

Our approach to IP geolocation

To answer the accuracy question properly, it's important to first explain the approach used by IP Trust when building our geolocation database. IP Trust is a product from Friendly Captcha, a privacy-focused, GDPR-compliant provider of Captcha and Bot Protection services. Privacy and transparency are a key part of our core values and when deciding to build an IP geolocation database we wanted to make sure our approach reflected those values.

What this means in summary:

  • We only source IP geolocation data from open, traceable data sources. This includes whois records, RDNS, and published geofeeds and geoloc data.
  • We never source IP geolocation data from end users without their knowledge. We take privacy seriously, and consider IP addresses to be personal data as per GDPR.
  • We never resell data from free databases published by other IP geolocation providers. We source all our data ourselves.
  • Through our resolution property, we are open and transparent on our confidence level of any location to allow you to make the correct decision within your application.

We go into each of these points in more detail below.

IP geolocation sources

IP geolocation providers build their databases from two broad categories of sources: public data and private data.

Public data

Public data is any data that is readily available in the public domain. You can think of this public data as the foundational layer that most IP geolocation services are built on. The main public data sources are:

Geofeeds and Geoloc

Specified in RFC 8805 and RFC 9632, Geofeeds provide a way for IP address owners to explicitly document the location of IP blocks. Geofeeds are defined as part of the whois record. For example, checking the whois record for 130.185.48.0 returns the following:

whois -S -h whois.ripe.net 130.185.48.0

inetnum:        130.185.48.0 - 130.185.55.255
netname:        R-KOM-CGNAT-NET-AS12611
descr:          R-KOM Regensburger Telekommunikationsgesellschaft mbH
country:        DE
geoloc:         49.014042 12.127519
geofeed:        https://geofeed.r-kom.de/geofeed.csv
remarks:        Geofeed https://geofeed.r-kom.de/geofeed.csv
admin-c:        RKOM-RIPE
tech-c:         RKOM-RIPE
status:         ASSIGNED PA
remarks:        INFRA-AW
mnt-by:         RKOM-MNT
created:        2022-02-15T06:41:17Z
last-modified:  2025-12-19T08:14:10Z
source:         RIPE

The Geofeed file itself is a CSV that specifies a network block and location attributes:

5.149.224.0/20,DE,DE-BY,Regensburg
46.227.96.0/21,DE,DE-BY,Regensburg
80.209.192.0/19,DE,DE-BY,Regensburg
81.27.160.0/20,DE,DE-BY,Regensburg
88.133.176.0/20,DE,DE-BY,Regensburg

Geofeeds are the gold standard for IP geolocation. They provide a way for an IP address owner to explicitly and authoritatively document where each IP is located. In an ideal world, every IP would have an associated geofeed, but real-world adoption is currently much lower. From our latest snapshot, only 262,258,729 of the 3,131,934,464 IPv4 addresses announced via BGP had an associated geofeed, so around 8%.

In addition to Geofeeds, some whois network records specify a geoloc property, which contains coordinates describing where the network is located:

inetnum:        62.200.244.184 - 62.200.244.191
netname:        GB-DSVAS-NET
descr:          Network of DSV A/S
country:        GB
geoloc:         53.52285 -1.13116

The geoloc attribute can only provide a single location for an entire network block, so is less granular and more limited than a full geofeed. The geoloc attribute is an older convention. Our latest snapshot showed that 31,466,620 IPv4 addresses are covered by a geoloc attribute.

RDNS

Another common source of IP geolocation is reverse DNS PTR records. When the IP address points at some intermediate networking infrastructure, the hostname sometimes contains clues to where it might be physically located. This is particularly common with US-based ISPs. For example, the IP address 96.122.57.18 returns the hostname ce-albynmkh00w.cpe.nm.albuq.comcast.net.

nslookup 96.122.57.18

Non-authoritative answer:
18.57.122.96.in-addr.arpa	name = ce-albynmkh00w.cpe.nm.albuq.comcast.net.

This could indicate the IP address is located in Albuquerque (alby), New Mexico (nm). Checking the IP against several providers at the time of writing, 4 out of 8 report this location.

Whois

In some cases, the whois record(s) for a given IP can contain useful geolocation information. For example, the American Registry for Internet Numbers (ARIN) defines a customer entity against some network blocks. This customer entity includes address information that could indicate the location of the IP address. For the IP 216.244.109.64, ARIN defines the following customer record, a hosting provider in Texas:

CustName:       CyrusOne Managed Services
Address:        1649 Frankford Rd. West
City:           Carrollton
StateProv:      TX
PostalCode:     75007
Country:        US
RegDate:        2016-11-23
Updated:        2016-11-23
Ref:            https://rdap.arin.net/registry/entity/C06263910

At the time of writing, when spot checking this specific IP against a handful of other providers:

  • 5 report the location as Carrollton, Texas
  • 2 report the location as Dallas, Texas
  • 4 report the location elsewhere in the US, from New York to Los Angeles

Like all sources of IP geolocation, whois data is not guaranteed to be correct but can be a useful clue in some cases.

Private data

In addition to public data, IP geolocation providers may use proprietary, private data sources.

Sourced from other products

In some cases, IP geolocation providers have other products that allow them to directly source IP addresses along with their physical location. One of the best examples of this is MaxMind, who use their minFraud product to collect and pair end-user IP addresses with billing data which they then use as part of their IP Geolocation product. They openly disclose this as part of their privacy policy:

In some instances, MaxMind uses some of the personal data provided through our minFraud Service for the purpose of improving the accuracy of our IP address intelligence services. MaxMind's IP address intelligence services include our GeoIP Databases, GeoIP2 Web Services, GeoLite Databases and GeoLite Web Services. MaxMind Privacy Policy

Purchased from other services

There are many other services that incidentally collect IP and geolocation data together, for example ad-networks that can sample location from on-device GPS, or mapping services that collect the physical location of internet connected devices. In some cases, such services will sell this data to IP geolocation providers to incorporate as part of their database. IP Trust has been contacted by several services offering to sell us IP location datasets.

Other free IP geolocation databases

Some commercial providers make "free" versions of their IP geolocation databases available, such as MaxMind's GeoLite City. Some smaller IP geolocation providers openly disclose that they incorporate data from MaxMinds free database directly into their own product, despite the published terms and conditions forbidding this or requiring attribution.

Triangulation

A more complex and involved process for geolocating an IP is triangulation. With triangulation, each IP address is "pinged" from multiple locations around the world. The time to receive a response is then measured and compared against the times from other locations. Through this, an approximate actual location can be determined.

In theory, with enough measurements, triangulation seems like a reliable way to geolocate an IP address using verifiable data. In practice, however, triangulation is limited in its effectiveness. Many Internet Service Providers and intermediaries configure their infrastructure to ignore the types of messages required for triangulation to work. For a large percentage of IPs in use today, this can severely limit the effectiveness of triangulation. Rather than measuring the time to the actual end device using the IP, you often only get the time to the last responsive node in the network which might be some distance away from the actual location.

Even for IPs that are reachable, triangulation has other challenges. You need a large number of geographically diverse nodes from which to measure latency, which can be expensive to maintain. Increasingly, for IPv4 addresses in particular, many ISPs employ a technique known as carrier-grade NAT (CGNAT) where a single IP is shared by many end-users potentially spread over a larger geographic area, meaning any location determined via triangulation is unlikely to be accurate.

The IP Trust approach to IP geolocation

At IP Trust, when deciding how to build our own IP geolocation database, we made some initial decisions that would shape our approach.

We source our geolocation database from public data only

First, we decided not to base our geolocation data on purchased third-party datasets. IP Trust uses Geofeeds, RDNS and whois records as its primary sources (for now, we do not use triangulation, but this is something we may revisit in future). With any purchased dataset it is impossible to verify the accuracy of the data or indeed ensure that it has been collected with end-user consent. By using public data, our geolocation database is traceable back to its source, in all cases.

We avoid any data source that collects IPs without end users' knowledge

Secondly, we decided not to incorporate any data that is sourced from user IPs without their explicit consent. For example, the approach MaxMind take with minFraud is not an approach we would be comfortable with; it's very unlikely an end user of an e-commerce platform using minFraud is aware their IP is being collected, matched against their billing data, and resold as part of a commercial IP geolocation product.

We do not resell data from free IP geolocation databases

Finally, we also decided against incorporating data from free IP geolocation databases. We have no way of verifying the underlying sources of these databases. We also have no desire to expose ourselves and our customers to legal risks by violating clearly published terms and conditions.

Does this mean IP Trust geolocation data is less accurate?

Yes and no.

Yes, IP Trust may have less granular city-level location data, in some cases, but we disclose this information openly in the database through our resolution property, one of city, state or country, so your application can make the correct choice.

No, because it's extremely difficult to verify the accuracy of any IP geolocation data due to a lack of ground truth data. IP geolocation often comes down to a best effort guess, and we believe our open, transparent approach is the correct one.

There are some examples we can look at to help illustrate these points.

First, an IP from one of the IP Trust engineers based in the UK. This is a selection of locations the free MaxMind GeoLite City database has returned over the last month:

  • Reading
  • Slough
  • Peckham
  • Glasgow

These places are many miles apart and none of them are correct. This is perhaps an extreme example but it shows the challenges of IP geolocation and the difficulty of answering "how accurate is the data?". In this case, the data from one of the largest, most established IP geolocation services is not accurate at all, at least in their free GeoLite City database.

For the same IP, this is what IP Trust returns:

"location": {
  "resolution": "country",
  "city": "London",
  "state": "England",
  "country": "United Kingdom",
  "latitude": 51.509,
  "longitude": -0.126
}

Note the "resolution":"country" field, indicating we only have confidence in this location to a country level. We would argue this is a far more useful response than the data from GeoLite City.

As a second example, take the IP 87.248.136.0. This is the location returned by some well-known IP geolocation providers:

Provider Location
IP2Location Brussels, Belgium
ipapi.com Chicago, United States
iplocation.io Tehran, Iran
ipgeolocation.io Fort Lauderdale, United States
ipinfo.io Dźwirzyno, Poland

Depending on which provider you use, the IP could be located in Belgium, Iran, Poland or the United States. We don't believe any provider can stake a strong claim here to say their data is the most "accurate".

These examples show how despite the claims of accuracy from some commercial providers, IP geolocation is always a guess, with some guesses better than others. This is why we believe the approach from IP Trust is the correct one, based on traceable data with full transparency.

Use IP Trust Geolocation for free

These core beliefs also shaped our decision to make IP Trust's IP Geolocation database free to download and use, including commercial use for companies with fewer than 20 employees and under €1M in annual revenue. If you meet these criteria you can download the geolocation database by signing up to a free account now.

If you don't meet these criteria, the database is still available to purchase. All IP Trust accounts also come with 10,000 free API requests a month, where you can access all data fields.