Reverse Geocoding

Reverse geocoding is the process of converting a coordinate or location (latitude, longitude) to a readable address or place name. This permits the identification of nearby street addresses, places, and/or area subdivisions such as a neighborhood, county, state, or country.

GET
/reverse

Authorization

stringRequired

LocationIQ Access Token

Query Parameters

numberRequired

Latitude of the location to generate an address for.

Formatfloat
numberRequired

Longitude of the location to generate an address for.

Formatfloat
stringDefaults to xml

Output Format. Defaults to xml.

This version (v1) of our Reverse Geocoding API is compatible with OpenStreetMap's Nominatim Geocoder in both JSON & XML formats. However, all our enhancements such as additional datasets and algorithms are supported only in json or xmlv1.1 format options.

Allowed:xmljsonxmlv1.1
integerDefaults to 18

Level of detail required where 0 is country and 18 is house/building. Defaults to 18. In terms of address details the zoom levels are as follows:

zoomaddress detail
3country
5state
8county
10city
14suburb
16street
18building
Range0 <= value <= 18
stringDefaults to en

Preferred language order for showing search results, overrides the value specified in the Accept-Language HTTP header. Defaults to en.

To use native language for the response when available, use accept-language=native.

Either uses standard rfc2616 accept-language string or a simple comma separated list of language codes.

integerDefaults to 1

Include a breakdown of the address of this result into elements. Important components include (but not limited to) country, postcode, state, county, city, town. Only those elements that are available for a given location will be returned.

Allowed:01
integerDefaults to 0

Makes parsing of the address object easier by returning a predictable and defined list of elements. Defaults to 0 for backward compatibility. We recommend setting this to 1 for new projects.

Element NameDescription
nameHouse name or Point of Interest (POI) such as a Cafe or School
house_numberHouse or Building number
roadRoads, Highways, Freeways, Motorways
neighbourhoodNeighbourhoods, Allotments, Quarters, Communities
suburbSuburbs, Subdivisions
islandIslands, Islets
cityCities, Towns, Villages, Municipalities, Districts, Boroughs, Hamlets
countyCounties
stateStates, Provinces, Regions, State Districts
state_codeState or Province Code
postcodePostal Codes, Zipcodes
countryCountries, Nation-states
country_codeCountry Code - 2 letter (ISO 3166-1 alpha-2)
Allowed:01
integerDefaults to 0

For responses with no city value in the address section, the next available element in this order - city_district, locality, town, borough, municipality, village, hamlet, quarter, neighbourhood - from the address section will be normalized to city. Defaults to 0.

Allowed:01
integerDefaults to 0

Returns address inside the postaladdress key, that is specifically formatted for each country. Currently supported for addresses in Belgium, Brazil, France, Germany, Greece, India, Ireland, Italy, Portugal, South Africa, Spain and United Kingdom. Defaults to 0.

Allowed:01
integerDefaults to 0

Allows you to specify whether or not the API should return the name of an ocean or sea if the coordinates provided fall within a body of water. By default, this parameter is set to 0 for backward compatibility. When set to 1 and used in conjunction with addressdetails=1, the response will contain a limited address section consisting of only the name and water elements, providing the name of the ocean or sea the coordinates correspond to, if the coordinates fall within a body of water.

Allowed:01
integerDefaults to 0

Returns the straight line distance (meters) between the input location and the result's location. Value is set in the distance key of the response. Defaults to 0.

Allowed:01
integerDefaults to 0

Adds state or province code when available to the state_code key inside the address object when available. Defaults to 0.

Allowed:01
string

If this parameter is not specified, LocationIQ uses multiple public and proprietary datasets to return results. If you'd like to restrict results to only OpenStreetMap data, you can set the value of this parameter to nom. This will only query our internal cluster of Nominatim servers, and return results. We may still apply some post-processing steps to these results though, so results may vary from the official Nominatim instance.

integerDefaults to 0

Include a list of alternative names in the results. These may include language variants, references, operator and brand. Defaults to 0.

Allowed:01
integerDefaults to 0

Include additional information in the result if available, e.g. wikipedia link, opening hours. Defaults to 0.

Allowed:01
integerDefaults to 0

Output geometry of results in geojson format. Defaults to 0.

Allowed:01
integerDefaults to 0

Output geometry of results in kml format. Defaults to 0.

Allowed:01
integerDefaults to 0

Output geometry of results in svg format. Defaults to 0.

Allowed:01
integerDefaults to 0

Output geometry of results as a WKT. Defaults to 0.

Allowed:01
numberDefaults to 0

When one of the polygon_* outputs is chosen, return a simplified version of the output geometry. The parameter describes the tolerance in degrees with which the geometry may differ from the original geometry. Topology is preserved in the geometry.

Response Body

curl -X GET "https://example.com/reverse?lat=40.748442&lon=-73.985658"
{  "place_id": "116136978",  "licence": "https://locationiq.com/attribution",  "osm_type": "way",  "osm_id": "34633854",  "lat": "40.74844205",  "lon": "-73.98565890160751",  "display_name": "Empire State Building, 350, 5th Avenue, Manhattan Community Board 5, Manhattan, New York County, New York, New York, 10001, USA",  "address": {    "attraction": "Empire State Building",    "house_number": "350",    "road": "5th Avenue",    "neighbourhood": "Manhattan Community Board 5",    "suburb": "Manhattan",    "county": "New York County",    "city": "New York",    "state": "New York",    "postcode": "10001",    "country": "United States of America",    "country_code": "us"  },  "boundingbox": [    "40.7479255",    "40.7489585",    "-73.9865012",    "-73.9848166"  ]}