Features Pricing Docs Contact Dashboard

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.

Get API Key Documentation
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

Get API Key for Higher Limits โ†’