Skip to main content
29M UK properties, one API call Get your API key →

Address lookup with a UPRN on every result.

Autocomplete and postcode search across 36.6 million addresses in Great Britain. Each match comes with its UPRN, so the next call can be the whole property.

Search 2 tokens · property from 5 tokens · 100 tokens = £1 · no subscription

What it is

Two ways to find an address

Type-ahead as the user types, or every address at a postcode for a dropdown. Both return the same thing: the address, and its UPRN.

What comes back

A UPRN on every result

Full address, postcode, town and the UPRN, the permanent ID that every other dataset we hold is keyed on. Search is cheap; the property is where the value is.

Who it's for

The first call in most integrations

Checkout and registration forms, property portals, postcode dropdowns, cleaning a customer list.

Three ways to use it

Type-ahead, dropdown, or a list

All three start with the same 2-token search.

Type-ahead

Suggest addresses as the user types. Store the UPRN when they pick one, and you never have to match a free-text address again.

Code example →

Postcode dropdown

“Enter your postcode, pick your address.” One call returns every address at the postcode, ready for a select.

Code example →

Clean a list

Run each address through search, keep the UPRN, then pull the fields you want for every row.

Batch guide →

A real response

What the search returns

Free-text in, matches out, each with the UPRN. Abbreviations, missing postcodes and typos are handled. The token cost is in the response header.

GET /address/find/?q=63+harvey+lane+norwich
→ {
  "suggestions": [
    {
      "uprn": 100090904564,
      "address": "63 Harvey Lane, Norwich",
      "postcode": "NR7 0AG"
    }
  ],
  "count": 1
}
X-Tokens-Charged: 2

Compared

Address lookup is where most tools stop.

Every address service gives you a formatted address. Some give you the UPRN. Ours gives you the property behind it, from the same key.

  • ✓
    A UPRN on every resultNot a geocode or a delivery point: the permanent ID the whole property record is keyed on.
  • ✓
    The property, one call laterType, rooms, EPC, title, last sale, risk, planning. Up to 38 data sets from the UPRN you just got.
  • ✓
    Pay as you go2 tokens a search, no licence, no minimum.
  • ✓
    Self-serveSign up, get a key, make a call. No demo, no contract.
Address63 Harvey Lane, Norwich, NR7 0AG
UPRN100090904564
PropertySemi-detached · 4 bed · 145 m²
EPCD63/100
Last sold£495,000 · Jul 2021
TenureFreehold · NK12110
Flood zone 3Not detected
Council taxBand D
+ 30 moreschools, crime, planning, solar…
29MUK properties, by UPRN
36.6Maddresses indexed
30 yrsof listing events, since 1996
23MEPC certificates on file
7licensed and official sources
Live status →

Reference

More about address lookup

The two endpoints and their code, how address billing works, who uses address lookup, practical patterns, and the embeddable widget.

Two endpoints. One goal.

Instant UK address autocomplete and postcode search. 36.6 million addresses: typeahead that works in form fields, checkout flows, and property search UIs. Every result returns a UPRN for downstream enrichment. Address find and postcode cost 2 tokens each, retrieve costs 5 tokens, transparent token weights that reflect real licensing costs.

Use find for typeahead autocomplete (user types, suggestions appear). Use postcode to list all addresses at a postcode (user selects from a dropdown). Both cost 2 tokens each: reflecting search licensing costs.

GET /address/find/ — autocomplete

Request: API key required

curl -G "https://api.homedata.co.uk/address/find/" \
  -H "Authorization: Api-Key YOUR_API_KEY" \
  --data-urlencode "q=10 Downing Street"

GET /address/postcode/{postcode}/ — postcode lookup

Request: API key required. Response truncated.

curl "https://api.homedata.co.uk/address/postcode/SW1A2AA/" \
  -H "Authorization: Api-Key YOUR_API_KEY"

How address billing works

We follow the same model as Loqate and Stripe: search is lightweight, retrieve is where the value is. Address find costs 2 tokens and takes the same API key as every other endpoint. When the user selects an address and you call retrieve to get the enriched property data, that costs 5 tokens, reflecting the Royal Mail PAF and OS licensing behind every response.

Address find and postcode lookup cost 2 tokens each. Retrieve costs 5 tokens (Royal Mail PAF licensing). A typical find-then-retrieve workflow costs 7 tokens. See call weights →

The UPRN returned in every search result is the key that unlocks everything else: EPC rating, floor area, flood risk, solar potential, price history, and 40+ more data points. All of those are billed retrieve calls.

This is the same model as Stripe (publishable key for checkout, secret key for charges) or Mapbox (free tiles, paid geocoding). Pay as you go. Pay when you need data.

Who uses address lookup

Address autocomplete is the front door, the first API call in every integration.

