IP Address Geolocation API

Introduction

A public IP address is a unique identifier that allows devices to connect to the internet. It is used by the global network of routers to accurately route data packets to the requesting user client. Hence, an IP address of a user is always public and visible to the external networks. 

Harnessing this information gives IP Lookup tools like ours the ability to accurately locate user’s geolocation based on the IP address. Two blog posts describing the fundamentals of IP Geolocation API technology and how BigDataCloud’s IP Geolocation is different from others are available here.

Currently, IP geolocation services are widely used for delivering content localisation, customer targeting, digital rights management and online fraud detection. It has become an essential component for modern websites like social networking sites; e-commerce; travel; banking sites and content delivery/streaming sites. It is also primarily used in customer analytics and CRM platforms where customer profiles are built on top of the IP geolocation information.

You can use our standard IP Geolocation API, powered by patent-pending ‘Next Generation IP Geolocation Technology’, to retrieve detailed information about the geographical location, ownership and connectivity of an IPv4 IP address.

Core benefits of our IP Geolocation API are:

  • Lightning-fast response (sub-millisecond)
  • Country object data
  • Detailed locality data
  • Estimated location coordinates
  • Network data
  • Registration data
  • BGP prefix and status data
  • Next-Generation IP Geolocation Technology

Unprecedented Update Rate

  • Geolocation data re-evaluated every 2 hours or at least once a day
  • BGP data updated every 2 hours
  • Registry data updated at least once a day
  • Country object data usually updated at least once in a month 

Example Response

The response is only available in JSON format. The below response should be expected for the following request:



Awaiting request submission...

API Pricing

  1. Monthly Subscription
    FREE 10,000 queries/month
    Additional 10,000 queries US$2.00/month
  2. Annual Subscription
    FREE 10,000 queries/month
    Additional 10,000 queries US$1.60/month

Request Format

NEW! Payload compression is supported, simply add Accept-Encoding: gzip header.
Use the form below to try out this API.

Parameter Your Input Value Description
ip IPv4 IP address in a string or numeric format. If omitted, the caller’s IP address is assumed
localityLanguage

Preferred language for locality names in ISO 639-1 format, such as 'en' for English, 'es' for Spanish etc. Please note: 147 common world languages are supported, full list here, but not all languages are available for every location. If requested language is not available for a requested location it will default to English, if no English is available, the native, local names will be provided

key Your API key

Don't have an API Key? Click here to register and get your free API Key

If you already have a BigDataCloud account, to automatically fill this field with your Api Key.



Response

Awaiting request submission...

Response Format

Field Data type Description
ip string Requested IPv4 IP address in a string format
localityLanguageRequested string localityLanguage input parameter received
country <Country> object Geolocated Country
location <Location> object Geolocation
lastUpdated string Indicates the time of when that particular IP address’s geolocation was assessed the last
network <Network> object Network it belongs

Data Objects

Country object

Field

Data type

Description

isoAlpha2

string

ISO 3166-1 Alpha-2 code

isoAlpha3

string

ISO 3166-1 Alpha-3 code

m49Code

16 bit integer

United Nations M.49 code

name

string

Country name localised to the language as defined by ‘localityLanguage’ request parameter

isoName

string

ISO 3166-1 Country name

isoAdminLanguages

Array of <Language> objects

Administrative languages as defined by ISO 3166-1 standard

unRegion

string

Region name as defined by United Nations

currency

<Currency> object

Currency as defined by ISO 4217 standard

wbRegion

<WbNode> object

Region name as defined by World Bank

wbIncomeLevel

<WbNode> object

Income level as defined by World Bank

callingCode

string

Calling code

countryFlagEmoji

string

Country emoji

Language object

Field

Data type

Description

isoAlpha2

string

ISO 3166-1 Alpha-2 code

isoAlpha3

string

ISO 3166-1 Alpha-3 code

isoName

string

ISO 3166-1 Language name

nativeName

string

Language native name

Currency object

Field

Data type

Description

numericCode

string

ISO 4217 standard numeric code

code

string

ISO 4217 standard code

Name

string

ISO 4217 English name

minorUnits

byte

ISO 4217 minor units as the currency exponent  (e.g. 2 = 1/100)

WbNode object

Field

Data type

Description

id

string

Identification number

iso2Code

string

ISO 2 letters code

value

string

Value

Location object

Field

Data type

Description

continent

string

Localised Continent name in the requested language, if available

