Autocomplete — search-as-you-type place suggestions
Purpose-built typeahead: partial input → ranked place suggestions at per-keystroke latency. Edge-cached on normalized prefix (24h) — repeat prefixes are served sub-50ms with X-Cache: HIT. Pass focus_lat/focus_lon for proximity-biased, distance-guarded results, or boundary_country/bounds for hard filters. Free tier. For full geocoding (addresses, intersections, confidence ladder) use /v1/geocode.
Request
- Base URL: https://geo.thinair.co
- URL: https://geo.thinair.co/v1/autocomplete
- Auth: HTTP bearer
Query parameters
Partial input under the user's cursor. Fires from 2 characters when the request is scoped (focus/bounds/country), or 3 characters for a global query; shorter inputs return an empty result with a min_length warning (HTTP 200 — no engine call, so a bare 1-char never hits the engine).
Latitude of the proximity bias point. When set (with focus_lon), results are biased toward it AND results farther than ~500 km are dropped unless nothing is within range.
Longitude of the proximity bias point.
ISO 3166-1 alpha-2 or alpha-3 country code — hard filter.
Bounding-box hard filter as minLon,minLat,maxLon,maxLat (WGS84 degrees).
Comma-separated layer filter: venue, street, address, intersection, locality, neighbourhood, borough, county, localadmin, region, country, postalcode, coarse. Unknown layers are ignored.
Maximum suggestions to return (1–10). Default 5.
Preferred label language (ISO 639-1 / BCP47), passed through to the engine.
Response
Ranked suggestion list. X-Cache: HIT|MISS reports edge-cache status.
Example response
{
"items": [
{
"id": "ta_place_8f3a2c9e61c04d58"
}
],
"meta": {
"cacheHitKind": "v3_hit",
"source": "engine",
"cacheTier": "edge"
},
"warnings": [
"no_focus_ambiguous"
]
}Changes
No recorded changes to this operation across all 1 revision of this API.