All docschevron-rightSearch SDK for iOSchevron-rightarrow-leftGuideschevron-rightAddress Autofill

Address Autofill

Suppose you need a user to enter a valid home or delivery address. They typically need to do this during the registration or checkout process, where making the entry process as smooth as possible can help you prevent churn. This is where enabling users to fill in the address form by entering only a few characters is the most beneficial.

User experience

  1. Whenever it’s time to fill in the address in your app, the user is presented with a form. The top field in the form is focused for input.
  2. When the user starts typing, a list of valid, matching addresses is displayed, with the addresses closest to the user presented first.
  3. The user taps one of the suggested addresses and the form fields are filled.
  4. Your app shows the map with a pin placed for the selected address, which enables the user to visually confirm that they selected the correct address.
  5. Users also have the option of adding a comment for a housing unit, specific delivery instructions, or confirm the address they otherwise would need to type in manually.

We have a ready-made sample app that you can try in Xcode with Address Autofill and other scenarios. We encourage you to install and try it for yourself.

Full example of Address Form Autofill

Learn how to integrate Search SDK Address Autofill with UI for suggestions, filled-in form components, and a visual map confirmation (includes Maps SDK) in a sample app.



Installation guide

Before using any of Mapbox's Search products, you need to do some common installation steps. Please follow this guide, then continue with the steps below.

  1. Get AddressAutofill instance:
let addressAutofill = AddressAutofill()
  1. Add a request for input from the user:
    for: AddressAutofill.Query(value: yourQueryString)!,
    with: AddressAutofill.Options()
) { result in
    switch result {
    case .success(let suggestions):
    case .failure(let error):
  1. When a user has selected a suggestion, call select(suggestion:completion:) method. This method returns either an error or AddressAutofill.Result struct that provides detailed information about the address, such as AddressComponents.
let selectedSuggestion = pickSuggestion(suggestions) selectedSuggestion) { result in
    switch result {
    case .success(let suggestionResult):
        // process result
        let addressComponents = suggestionResult.addressComponents

    case .failure(let error):
API Reference

For more information, see the full API reference for the iOS Search SDK.


Want to use Autofill on your website?

For using Address Autofill on the web see our Mapbox Search JS SDK.