continentCode

string

Continent code

isoPrincipalSubdivision

string

Principal subdivision name as defined by ISO 3166-2 standard

isoPrincipalSubdivisionCode

string

Principal subdivision code as defined by ISO 3166-2 standard

city

string

City name. The language, if available, is as defined by ‘localityLanguage’ request parameter

localityName

string

Represents the smallest geographic area recognised to which the target belongs. The language, if available, is as defined by ‘localityLanguage’ request parameter

postcode

string

Postcode, if available

latitude

float

Estimated Latitude

longitude

float

Estimated Longitude

plusCode

string

Open Location Code (read more here plus codes)

timeZone

<Timezone> object

Time Zone information

localityInfo

<LocalityInfo> object

Detailed reverse geocoded locality information localised to the language as defined by ‘localityLanguage’ request parameter

 

Locality Info object

Field

Data type

Description

administrative

Aray of <LocalityProperty> objects

Administrative boundarires ordered by area (largest first). Omitted if no administrative boundaries are available

informative

Aray of <LocalityProperty> objects

Non-administrative boundarires ordered by area (largest first). Omitted if not available

Locality Property object

Field

Data type

Description

order

integer

Order value consistent across all entities in the Locality Info parent object. Ordered by geographic area (largest first)

adminLevel

integer

An administrative level as defined by OpenStreetMaps project

name

string

Localised name of the place in the requested language, if available. The language is as defined by ‘localityLanguage’ request parameter

description

string

Localised description of the place in the requested language, if available. The language is as defined by ‘localityLanguage’ request parameter

isoName

string

ISO 3166-2 standard name, if available

isoCode

string

ISO 3166-2 standard code, if available

wikidataId

string

Wikidata item identifier, if available

geonameId

integer

Unique identifier given by GeoNames.org

Timezone Object

Field

Data type

Description

ianaTimeId

string

Time Zone name in IANA format

displayName

string

Display name

effectiveTimeZoneFull

string

Effective time zone full name (adjusted to the daylight saving status)

effectiveTimeZoneShort

string

Effective time zone short name (adjusted to the daylight saving status)

UtcOffsetSeconds

32 bit integer

Effective offset from UTC time in seconds

UtcOffset

string

Effective offset from UTC time

isDaylightSavingTime

boolean

Indicates if the daylight saving is on

localTime

string

Local time in ISO 8601 format

Network object

Field

Data type

Description

registry

string

The Regional Internet Registry (RIR) the network is registered with

registryStatus

string

Registration status

registeredCountry

string

Registered Country ISO 3166-1 Alpha-2 code

registeredCountryName

string

Registered Country name localised to the language is as defined by ‘localityLanguage’ request parameter

organisation

string

Registered for

isReachableGlobally

boolean

Indicates if the network was announced on BGP and reachable globally or not

isBogon

boolean

Indicates if the network in bogon

bgpPrefix

string

The latest BGP prefix announcement for the current network

bgpPrefixNetworkAddress

string

BGP prefix network (the first) address

bgpPrefixLastAddress

string

BGP prefix last address

totalAddresses

32 bit unsigned integer

Total number of IP addresses in the Network

carriers

Array of <Carrier> objects

List of Autonomous Systems (AS) announcing this network on BGP

viaCarriers

Array of <Carrier> objects

List of Autonomous Systems (AS) detected at the last hop before the announced parties

Carrier object

Field

Data type

Description

asn

string

Autonomous System Number string

asnNumeric

32 bit unsigned integer

Autonomous System Number

organisation

string

Registered Organisation

name

string

Registered name

registry

string

The Regional Internet Registry (RIR) the AS is registered with

registeredCountry

string

Registered Country ISO 3166-1 Alpha-2 code

registeredCountryName

string

Registered Country localised name. The language is as defined by 'localityLanguage' request parameter

registrationDate

string

Registration date in “yyyy-mm-dd” format

registrationLastChange

string

Registration modification date in “yyyy-mm-dd” format

totalIpv4Addresses

32 bit unsigned integer

Total number of IP addresses announced by the AS

totalIpv4Prefixes

32 bit unsigned integer

Total number of BGP prefixes announced by the AS

totalIpv4BogonPrefixes

32 bit unsigned integer

Total number of bogon prefixes announced by the AS

rank

32 bit unsigned integer

World rank by total number of IP addresses announced

rankText

string

World rank by total number of IP addresses announced including total

Related APIs