Address autocomplete

Suggestions for partial input, tuned for latency and typo tolerance. Every suggestion carries coordinates, so most integrations never need a second call.

GEThttps://api.mygeocode.com/v1/autocomplete

Parameters

ParameterTypeDescription
qrequiredstringWhat the user has typed so far. At least 2 characters, up to 128.
limitoptionalinteger1 to 10. Default 5.
countriesoptionalstringComma-separated ISO 3166-1 alpha-2 codes to restrict suggestions to.
proximityoptionalstringlat,lon. Nearby suggestions rank first. Strongly recommended for map search boxes.
typesoptionalstringComma-separated subset of address, street, postcode, city, region, country, poi. Default all.
langoptionalstringISO 639-1 code. Default en.
keyoptionalstringAPI key, if not sent as a header.

Example

$ curl "https://api.mygeocode.com/v1/autocomplete?q=oxford+st&proximity=51.515,-0.141&limit=3"
const url = new URL("https://api.mygeocode.com/v1/autocomplete");
url.searchParams.set("q", "oxford st");
url.searchParams.set("proximity", "51.515,-0.141");
url.searchParams.set("limit", "3");

const { suggestions } = await (await fetch(url)).json();
suggestions.forEach((s) => console.log(s.text, s.lat, s.lon));
import requests

r = requests.get("https://api.mygeocode.com/v1/autocomplete",
                 params={"q": "oxford st", "proximity": "51.515,-0.141", "limit": 3}, timeout=5)
for s in r.json()["suggestions"]:
    print(s["text"], s["lat"], s["lon"])
Response
{
  "status": "ok",
  "query": "oxford st",
  "suggestions": [
    { "text": "Oxford Street, London W1, United Kingdom", "lat": 51.515419, "lon": -0.141588, "type": "street", "precision": "street", "place_id": "gb.street.0a91e2c4" },
    { "text": "Oxford Street, Southampton SO14, United Kingdom", "lat": 50.899021, "lon": -1.399537, "type": "street", "precision": "street", "place_id": "gb.street.77b4d1f0" },
    { "text": "Oxford Street Station, London W1, United Kingdom", "lat": 51.515167, "lon": -0.141251, "type": "poi", "precision": "house", "place_id": "gb.poi.3c5a8e19" }
  ]
}

Response fields

FieldTypeDescription
suggestions[].textstringDisplay text, one line, in lang.
suggestions[].lat, lonnumberCoordinates. Always present.
suggestions[].type, precisionstringAs in forward geocoding.
suggestions[].place_idstringPass to /v1/forward?place_id=... for full components and bounds. That call counts as one request.

Notes

Errors

400 invalid_request when q is shorter than 2 characters, or types contains an unknown value.