Free developer tool
Reverse Geocoding Tool
Enter latitude and longitude to find the address at that location, or click anywhere on the map to reverse geocode a point.
Coordinates to address
Turn GPS coordinates into a human-readable location.
The matching address appears here.
Address and road data © OpenStreetMap contributors (ODbL) and other open datasets.
What is reverse geocoding?
Reverse geocoding is the opposite of geocoding: you start with a latitude and longitude and get back the nearest address or place. It is how a GPS position becomes “10 Downing Street, London”.
When results are approximate
A coordinate is a point, an address is a feature. A point can fall on a road, inside a park or in
an area with little address data, so applications should be ready for a street-level match,
several candidates, or no result at all. The layer and accuracy fields
tell you how specific the match is.
Where is it useful?
GPS tracking, delivery apps, vehicle telemetry, location history, and turning coordinates stored in a database into locations people can read.
Frequently asked questions
Why did I get a street instead of a house number?
Coordinates rarely sit exactly on a building. The API returns the nearest known feature, so a point on a road can resolve to the street, and a point in a park to the surrounding area. Check the layer and accuracy fields.
Can I get several candidates?
Yes. The limit parameter controls how many results are returned, ordered by relevance.
What coordinate format does the API expect?
Decimal degrees: lat between -90 and 90, lon between -180 and 180, passed as separate lat and lon parameters.
API
Reverse geocode coordinates with the API
GET /v1/reverse?lat=51.5033635&lon=-0.1276248&limit=5curl -H "X-API-Key: YOUR_MAPSI_API_KEY" \
"https://mapsi.dev/v1/reverse?lat=51.5033635&lon=-0.1276248&limit=5"const response = await fetch(
"https://mapsi.dev/v1/reverse?lat=51.5033635&lon=-0.1276248&limit=5",
{ headers: { "X-API-Key": "YOUR_MAPSI_API_KEY" } }
);
const data = await response.json();
console.log(data.results[0].formatted_address);import requests
response = requests.get(
"https://mapsi.dev/v1/reverse",
params={"lat": 51.5033635, "lon": -0.1276248, "limit": 5},
headers={"X-API-Key": "YOUR_MAPSI_API_KEY"},
)
data = response.json()
print(data){
"success": true,
"results": [
{
"formatted_address": "10 Downing Street, London, England, United Kingdom",
"house_number": "10",
"street": "Downing Street",
"city": "London",
"region": "Greater London",
"region_code": null,
"postcode": "SW1A 2AA",
"country_code": "GB",
"country": "United Kingdom",
"coordinates": {
"lat": 51.50333,
"lon": -0.127603
},
"confidence": 0.9,
"accuracy": "point",
"layer": "address",
"source": "openstreetmap",
"source_id": "relation/1879842"
}
]
}