Find Address
/v1/autocomplete/addressesReturns address suggestions for a partial address, ordered by relevance. Use it to power real-time address autofill.
Consider our address autocomplete JavaScript libraries, which add address lookup to a form without calling this API directly.
API Usage
Implementing our Address Autocomplete API involves:
- Fetch address suggestions with
/autocomplete/addresses - Acquire the complete address using the ID from the suggestion
Step 2 decrements your lookup balance.
Step 1 is not a free standalone resource. We rate limit and then suspend integrations that repeatedly make autocomplete requests without a paid Step 2 request.
Context
context limits the search, usually to a single country. It defaults to GBR, and an unrecognised context falls back to that default. If your key is not licensed for the datasets covering the context, the request is rejected.
Querying a full postcode within a supported context returns the entire address list for that postcode.
Query Filters
Refine results by appending filters to your querystring, e.g. postcode=sw1a2aa for postcode SW1A 2AA. Invalid filters return an empty set without affecting your lookup count.
To apply multiple filter terms, use a comma-separated list, e.g. postcode_outward=e1,e2,e3 combines result sets for E1, E2 and E3. Unless otherwise specified, all filters support multiple terms.
Filters combine with AND logic, for instance su_organisation_indicator=Y&postcode_area=n. The maximum is 8 filter terms.
Address Bias
Preface bias searches with bias_ to boost certain address results. Unlike filters, biasing allows unmatched addresses to appear with lower priority.
For example, use bias_postcode_area=SW,SE to favour addresses in the SW and SE postcode areas. Invalid bias terms have no effect.
Multiple bias terms are allowed unless stated otherwise, with a combined maximum of 5.
Suggestion Format
The suggestion format is subject to change. We recommend using the suggestion as-is to avoid integration issues.
Rate Limiting and Cost
The default rate limit is 3,000 requests per 5 minutes, counted per key and IP address. The X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers report where you stand.
Autocomplete API usage does not impact your balance, but resolving a suggestion to a full address requires a paid request. Autocomplete requests without subsequent paid requests may lead to rate limiting or suspension.
Query parameters
api_keystring optionalAPI Key
Your unique identifier that allows access to our APIs.
Begins
ak_. Available from your dashboard.querystring optionalAddress Query
The partial address string entered by the user to autocomplete.
datasetarray optionalFilter 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.
pafandabp).contextstring optionalContext
Limits search results, typically within a country.
limitinteger optionalLimit
Specifies the maximum number of records to retrieve.
By default the limit is 10. Requesting a larger result set adds latency.
bias_lonlatstring optionalBias by Geolocation
Bias search to a geospatial circle determined by an origin and radius in metres. Max radius is
50000. Uses the format bias_lonlat=[longitude],[latitude],[radius in metres]. Only one geospatial bias may be provided.bias_ipstring optionalBias by Geolocation of IP
Biases search based on approximate geolocation of IP address.
Set
bias_ip=trueto enable.Enum- "true"
boxstring optionalFilter 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.
postcode_outwardstring optionalFilter by Outward Code
Restrict result set to addresses with a matching outward code.
The outward code is the first half of a postcode. E.g. the outward code for
SW1A 2AAisSW1A.postcodestring optionalFilter by postcode Restrict result set to matching postcodes only. Can be combined with query to perform a postcode and building number or name search.
postcode_areastring optionalFilter by Postcode Area
Postcode area represents the first one or two non-numeric characters of a postcode. E.g. the postcode area of
SW1A 2AAisSW.Can be combined with query to perform a postcode and building search.
postcode_sectorstring optionalFilter by Postcode Sector
Postcode sector is the outward code plus first numeric of the inward code. E.g. postcode sector of
SW1A 2AAisSW1A 2post_townstring optionalFilter by Town or City
Restrict addresses to matching town, city or other locality identifier.
uprninteger optionalFilter by UPRN
Does not accept comma separated terms. Only a single term is permitted.
countrystring optionalFilter by country
Filters by country name.
In the GBR context, the country is never United Kingdom. It is England, Scotland, Wales, Northern Ireland, Jersey, Guernsey or Isle of Man.
postcode_typestring optionalFilter by Postcode Type
Useful for separating organisational and residential addresses.
su_organisation_indicatorstring optionalFilter by Organisation Indicator
Useful for separating organisational and residential addresses.
bias_postcode_outwardstring optionalBias by Outward Code Boosts addresses with a matching outward code. The outward code is the first half of a postcode. For instance, the outward code of
SW1A 2AAisSW1A.bias_postcodestring optionalBias by postcode Boost addresses which match postcode. Can be combined with query to perform a postcode and building number or name search.
bias_postcode_areastring optionalBias by Postcode Area
Boosts if the first one or two non-numeric characters of a postcode match
The postcode areas of SW1A 2AA and N1 6RT are SW and N respectively.
bias_postcode_sectorstring optionalBias by Postcode Sector
Boost postcode sector matches. The postcode sector comprises the outward code plus first numeric of the inward code.
bias_post_townstring optionalBias by Town or City
Biases results to matching town, city or other locality name.
bias_thoroughfarestring optionalBias by Street
Bias by street or thoroughfare name.
bias_countrystring optionalBias by Country
Possible values are England, Scotland, Wales, Northern Ireland, Jersey, Guernsey and Isle of Man.
postal_codestring optionalFilter 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 onpostal_code_3for a five digit ZIP. For UK addresses usepostcode.postal_code_2string optionalFilter 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.
941for San Francisco.postal_code_3string optionalFilter by short postal code
Restrict results to addresses with a matching short postal code. For US addresses this is the five digit ZIP code.
citystring optionalFilter by city
Restrict results to addresses in the named city, town or locality. Case, spaces and accents are ignored, so
San Franciscoandsanfranciscomatch the same addresses. For UK addresses usepost_town.statestring optionalFilter by state
Restrict results to addresses in the named state, province or region, e.g.
California. Case and spaces are ignored.state_codestring optionalFilter 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_codestring optionalBias 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_2string optionalBias by postal code prefix
Boost addresses whose postal code starts with the given segment (three digit ZIP prefix for US addresses).
bias_postal_code_3string optionalBias by short postal code
Boost addresses with a matching short postal code (five digit ZIP for US addresses).
bias_citystring optionalBias by city
Boost addresses in the named city, town or locality. Case, spaces and accents are ignored. For UK addresses use
bias_posttown.bias_statestring optionalBias by state
Boost addresses in the named state, province or region.
bias_state_codestring optionalBias by state code
Boost addresses with a matching state or region code, e.g.
CA.is_poboxstring optionalFilter by PO Box
truerestricts results to PO Box addresses;falseexcludes them. For US addresses this is derived from the USPS record type (P).Enum- "true"
- "false"
is_businessstring optionalFilter by business address
truerestricts results to business addresses;falseexcludes them. For US addresses this is derived from the USPS record type (F, a firm record).Enum- "true"
- "false"
Response
result contains a hits array of address suggestions. Each suggestion includes an ID
for resolving the full address in a follow-up request. The array sits inside the standard
{ result, code, message } envelope; see the API reference
for the wrapper format.
resultobjecthitsobject[]AddressSuggestion
Represents an address suggestion for any address in the world
idstringGlobal unique internally generated identifier for an address
suggestionstringAddress Suggestion to be displayed to the user
urlsobjectAlways an empty object (
{}). Retrieve the full address withid
UkAddressSuggestion
Represents a possible address given an autocomplete query.
UK Address Suggestions will return a UDPRN attribute if it references a deliverable endpoint found on Royal Mail's Postcode Address File dataset.
UK Address Suggestion will return a UMPRN if it references a multiple occupancy premise found on Royal Mail's Multiple Residence dataset.
idstringGlobal unique internally generated identifier for an address
suggestionstringAddress suggestion for a given query.
udprnintegerUDPRN stands for 'Unique Delivery Point Reference Number'. Royal Mail assigns a unique UDPRN code for each premise on PAF. Simple, unique reference number for each Delivery Point. Unlikely to be reused when an address expires.
Up to 8-digit numeric code.
A new UDPRN is automatically assigned to each new Delivery Point added to PAF.
umprninteger optionalOptionally returned field, representing the UMPRN of a Multiple Residence household
urlsobjectudprnstringURL to retrieve the entire details for a given address suggestion by the UDPRN
umprnstring optionalOptionally returned field, to retrieve the entire details for a suggested Multiple Residence household