Skip to main content

find_address

Find Address

Returns address suggestions for a partial address, ranked by relevance. Use it to autofill an address form as the user types.

A suggestion is a display label and an id, not a full address. Retrieve the address with a second request to /autocomplete/addresses/{id}/usa. That second request is the one which decrements your lookup balance.

Autocomplete is not a free standalone resource. We rate limit, then suspend, keys that autocomplete without resolving suggestions.

Our address autocomplete JavaScript libraries add this to a form without calling the API directly.

Coverage​

Each search runs in one country, selected with context. A missing or unrecognized context falls back to your account default. Results come from the datasets enabled on your key: USPS Zip+4 for the US and its territories, and the country datasets you license elsewhere. Where a key has more than one dataset for a country, dataset narrows the search.

Filters​

Filters restrict results, e.g. state_code=NY searches New York only. A filter which matches no address returns an empty set. An unrecognized filter name is ignored. Neither affects your lookup balance.

Filters combine with AND logic, so state_code=CA&city=San Francisco requires both. A comma-separated value combines terms for one filter, e.g. postal_code_3=11225,11226,11238 accepts any of the three ZIP codes. Unless a parameter states otherwise, every filter takes multiple terms. The maximum is 10 filter terms.

Address bias​

Bias terms carry the bias_ prefix and promote addresses rather than restricting the set, so unmatched addresses still appear, lower down. For example, bias_state_code=NY,NJ favors addresses in New York and New Jersey, bias_lonlat favors addresses near a point. Invalid bias terms have no effect. Multiple bias terms are allowed unless stated otherwise, with a combined maximum of 5.

Suggestion format​

The suggestion string is subject to change. Present it to the user as it arrives rather than parsing it.

Rate limiting and cost​

The default rate limit is 3,000 requests per 5 minutes, counted per API key and IP address. The X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers report the current window.

Autocomplete requests do not draw on your balance. Resolving a suggestion to a full address does.

Endpoint​

GET /autocomplete/addresses

See the API reference for this endpoint.

Import​

from addresszen import AddressZen

Call find_address on the AddressZen client. Path parameters are positional; query and body parameters are keyword-only.

Path Parameters​

None.

Query Parameters​

NameTypeRequiredDescription
querystryesAddress Query The partial address string entered by the user to autocomplete.
datasetlist[types.Dataset]noFilter by Dataset Comma-separated list of datasets to search within. Filters results to only include addresses from the specified datasets. Useful for keys with multiple overlapping datasets enabled (e.g. paf and abp).
contextstrnoContext Limits search results, typically within a country.
limitintnoLimit Specifies the maximum number of records to retrieve. By default the limit is 10. Requesting a larger result set adds latency.
bias_lonlatstrnoBias by Geolocation Bias search to a geospatial circle determined by an origin and radius in meters. Max radius is 50000. Uses the format bias_lonlat=[longitude],[latitude],[radius in meters]. Only one geospatial bias may be provided.
bias_ipLiteral['true'] | strnoBias by Geolocation of IP Biases search based on approximate geolocation of IP address. Set bias_ip=true to enable.
boxstrnoFilter by Bounding Box Restrict search to a geospatial box determined by the "top-left" and "bottom-right" geolocations. Supply 4 comma separated values ordered top_left_lon,top_left_lat,bottom_right_lon,bottom_right_lat. The top-left longitude must be less than the bottom-right longitude, and the top-left latitude greater than the bottom-right latitude. A box which fails either check is ignored. Only one geospatial box can be provided.
postal_codestrnoFilter by postal code Restrict results to addresses with a matching full postal code. Case, spaces and hyphens are ignored. For US addresses the full postal code is the nine digit ZIP+4 (941021234); filter on postal_code_3 for a five digit ZIP. For UK addresses use postcode.
postal_code_2strnoFilter by postal code prefix Restrict results to addresses whose postal code starts with the given segment. For US addresses this is the three digit ZIP prefix (sectional center), e.g. 941 for San Francisco.
postal_code_3strnoFilter by short postal code Restrict results to addresses with a matching short postal code. For US addresses this is the five digit ZIP code.
citystrnoFilter by city Restrict results to addresses in the named city, town or locality. Case, spaces and accents are ignored, so San Francisco and sanfrancisco match the same addresses. For UK addresses use post_town.
statestrnoFilter by state Restrict results to addresses in the named state, province or region, e.g. California. Case and spaces are ignored.
state_codestrnoFilter by state code Restrict results to addresses with a matching state or region code, e.g. the two letter USPS state abbreviation CA. Case is ignored.
bias_postal_codestrnoBias by postal code Boost addresses with a matching full postal code (nine digit ZIP+4 for US addresses). Unmatched addresses still appear, ranked lower.
bias_postal_code_2strnoBias by postal code prefix Boost addresses whose postal code starts with the given segment (three digit ZIP prefix for US addresses).
bias_postal_code_3strnoBias by short postal code Boost addresses with a matching short postal code (five digit ZIP for US addresses).
bias_citystrnoBias by city Boost addresses in the named city, town or locality. Case, spaces and accents are ignored. For UK addresses use bias_posttown.
bias_statestrnoBias by state Boost addresses in the named state, province or region.
bias_state_codestrnoBias by state code Boost addresses with a matching state or region code, e.g. CA.
is_poboxLiteral['true', 'false'] | strnoFilter by PO Box true restricts results to PO Box addresses; false excludes them. For US addresses this is derived from the USPS record type (P).
is_businessLiteral['true', 'false'] | strnoFilter by business address true restricts results to business addresses; false excludes them. For US addresses this is derived from the USPS record type (F, a firm record).

Response Type​

from addresszen.types import FindAddressResult

Errors​

Unsuccessful HTTP responses raise APIError or a subclass, with the HTTP status and the API error code and message. Connection failures and timeouts raise TransportError. Unexpected responses raise ProtocolError. All derive from ClientError. See error handling.

Example​

find_address.pypython
from addresszen import AddressZen

with AddressZen("ak_test") as client:
suggestions = client.find_address(query="123 Main St")