Skip to main content
29M UK properties, one API call Get your API key →
Free forever One embed token 36M UK addresses

Address autocomplete for any website. One line of code.

Your users start typing an address. A dropdown appears. They pick it. Your form fields fill in automatically — address lines, town, postcode, UPRN and coordinates. No backend. No developer. Just an embed token.

Works on WordPress, Webflow, Squarespace Zero dependencies, 6KB
Live demo — try it now Real API

↑ These fields fill automatically when you select an address

Searching against 36M real UK addresses. No signup needed to try it.

Three steps. That's it.

No backend configuration and no server-side code. Paste the snippet, drop in your embed token, and add your domain to the widget's allowed list.

1

Add the script to your page <head>

One line. Loads the widget JS. No npm and no build step.

HTML
<script
  src="https://homedata.co.uk/js/homedata-address.js"
  data-token="wt_YOUR_EMBED_TOKEN"
  data-input="#address-field"
  data-field-line1="#address-line-1"
  data-field-postcode="#postcode"
  data-field-town="#town"
  defer
></script>

Two things make this work. Replace wt_YOUR_EMBED_TOKEN with the embed token from your widget settings, and add the domain you are embedding on to that widget's allowed domains. Address requests from a domain that is not on the list are refused.

2

Set the IDs on your form fields

Match the IDs in the script to your actual form field IDs. That's all the configuration there is.

HTML
<!-- Address search input -->
<input type="text" id="address-field" placeholder="Start typing an address…">

<!-- These fill in automatically -->
<input type="text" id="address-line-1" name="address_line_1">
<input type="text" id="postcode"       name="postcode">
<input type="text" id="town"          name="town">
3

You're done. Test it.

Open your page, type a UK address, and your form fields fill in automatically. No deployment and no server-side code. The widget calls our address endpoint directly from the browser, carrying the embed token you paste into the snippet.

Have unusual field names or a complex form?

Use the Widget Builder — configure visually →

Log in to your dashboard to drag-and-drop field mappings and copy a pre-configured snippet.

What gets auto-filled

The widget fills address fields in the browser, using the embed token in your snippet. Property data comes from the API, called from your server with the UPRN the widget hands you.

In the browser — embed token
  • Address line 1
    14 Brook Street
  • Address line 2
    Mayfair
  • Town / City
    London
  • Postcode
    W1K 5AA
  • UPRN
    100023347891
  • Latitude / Longitude
    51.5123, -0.1432
From your server — API key

The widget returns a UPRN with every selection. Pass it to /property/{uprn}/base/ from your server, authenticated with your API key, and you get the property record back. The browser widget does not carry an API key and does not fetch these fields itself.

  • Property type
    Terraced
  • Bedrooms
    3
  • Floor area
    94 m²
  • EPC rating
    C (73)
  • Bathrooms
    2
  • Last sold price
    £385,000

Who uses it

Anyone with a form and UK addresses. You don't need a developer.

🏠

Estate & letting agents

Add address autocomplete to your valuation request form, contact form, or property intake. Stops typos. Captures clean postcodes every time.

⚖️

Solicitors & conveyancers

Clean address entry on client intake forms. Every record gets a UPRN — your permanent identifier for the property throughout the transaction.

🏦

Mortgage brokers

Type an address and the application form fills itself — address, postcode, UPRN and coordinates. The UPRN is the key to the property record: pull type, bedrooms, EPC, floor area and tenure from the API when you need them.

🛡️

Insurance

Get construction details, EPC rating, and floor area at point of quote. Faster underwriting, fewer follow-up calls, cleaner data.

📋

CRMs & databases

Every address entered through your CRM gets a UPRN. Deduplication, data quality, and property record matching become trivial.

🏗️

Proptech platforms

Don't maintain your own address database. Point at ours — 36M addresses, always current. Every selection returns the full address, town, postcode, coordinates and the UPRN.

In your dashboard