Checkout & registration forms

Replace manual address entry with typeahead autocomplete. User types "10 Down…" and selects their full address from a dropdown. Reduce form abandonment, eliminate typos, and get a verified UPRN for every submission.

input → /find/?q=... → select → populate form fields

Property search portals

Build a "search by address" bar with instant results. Each suggestion includes the UPRN: use it to pull property details, photos, pricing, and risk data from the retrieve and enrichment endpoints.

search bar → /find/?q=... → select → /retrieve/{uprn}/

Postcode dropdown selectors

Classic "enter postcode, pick your address" pattern. The postcode endpoint returns all addresses at a postcode with building name, number, and street, ready for a <select> dropdown without any data transformation.

postcode input → /postcode/{code}/ → dropdown → selected UPRN

Data enrichment pipelines

Resolve address strings to UPRNs in batch. Take a CSV of addresses, run each through /find/, capture the UPRN, then enrich via /property/{uprn}/base/ with property type, EPC, floor area, and sold prices. No manual matching.

csv addresses → /find/ → UPRNs → /base/

How we compare

Address lookup is just the starting point. What happens after the user selects an address is where we're different.

  • Address autocomplete only (getAddress, Postcodes.io): address search and postcode lookup; no UPRN, no property data, no EPC, price or risk.
  • Homedata (address + property intelligence): address search (2 tokens), postcode lookup (2 tokens), a UPRN on every result, 40+ property fields via retrieve, and EPC, risk, solar and sold prices.
  • Enterprise PAF/UPRN (Loqate, Ordnance Survey): address search, UPRN and geocoding; no property data; £5k+/year licence.

Practical patterns

Common integration patterns, all start with a lightweight address search (2 tokens).

Debounced typeahead in JavaScript

Standard pattern for a form input with autocomplete suggestions. Debounce at 200ms to avoid hammering the API on every keystroke.

let timer;
document.getElementById('address-input').addEventListener('input', (e) => {
  clearTimeout(timer);
  timer = setTimeout(async () => {
    if (e.target.value.length < 2) return;
    const res = await fetch(
      `https://api.homedata.co.uk/address/find/?q=${encodeURIComponent(e.target.value)}`,
      { headers: { Authorization: 'Api-Key YOUR_API_KEY' } }
    );
    const { suggestions } = await res.json();
    // Render suggestions as dropdown items
    // On select: store suggestion.uprn for enrichment
  }, 200);
});

Address → EPC → flood risk in three calls

Complete property intelligence from a single address search.

# 1. Find address (2 tokens)
curl -G "https://api.homedata.co.uk/address/find/" --data-urlencode "q=10 Downing Street" \
  -H "Authorization: Api-Key YOUR_API_KEY"
# → uprn: 100023336956

# 2. Get EPC (API key required)
curl "https://api.homedata.co.uk/epc-checker/100023336956/" \
  -H "Authorization: Api-Key YOUR_API_KEY"

# 3. Get flood risk (API key required)
curl -G "https://api.homedata.co.uk/risks/flood/" \
  --data-urlencode "uprn=100023336956" \
  -H "Authorization: Api-Key YOUR_API_KEY"

Or just embed it

Don't want to build the autocomplete UI yourself? Use our pre-built address widget: one script tag, zero dependencies, works on any website. Configurable field mapping, custom styling, and callbacks for form integration.

See the address widget → · Widget builder →

Try it in your terminal

Try address search right now in your terminal. When you need property data, sign up for a free key — no credit card. Calls are paid from your token wallet: 100 tokens = £1.

curl "https://api.homedata.co.uk/address/find/?q=10+Downing+Street" \
  -H "Authorization: Api-Key YOUR_API_KEY"

Get your API key → · Read the quickstart

Questions

About address lookup

Full answers in the API & data FAQ →

Does it cover the whole UK?

Great Britain: England, Scotland and Wales, 36.6 million addresses. Northern Ireland uses a separate register and is not included.

What is a UPRN?

The Unique Property Reference Number, an ID of up to 12 digits given to every addressable place in Great Britain. It never changes, so it is the safest key to store. More on UPRNs →

Can I search by postcode alone?

Yes. The postcode call returns every address at that postcode with UPRNs, which is what a “pick your address” dropdown needs.

How many results does a search return?

Up to 50 matches by default, best first, and up to 100 if you ask for more with the limit parameter. Most searches with a house number and street resolve to one.

What’s the difference between address find and property retrieve?

Address find searches a postcode or free-text address and returns matching addresses with the property identifier needed for the next call. Property retrieve uses that identifier to return data for one property. The address bundle returns address fields; base, core and complete bundles progressively add property, listing, sale, risk and comparable data.

Start with a search.

Search is 2 tokens, the property from 5. 100 tokens = £1, no subscription.