Skip to content

IP Geolocation

Location data you can trace to a source.

GeoIPHub builds its geolocation layer from registry data across all 5 Regional Internet Registries, the global BGP routing table refreshed every 3 days, and licensed city-level data — every IP-to-geo lookup served from a memory-mapped database in sub-millisecond time. Every lookup returns country, region, city, coordinates, and timezone in a structured geo group, with a geo_confidence field that tells you how much to trust the city-level answer.

  • Registry-Sourced Country Data
  • Region & City
  • Coordinates & geo_confidence
Location resolutiongeo

Mountain View, US

37.4220, -122.0840

country_code: "US"geo_confidence: "0.92"timezone: "America/New_York"
5Regional Internet Registries
3 daysBGP table refresh
<1 msLookup reads
1,500/dayFree lookups

Registry-Sourced Country Data

Country and registration data anchored in RDAP records from all 5 Regional Internet Registries — ARIN, RIPE, APNIC, LACNIC, and AFRINIC — refreshed weekly, not copied from a third-party CSV of unknown age.

Region & City

Region and city resolution from licensed city-level data, returned as structured geo.region and geo.city fields. When the data can't support a city-level answer, the fields say so instead of guessing.

Coordinates & geo_confidence

Latitude and longitude for mapping and proximity logic, paired with geo_confidence — a single honest indicator of how reliable the location is. It returns null when there isn't enough evidence, never a fabricated certainty.

Timezone Resolution

An IANA timezone identifier on every lookup — for localized content, scheduling windows, and fraud logic that needs to know what time it is where the request came from.

Routing Context Included

Every response pairs geo with the asn group: AS number, organization, asn_type, and connection_type from a BGP/ASN table refreshed every 3 days. A datacenter IP in Virginia is not a person in Virginia — the response makes that distinction visible.

Sub-Millisecond Reads

Lookups are served from a memory-mapped database in under a millisecond. An IP we haven't seen before is classified live in under 2.5 seconds, then persisted for every request after that.

Ready to get started?

1,500 free requests per day. Every field included. No credit card required.