Visual Widget Builder

Not sure which field IDs to use? Log in and use the Widget Builder — tell us your form field names, preview the result live, and copy a pre-configured snippet ready to paste.

  • Choose preset templates: checkout form, contact form, mortgage application
  • Map response fields to your form with a drag-and-drop interface
  • Preview with real API calls before you copy the snippet
  • Get HTML, JavaScript, and React snippets — copy one, paste in your site
Generated snippet
<!-- Generated by Homedata Widget Builder -->
<!-- Paste in your <head> -->
<script
  src="https://homedata.co.uk/js/homedata-address.js"
  data-token="wt_YOUR_EMBED_TOKEN"
  data-input="#property_address"
  data-field-line1="#street_address"
  data-field-line2="#address_2"
  data-field-town="#city"
  data-field-postcode="#zip_code"
  data-field-uprn="#uprn_hidden"
  defer
></script>

<!-- Your form -->
<input id="property_address"
       type="text"
       placeholder="Start typing address…">

Common questions

Yes, and typing is free. The widget is free to embed, and the suggestions a visitor sees as they type cost nothing — the endpoint the snippet calls does not decrement your balance, however many keystrokes it takes to find the address. You are charged 1 token when a visitor SELECTS an address, because that is the call that returns the UPRN and coordinates. So £10 of tokens covers around 1,000 completed lookups, not 1,000 keystrokes. Property data is a separate call to the API from your own server.

Yes. Any website where you can add a script tag to the head will work. WordPress: add to the theme's header.php or via a plugin. Webflow: Custom Code > Head Code. Squarespace: Settings > Advanced > Code Injection. If you can add raw HTML to your page head, you can use the widget.

No. The widget attaches to whichever input you point it at (via data-input selector) and fills in companion fields on selection. If no match is made, nothing happens. Your form, submit button, and validation all work exactly as before.

Yes. Use the programmatic API: HomedataAddress.init({ widgetToken: 'wt_YOUR_EMBED_TOKEN', embedBase: 'https://homedata.co.uk', input: '#field', onSelect: (addr) => setState(addr) }). The script tag derives both from itself; when you call init yourself you pass them. Or use it as a script tag — it works in any browser context regardless of framework.

The widget sends partial address queries to our API as the user types. We don't store queries or associate them with users. Responses are served from our UK-hosted infrastructure. See our privacy policy for the full picture.

Yes. The endpoint the snippet calls is limited to 120 requests a minute per IP — generous for typeahead, and enough to stop bulk extraction. Keystrokes are NOT billable on this path: the suggestion lookup does not decrement your balance, so debouncing is a courtesy to the visitor rather than a way to control cost. The direct API, called from your own server with an API key, is metered separately.

How we compare

A UK address widget that fills address fields, UPRN and coordinates, authenticated by the embed token in your snippet.

Feature Homedata getAddress Ideal Postcodes Loqate
Embeddable widget ✓ Free ✗ Shut down ✓ Paid ✓ Enterprise
Address + UPRN ✓ 1 token on select — ✓ Free ✗
Property data available ✓ Via API ✗ Never ✗ Never ✗ Never
EPC rating available ✓ ✗ ✗ ✗
Bedrooms & type available ✓ ✗ ✗ ✗
Self-serve signup ✓ 3 mins — ✓ ✗ Demo call
Pricing Pay as you go (100 tokens = £1) Shut down Subscription Enterprise

Need more control? Use the API directly.

The widget is a convenience layer. Under the hood, it's three REST endpoints — address/find, address/postcode, and address/retrieve. Hit them directly from any language.

Add address autocomplete today.

Try it with no account. Typing is free and a completed lookup costs 1 token (100 tokens = £1). Sign up to access property data enrichment and the Widget Builder.

Pay as you go — 100 tokens = £1, no subscription needed. In the widget, typing is free and a completed lookup costs 1 token; property data from the API is charged per call.