Address Autocomplete API
Suggest addresses, streets, cities and places while someone types. Each suggestion carries its own coordinates and precision, so when the user picks one you already have everything you need. No session tokens, no separate details call, no per-session pricing.
Example
$ curl "https://api.mygeocode.com/v1/autocomplete?q=10+Downing&country=gb&limit=3"Responses are tuned for typing: they come back in a few tens of milliseconds and tolerate missing letters and swapped words. Send proximity=lat,lon to rank nearby places first, which matters a lot for street names that exist in many towns.
Debounce keystrokes to about 150 ms. A typical address takes 4 to 6 requests to pick.
{
"status": "ok",
"query": "10 Downing",
"suggestions": [
{
"text": "10 Downing Street, London SW1A 2AA, United Kingdom",
"lat": 51.503396,
"lon": -0.12764,
"type": "address",
"precision": "house",
"place_id": "gb.addr.7f3c2a19"
},
{
"text": "10 Downing Place, Cambridge CB2 3EN, United Kingdom",
"lat": 52.203042,
"lon": 0.121811,
"type": "address",
"precision": "house",
"place_id": "gb.addr.a01d9e44"
},
{
"text": "10 Downing Road, Dagenham RM9 6NP, United Kingdom",
"lat": 51.536118,
"lon": 0.137204,
"type": "address",
"precision": "house",
"place_id": "gb.addr.c58b7e02"
}
]
}What you get back
| Field | Meaning |
|---|---|
text | The suggestion as it should be shown, one line. |
lat, lon | Coordinates of the suggestion. Present on every suggestion. |
type | address, street, postcode, city, region, country or poi. |
precision | Same four values as geocoding. |
place_id | A stable identifier. Pass it to /v1/forward?place_id=... if you want the full components and bounds for the chosen suggestion. |
Where it is used
Checkout address forms
One field instead of six. The chosen suggestion's place_id fetches the components to fill the rest of the form.
Search boxes on maps
Pass the map centre as proximity so "High Street" means the one on screen.
Replacing Places Autocomplete
The Google Maps JavaScript drop-in provides google.maps.places.Autocomplete backed by this endpoint, without session pricing.
Price and limits
Each call is one request. There is no per-session pricing and no separate charge for picking a suggestion. Browsers can call this endpoint directly on the free tier from the visitor's own IP, which is usually the right way to do it. Pricing.