FREE Client Side Reverse Geocoding to City API

The free client-side Reverse Geocode to City API converts a user's current latitude and longitude into structured locality data — country, state, city, suburb, and postcode — directly from the browser. If coordinates aren't available (for example, the user declines the location permission), the same endpoint can be called without coordinates and will return a best-effort locality via IP geolocation instead. Both flows return the same JSON schema, so your integration doesn't need to handle two different response formats.

This endpoint is client-side only, free to use, and requires no API key. To keep it reliable for everyone, usage must follow our Fair Use Policy: calls must originate directly from the client (browser or mobile app), use the device's current location rather than pre-stored or third-party coordinates, and use the platform's standard location methods (such as the HTML5 Geolocation API on the web). Server-side or batch use cases should use the server-side Reverse Geocoding API instead.

Why is it free? When a user grants location permission, their browser provides accurate GPS coordinates alongside the IP address used for the request. That anonymous pairing helps us continuously validate and improve our IP geolocation accuracy. We don't require an API key and we don't link location data to identifiable individuals. For more detail, see Why is the Reverse Geocoding API free?

Requests that breach the fair use policy — such as server-side calls to the client endpoint — may trigger a temporary IP-level ban, with the endpoint returning HTTP 402. If your application now complies, contact us to review and lift the ban. For a full explanation of the GPS and IP fallback behaviour, read Client-side Reverse Geocoding with IP Fallback.

GEThttps://api.bigdatacloud.net/data/reverse-geocode-client

Parameters

ParameterTypeRequiredDescription
latitudestringOptionalLatitude value as per WGS 84 reference system (GPS system). Expected values are in [-90, 90] range
longitudestringOptionalLongitude value as per WGS 84 reference system (GPS system). Expected values are in [-180, 180] range
localityLanguagestringOptionalPreferred language for locality names in ISO 639-1 format, such as 'en' for English, 'es' for Spanish etc. If the requested language is unavailable for a requested location, it will default to English. If no English variant is available, will provide the native, local names. Use 'default' as the requested value to automatically adjust the language to the first administrative language in the Country.

Responses

200OK

Sample Request

https://api.bigdatacloud.net/data/reverse-geocode-client?latitude=37.42159&longitude=-122.0837&localityLanguage=en

Sample Response

JSON View

Response Schema

latitudenumberRequested Latitude
lookupSourcestringIndicates whether the results are based on reverse geocoding or IP Geolocation
longitudenumberRequested Longitude
localityLanguageRequestedstringThe locality language that was used for this response, as requested via the `localityLanguage` parameter (ISO 639-1 code, e.g. "en").
continentstringLocalised Continent name in the requested language, if available
continentCodestringThe ISO continent code for the location (e.g. "EU" for Europe, "AS" for Asia, "OC" for Oceania)
countryNamestringLocalised Country name in the requested language, if available
countryCodestringCountry code as defined by ISO 3166-1 standard
principalSubdivisionstringLocalised principal subdivision name in the requested language, if available
principalSubdivisionCodestringPrincipal subdivision code as defined by ISO 3166-2 standard
citystringThe most significant populated place this location belongs. It will likely be the City name in the language requested. If unavailable, use the locality name field as a failover
localitystringThe most granular named locality (suburb, village, or town) that the coordinates fall within. Localised to the requested language where available.
postcodestringPostcode, if available
plusCodestringThe Open Location Code (Plus Code) for this location (e.g. "4RRH46J6+22"). A compact, address-independent encoding of coordinates.
fipsobjectFIPS code object, omitted if unavailable. FIPS (Federal Information Processing Standards) Codes are codes used by the Census Bureau to uniquely identify places in the US. Visit FIPS FAQ page for more information.
statestringState-level FIPS codes have two digits
countystringA three digits County-level FIPS code.
countySubdivisionstringFIPS five digits County Subdivision Code
placestringFIPS five digits place code, omitted if unavailable
csdCodestringCSD (Census Subdivision) code, omitted if unavailable. Canadian Geographic Codes. Visit CSD FAQ page for more information.
localityInfoobjectlocalityInfo object
administrativearrayAdministrative authorities as ordered by area (most significant first). Omitted if no administrative boundaries are available
namestringLocalised name of the place in the requested language, if available. The language is as defined by the 'localityLanguage' request parameter
descriptionstringLocalised description of the place in the requested language, if available. The language is as defined by the 'localityLanguage' request parameter
isoNamestringISO 3166-2 standard name, if available
orderintegerOrder value consistent across all entities in the Locality Info parent object. Ordered by geographic area (most significant first)
adminLevelintegerAn administrative level as defined by OpenStreetMaps project
isoCodestringISO 3166-2 standard code, if available
wikidataIdstringWikidata item identifier, if available
geonameIdintegerUnique identifier given by GeoNames.org, if available
chinaAdminCodestringChina Administrative division code. Only available for locations based in China and omitted for others
informativearrayNon-administrative boundaries as ordered by area (most significant first). Omitted if unavailable
namestringLocalised name of the place in the requested language, if available. The language is as defined by the 'localityLanguage' request parameter
descriptionstringLocalised description of the place in the requested language, if available. The language is as defined by the 'localityLanguage' request parameter
isoNamestringISO 3166-2 standard name, if available
orderintegerOrder value consistent across all entities in the Locality Info parent object. Ordered by geographic area (most significant first)
adminLevelintegerAn administrative level as defined by OpenStreetMaps project
isoCodestringISO 3166-2 standard code, if available
wikidataIdstringWikidata item identifier, if available
geonameIdintegerUnique identifier given by GeoNames.org, if available
chinaAdminCodestringChina Administrative division code. Only available for locations based in China and omitted for others
400Bad request

Sample Response

JSON View
401Invalid coordinates

Sample Response

JSON View
402This endpoint does not support server-side operations

Sample Response

JSON View
500An error has occurred and did not complete your request. Please try again

Sample Response

JSON View