FREE Client-Side Reverse Geocoding API backed by the world's best IP Geolocation technology!

Introduction

Reverse geocoding is the process of converting geographic coordinates into human-readable location information. 

This free Client-side Reverse Geocoding API is the easiest and most straightforward solution to obtain detail-rich locality information, at the client-side, using a browser's HTML5 geolocation or a mobile phone's location services regardless of whether the location-sharing consent is given or not. 

The API is designed to reverse-geocode the current user's coordinates (if consent is given) or provide an estimation of locality information based on the client's IP address. 

For a more detailed explanation about the API, please refer to our blog post:
Free client-side reverse geocoding API with IP geolocation fallback

 

Benefits of the BigDataCloud’s Free Client-Side Reverse Geocoding API

  • Free forever!
  • NEW - Backed up by the world's most accurate next-generation IP Geolocation technology (patent pending)
  • Enterprise-grade redundant infrastructure. Operated from eight geographically diverse data centres across the globe
  • Better than 99.999% availability
  • Unprecedentedly fast response time (sub-millisecond)
  • Predictable performance as no caching is used
  • Delivers administrative/non-administrative boundaries-based results
  • Provides detailed locality information of a user in 148 common world languages
  • Full postal code level geographical accuracy for the US, Great Britain, and Australia (partial for other countries)
  • Full global coverage, including seas and oceans
  • Unique IP Geolocation fallback to provide estimated location data even when no client’s geocoordinates are available
  • Friendly with GDPR and GDPR-like privacy laws
  • Responsive customer support, even for entirely free APIs
  • Geocoder data updated weekly, IP Geolocation daily.
  • No contract, no hidden fees, and no account required. Both commercial and non-commercial uses permitted with no rate restrictions – we’re happy to accept literally any number of API queries and at any pace as long as conditions of our Fair Use Policy are met (see below).

 

Fair Use Policy for FREE Client-Side Reverse Geocoding API implementation

  1. You are allowed to make free and unlimited API calls from a client's web browser using their current coordinates obtained by the browser’s getCurrentPosition() method when the consent is given or without the coordinates if denied.
  2. You are allowed to make unlimited free API calls from client mobile devices such as iOS, Android or IoT devices using their current coordinates when the consent is given or without the coordinates if denied.
  3. Please contact us if you are unsure whether your implementation meets this Fair Use Policy.

 

For example, check out our free Where am I? iOS and Android app. The app demonstrates how you can implement the API for a mobile app to obtain real-time locality information for your users.

 

IMPORTANT! Any user detected abusing the service by implementing it on a server-side or a client-side along with coordinates obtained elsewhere will be blacklisted from all of our free API Services. If you wish to utilise this Reverse Geocoding API in your backend applications, please visit our server-side variation of this API for details.

Learn how to avoid getting your IP address banned.

Example Response

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



Awaiting request submission...

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
latitude

Latitude value as per WGS 84 reference system (GPS system). Expected values are in [-90, 90] range.

longitude

Longitude value as per WGS 84 reference system (GPS system). Expected values are in [-180, 180] range.

localityLanguage

Preferred language for locality names in ISO 639-1 format, such as 'en' for English, 'es' for Spanish etc. Please note: 148 common world languages are supported, 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



Response

Awaiting request submission...

Response Format


Field

Data type

Description

latitude

float

Requested Latitude

longitude

float

Requested Longitude

lookupSource

string

Indicates whether the results are based on reverse geocoding or IP Geolocation

plusCode

string

Open Location Code (read more here plus codes)

localityLanguageRequested

string

localityLanguage input parameter received

continent

string

Localised Continent name in the requested language, if available

continentCode

string

Continent code

countryName

string

Localised Country name in the requested language, if available

countryCode

string

Country code as defined by ISO 3166-1 standard

principalSubdivision

string Localised principal subdivision name in the requested language, if available

principalSubdivisionCode

string

Principal subdivision code as defined by ISO 3166-2 standard

city

string Localised city name in the requested language, if available

locality

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

localityInfo

 <LocalityInfo> object

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

Data Objects

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

chinaAdminCode

string

China Administrative division code. This is available only for locations based in China, and is omitted for others.

 

Related APIs