## Autocomplete a partial address `AutocompleteResult geocode().autocompletePost(GeocodeAutocompletePostParamsparams, RequestOptionsrequestOptions = RequestOptions.none())` **post** `/api/v1/geocode/autocomplete` Autocomplete a partial address ### Parameters - `GeocodeAutocompletePostParams params` - `String q` Partial address query - `Optional countryCode` ISO 3166-1 alpha-2 country code filter - `Optional format` Response format: json (default), geojson, csv, ndjson - `Optional lang` Language code for localized names (e.g. en, de, fr) - `Optional lat` Focus latitude - `Optional layer` Filter by layer: address, poi, or admin - `Optional limit` Maximum results (default 10, max 20) - `Optional lng` Focus longitude ### Returns - `class AutocompleteResult:` GeoJSON FeatureCollection of autocomplete suggestions for partial address input. Optimized for low-latency type-ahead UIs. Content-Type: `application/geo+json`. - `List features` Autocomplete suggestions ordered by relevance - `GeoJsonGeometry geometry` GeoJSON Geometry object per RFC 7946. Coordinates use [longitude, latitude] order. 3D coordinates [lng, lat, elevation] are used for elevation endpoints. - `Coordinates coordinates` Coordinates array. Nesting depth varies by geometry type: Point = [lng, lat], LineString = [[lng, lat], ...], Polygon = [[[lng, lat], ...], ...], etc. - `List` - `List>` - `List>>` - `List>>>` - `Type type` Geometry type - `POINT("Point")` - `LINE_STRING("LineString")` - `POLYGON("Polygon")` - `MULTI_POINT("MultiPoint")` - `MULTI_LINE_STRING("MultiLineString")` - `MULTI_POLYGON("MultiPolygon")` - `Properties properties` Geocoding result properties - `String displayName` Formatted address or place name - `Optional category` POI category (e.g. restaurant, cafe, park). Present for place results. - `Optional city` City or town name. Present for address results. - `Optional confidence` Interpolation confidence (0-1). Present only for interpolated results. - `Optional country` Country name. Present for reverse geocode address results. - `Optional countryCode` ISO 3166-1 alpha-2 country code - `Optional distanceM` Distance from the query point in meters (reverse geocode / nearby only) - `Optional fullAddress` Complete formatted address from the database. Present for reverse geocode address results. - `Optional houseNumber` House or building number. Present for address and interpolated results. - `Optional interpolated` Whether this result was estimated by address interpolation rather than an exact database match. - `Optional name` Place name (raw). Present for reverse geocode place results. - `Optional osmId` OpenStreetMap element ID (null for interpolated results) - `Optional osmType` OSM element type (node, way, relation) - `NODE("node")` - `WAY("way")` - `RELATION("relation")` - `Optional postcode` Postal code. Present for reverse geocode address results. - `Optional score` Relevance score (higher is better). Incorporates text match quality, spatial proximity boost, and popularity signals. Not bounded to 0-1. - `Optional source` Result source indicating how the result was found: structured (exact field match), bm25 (full-text search), fuzzy (trigram similarity), address (reverse geocode address), place (reverse geocode POI), interpolation (estimated from neighboring addresses) - `STRUCTURED("structured")` - `BM25("bm25")` - `FUZZY("fuzzy")` - `ADDRESS("address")` - `PLACE("place")` - `INTERPOLATION("interpolation")` - `Optional state` State or province name. Present for reverse geocode address results. - `Optional street` Street name. Present for address and interpolated results. - `Optional subcategory` POI subcategory. Present for place results. - `Optional tags` Raw OSM tags. Present for place results. - `Optional wikipedia` Wikipedia article reference (e.g. en:Eiffel Tower). Present for notable places. - `Type type` - `FEATURE("Feature")` - `Type type` - `FEATURE_COLLECTION("FeatureCollection")` ### Example ```java package com.plazafyi.example; import com.plazafyi.client.PlazaClient; import com.plazafyi.client.okhttp.PlazaOkHttpClient; import com.plazafyi.models.geocode.AutocompleteResult; import com.plazafyi.models.geocode.GeocodeAutocompletePostParams; public final class Main { private Main() {} public static void main(String[] args) { PlazaClient client = PlazaOkHttpClient.fromEnv(); GeocodeAutocompletePostParams params = GeocodeAutocompletePostParams.builder() .q("q") .build(); AutocompleteResult autocompleteResult = client.geocode().autocompletePost(params); } } ``` #### Response ```json { "features": [ { "geometry": { "coordinates": [ 2.3522, 48.8566 ], "type": "Point" }, "properties": { "display_name": "221B Baker Street, London, NW1 6XE, United Kingdom", "category": "restaurant", "city": "London", "confidence": 0, "country": "United Kingdom", "country_code": "GB", "distance_m": 0, "full_address": "221B Baker Street, London, NW1 6XE, United Kingdom", "house_number": "221B", "interpolated": true, "name": "Eiffel Tower", "osm_id": 21154906, "osm_type": "node", "postcode": "NW1 6XE", "score": 0, "source": "structured", "state": "England", "street": "Baker Street", "subcategory": "italian", "tags": { "foo": "string" }, "wikipedia": "en:Eiffel Tower" }, "type": "Feature" } ], "type": "FeatureCollection" } ```