Address autocomplete | Moov Documentation

Address autocomplete

Fetch enriched address suggestions. Requires a partial address.

To access this endpoint using an access token you'll need to specify the /profile-enrichment.read scope.

GET

/enrichment/address

Ask

curl -X GET "https://api.moov.io/enrichment/address" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"

Ask

import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.enrichedAddress.get({
    search: "<value>",
  });

console.log(result);
}

run();

Ask

declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;
use Moov\MoovPhp\Models\Operations;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$request = new Operations\GetEnrichmentAddressRequest(
    search: '<value>',
);

$response = $sdk->enrichment->address->get(
    request: $request
);

if ($response->enrichedAddressResponse !== null) {
    // handle response
}

Ask

package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.GetEnrichmentAddressRequest;
import io.moov.sdk.models.operations.GetEnrichmentAddressResponse;
import java.lang.Exception;

public class Application {

public static void main(String[] args) throws Exception {

Moov sdk = Moov.builder()
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

GetEnrichmentAddressRequest req = GetEnrichmentAddressRequest.builder()
                .search("<value>")
                .build();

GetEnrichmentAddressResponse res = sdk.enrichedAddress().get()
                .request(req)
                .call();

if (res.enrichedAddressResponse().isPresent()) {
            System.out.println(res.enrichedAddressResponse().get());
        }
    }
}

Ask

from moovio_sdk import Moov
from moovio_sdk.models import components

with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

res = moov.enriched_address.get(search="<value>")

# Handle response
    print(res)

Ask

require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)

req = Models::Operations::GetEnrichmentAddressRequest.new(
  search: '<value>'
)
res = s.enriched_address.get(request: req)

unless res.enriched_address_response.nil?
  # handle response
end

Ask

using Moov.Sdk;
using Moov.Sdk.Models.Components;
using Moov.Sdk.Models.Requests;

var sdk = new MoovClient(security: new Security() {
    Username = "",
    Password = "",
});

GetEnrichmentAddressRequest req = new GetEnrichmentAddressRequest() {
    Search = "<value>",
};

var res = await sdk.EnrichedAddress.GetAsync(req);

// handle response

The request completed successfully.

Ask

Example

{
  "suggestions": [
    {
      "addressLine1": "string",
      "addressLine2": "string",
      "city": "string",
      "entries": 0,
      "postalCode": "string",
      "stateOrProvince": "string"
    }
  ]
}

Response headers

A unique identifier used to trace requests.

The request contained missing or expired authentication.

Response headers

A unique identifier used to trace requests.

The user is not authorized to make the request.

Response headers

A unique identifier used to trace requests.

The requested resource was not found.

Response headers

A unique identifier used to trace requests.

Request was refused due to rate limiting.

Response headers

A unique identifier used to trace requests.

The request failed due to an unexpected error.

Response headers

A unique identifier used to trace requests.

The request failed because a downstream service failed to respond.

Response headers

A unique identifier used to trace requests.

Set this header to v2026.07.00 to use the API described in this specification. When omitted, the server defaults to v2024.01.00, which may not match the behavior documented here.

Possible values:

v2026.07.00

Partial or complete address to search.

Maximum number of results to return.

Limits results to a list of given cities.

Limits results to a list of given states.

Limits results to a list of given zipcodes.

Exclude list of states from results. No include parameters may be used with this parameter.

Display results with the listed cities at the top.

Display results with the listed states at the top.

Display results with the listed zipcodes at the top.

Specifies the percentage of address suggestions that should be preferred and will appear at the top of the results.

If omitted or set to city, it uses the sender's IP address to determine location, then automatically adds the city and state to the preferCities value. This parameter takes precedence over other include or exclude parameters meaning that if it is not set to none, you may see addresses from areas you do not wish to see.

Useful for narrowing results with addressLine2 suggestions such as Apt (denotes an apartment building with multiple residences).

Include results from alternate data sources. Allowed values are all (non-postal addresses), or postal (postal addresses only).

Show child attributes.

The number of units at an address. For example the number of apartments or businesses in a building.