Loading
Loading
The Reverse Geocoding API takes a latitude/longitude pair and returns the nearest matching street address — the full administrative breakdown from street and postcode up to city, state, and country, plus the name and category of any point of interest at that location, all as structured JSON in a single call. It reads WGS84 coordinates straight from GPS receivers and mobile sensors with no conversion step, and can return place names in your user's preferred language. It's built for developers adding location context to ride-sharing, delivery, asset-tracking, and photo-tagging features, and works as a straightforward alternative to the Google Maps reverse geocoding API.
Submit lat and lon and the API returns the single nearest address match as structured JSON. You get a pre-formatted full_address string for display or storage, plus individual components — street, area, postcode, city, state, and country — so you can render a full address or pull just the field you need.
Use it to turn a raw location pin into a readable address the moment a user drops it, without parsing or string-building on your side.
When coordinates resolve to a known amenity, building, or landmark, the response includes a poiarray listing each place's name, category, and type alongside the standard address fields. The top-level name, category, and type fields surface the closest match directly.
Use it to label a check-in with the venue a user is standing in, or to enrich a saved location with the business or landmark at that exact spot rather than just its street.
The state_code field returns an ISO 3166-2 subdivision identifier such as US-NY or FR-IDF, and country_code returns the ISO 3166-1 country. Each result also carries a bounding_box — [lat_min, lat_max, lon_min, lon_max] in WGS84 decimal degrees — describing the spatial extent of the matched feature.
Use the codes to normalize location data across global datasets, and the bounding box to draw or fit a map view around the matched area.
The API accepts coordinates in WGS84 decimal degrees — the format produced by GPS receivers, mobile devices, and mapping libraries — so there's no projection or transformation step before the request. Pass an Accept-Languageheader to receive place names and address components in a preferred language, with a clean fallback to English where a translation isn't available.
Use it to serve localized addresses to an international user base from the same coordinate input.
When a rider or customer drops a pin, send those coordinates to the API and show the matched street address and venue name back to the driver in real time. The single readable address line means dispatch screens and driver apps don't have to assemble an address from separate parts.
Vehicles and equipment report GPS coordinates; the API resolves each one to a street, area, and city so your dashboard shows where an asset actually is instead of a pair of numbers. Feed the same coordinates to the Timezone Lookup API to show each asset's local time alongside its resolved location.
Turn the coordinates embedded in a photo or post into a place name and address for captions, search, and grouping by location — including the point of interest when the shot was taken at a recognizable landmark.
Use reverse geocoding to confirm what a captured coordinate resolves to, then hand the cleaned address to the Forward Geocoding API when you need to re-derive canonical coordinates or a bounding box. Useful for validating user-edited locations before they're saved.
Wire a "use my current location" button to the API: capture the device's GPS coordinates, resolve them to a full address, and pre-fill the street, city, postcode, and state fields of a checkout or signup form. Users confirm instead of typing, which cuts address-entry errors and form abandonment.
$ pip install requestsimport requests
url = "https://api.apifreaks.com/v1.0/geocoder/reverse?lat=40.748817&lon=-73.985428"
payload = {}
headers = {
'X-apiKey': 'API-KEY'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
Submit a coordinate pair to retrieve the nearest matching address. The API always returns exactly one result — the closest match — so there's no array to page through. The full_address field gives you a display-ready string; the individual components give you control.
# Response { "lat": 40.7489669, "lon": -73.985399, "name": "LensCrafters", "category": "shop", "type": "optician", "poi": [ { "name": "LensCrafters", "category": "shop", "type": "optician" }, { "name": "7", "category": "place", "type": "house_number" } ], "street": "West 34th Street", "area": "Manhattan, New York County", "postcode": "10001", "city": "New York", "state_code": "US-NY", "state": "New York", "country_code": "US", "country": "United States", "full_address": "LensCrafters, 7, West 34th Street, Midtown South, Manhattan Community Board 5, Manhattan, New York County, New York, 10001, United States", "bounding_box": [ "40.7489169", "40.7490169", "-73.9854490", "-73.9853490" ] }curl "https://api.apifreaks.com/v1.0/geocoder/reverse?apiKey=YOUR_API_KEY&lat=40.748817&lon=-73.985428"
Add the Accept-Languageheader to receive place names and address components in a preferred language. The API falls back to English when a translation isn't available for a given location.
# Response { "lat": 48.85839815, "lon": 2.2944932993558114, "name": "", "category": "highway", "type": "elevator", "street": "Avenue Gustave Eiffel", "area": "Paris, Paris", "postcode": "75007", "city": "Paris", "state_code": "FR-IDF", "state": "Île-de-France, France métropolitaine, 75007", "country_code": "FR", "country": "France", "full_address": "Avenue Gustave Eiffel, Quartier du Gros-Caillou, Paris 7e Arrondissement, Paris, Île-de-France, France métropolitaine, 75007, France", "bounding_box": [ "48.8583690", "48.8584272", "2.2944571", "2.2945295" ] }curl "https://api.apifreaks.com/v1.0/geocoder/reverse?apiKey=YOUR_API_KEY&lat=48.8584&lon=2.2945" -H "Accept-Language: fr"
Read the browser's GPS coordinates client-side with the Geolocation API, then send them to your server and call the Reverse Geocoding API server-side so your API key never reaches the browser. The snippet below is the server-side call your backend makes after receiving lat/lon from the client.
# Your server receives lat/lon from the browser, then calls:curl "https://api.apifreaks.com/v1.0/geocoder/reverse?apiKey=YOUR_API_KEY&lat=51.5007&lon=-0.1246"
poi array only appears when the coordinates resolve to a known point of interest.Coordinates outside valid WGS84 ranges return a 400 error.If no address match exists for the coordinates, the API returns a 404.full_address string, individual components (street, area, postcode, city, state, country), ISO codes (state_code, country_code), a bounding_box, and a poi array when the point resolves to a known place. The API returns exactly one result per request.Accept-Languageheader with a single language code or a comma-separated list, and the API returns place names and components in that language, falling back to English where a translation isn't available for a location.lat and lon over a simple GET request and get structured address data back.To use the Reverse Geocoding API, you will need API credits. We only charge for successful queries, defined by a 2xx status code. If your request results in a 4xx or 5xx status code, no credits will be charged, and any deducted credits will be returned.
For Each Successful request 10 credits will be charged.
Utilize the Credits Usage API to efficiently monitor your recent consumption of both one-off and subscription credits. This API provides a streamlined way to track and manage your credit usage, ensuring you stay informed about your remaining balance and can optimize your resource allocation effectively.