Free Address & Place Autocomplete API
Real-time suggestions for street addresses, cities, restaurants, and landmarks worldwide โ one API, both addresses and places. Powered by OpenStreetMap.
Free with LatLng services.
The autocomplete API is included at no extra cost when used alongside any LatLng service โ map tiles, geocoding, static maps, or reverse geocoding.
Standalone use requires a paid plan. See pricing โ
Free
Bundled with LatLng services
~250ms
Global edge latency
๐
Worldwide coverage
Live Demo
Type at least 2 characters โ results update as you type
Show raw JSON โ
API Reference
The autosuggest endpoint accepts a query string and optional coordinates for location-biased results:
// Basic query GET https://suggest.latlng.work/autosuggest?q=bellevue+wa X-Api-Key: YOUR_API_KEY // Distance-biased results near a location GET https://suggest.latlng.work/autosuggest?q=coffee&lat=47.61&lon=-122.33 X-Api-Key: YOUR_API_KEY // Filter to within 2km + country GET https://suggest.latlng.work/autosuggest?q=coffee&lat=47.61&lon=-122.33&radius=2000&country=us X-Api-Key: YOUR_API_KEY// Response { "results": [ { "name": "Bellevue", "category": "city", "lat": 47.6101, "lon": -122.2015, "city": "Bellevue", "country": "us" } ] }
Parameters
| Param | Required | Description |
|---|---|---|
q |
Yes | Search query (min 2 chars). Multi-word supported: "coffee london" |
lat, lon |
No | User location for distance-biased ranking and radius filtering |
radius |
No | Filter results to within this distance (meters) of lat/lon. Requires lat and lon. |
country |
No | Filter results to a single country. ISO 3166-1 alpha-2 code (e.g. us, gb, de). |
bbox |
No | Bounding box filter: lon_min,lat_min,lon_max,lat_max. E.g. -0.5,51.2,0.3,51.7 for Greater London. |
limit |
No | Max results (default 10, max 20) |
Code Examples
JavaScript / TypeScript
async function autosuggest(query, lat, lon) { const params = new URLSearchParams({ q: query, limit: '8' }); if (lat && lon) { params.set('lat', lat); params.set('lon', lon); } const res = await fetch( `https://suggest.latlng.work/autosuggest?${params}`, { headers: { 'X-Api-Key': 'YOUR_API_KEY' } } ); const { results } = await res.json(); return results; } // Wire up a search input let debounce; input.addEventListener('input', e => { clearTimeout(debounce); debounce = setTimeout(async () => { if (e.target.value.length < 2) return; const results = await autosuggest(e.target.value); // render results... }, 150); });
Python
import requests def autosuggest(query, lat=None, lon=None): params = {"q": query, "limit": 8} if lat and lon: params.update({"lat": lat, "lon": lon}) r = requests.get( "https://suggest.latlng.work/autosuggest", params=params, headers={"X-Api-Key": "YOUR_API_KEY"} ) return r.json()["results"] # Example results = autosuggest("coffee", lat=47.61, lon=-122.33) for r in results: print(r["name"], r.get("city", ""))
curl
# Basic query curl "https://suggest.latlng.work/autosuggest?q=eiffel+tower&limit=5" -H "X-Api-Key: YOUR_API_KEY" # Filter to UK results only curl "https://suggest.latlng.work/autosuggest?q=london&country=gb" -H "X-Api-Key: YOUR_API_KEY" # Results within 2km of a point curl "https://suggest.latlng.work/autosuggest?q=coffee&lat=51.505&lon=-0.09&radius=2000" -H "X-Api-Key: YOUR_API_KEY" # Bounding box (Greater London) curl "https://suggest.latlng.work/autosuggest?q=park&bbox=-0.5,51.2,0.3,51.7" -H "X-Api-Key: YOUR_API_KEY"
Why Use Our Address & Place Autocomplete API?
- Addresses + places in one call: Returns both "123 Main St, Seattle" and "Pike Place Market" from the same endpoint
- Free with any LatLng plan: Included at no extra cost alongside map tiles, geocoding, or static maps โ no separate billing
- Multi-word queries: "coffee london", "main st bellevue" โ understands context across fields
- Fuzzy matching: Handles typos and diacritics (cafรฉ โ cafe, mรผller โ muller)
- Global OSM data: Street addresses, cities, towns, POIs from every country
- Location-biased: Pass user coordinates to surface nearby addresses and places first
- Edge-cached: Responses served from the edge in ~250ms
Common Use Cases
- Delivery and logistics apps needing precise street address input
- Maps with a unified search bar (addresses + businesses)
- Real estate platforms โ search by address or neighborhood name
- Travel apps โ find hotels, airports, or "123 rue de Rivoli, Paris"
- E-commerce checkout with address autocomplete
- Fleet management โ route planning with address lookup
Getting Started
1
Copy the endpoint URL
2
Add to your input handler
3
Ship your feature