<!--
{
  "availability" : [
    "MapKit JS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKitJS",
  "identifier" : "/documentation/MapKitJS/Search/autocomplete",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "MapKit JS"
    ],
    "preciseIdentifier" : "instm/mapkit.Search/autocomplete"
  },
  "title" : "autocomplete(query, options)"
}
-->

# autocomplete(query, options)

Retrieves a list of autocomplete results for the specified search query.

```
autocomplete(
    query: string,
    options?: SearchAutocompleteOptions,
): Promise<SearchAutocompleteResponse>;
```

## Parameters

`query`

A string that represents the user’s search in progress.

`options`

Options for this specific query that supersede values set on the [`Search`](/documentation/MapKitJS/Search) object. See [`SearchAutocompleteOptions`](/documentation/MapKitJS/SearchAutocompleteOptions).

## Return Value

A promise that resolves with a [`SearchAutocompleteResponse`](/documentation/MapKitJS/SearchAutocompleteResponse) on success, or rejects with an `Error` on failure.

## Discussion

To provide the user with a menu of search suggestions, invoke the [`autocomplete(query, options)`](/documentation/MapKitJS/Search/autocomplete) method as users type. This method minimizes typing and brings users the results they’re looking for.

Pass an `AbortSignal` from an `AbortController` to the [`signal`](/documentation/MapKitJS/SearchOptions/signal) option to allow the controller to cancel a pending request. When the controller aborts, the promise it returns rejects with a `DOMException` whose `name` is `"AbortError"`.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)