Add UK address autocomplete to any form
One script tag. One data attribute. Your users get instant address suggestions across 36 million UK properties — with UPRN, postcode, and coordinates auto-filled.
<!-- 1. Load the widget --> <script src="https://homedata.co.uk/js/homedata-address.js"></script> <!-- 2. Add one attribute to your input --> <input type="text" data-homedata-address placeholder="Start typing an address…"> <!-- 3. Auto-fill companion fields (optional) --> <input type="hidden" data-homedata-uprn> <input type="text" data-homedata-postcode>
Live search — hitting Elasticsearch directly via Thor's address API.
Three steps. Five minutes.
No build tools. No framework requirements. Works on any site that has HTML.
Add the script tag
One line in your <head> or before </body>. No npm, no bundler.
Tag your input
Add data-homedata-address to any text input. The widget handles the rest.
Map your fields
Tag other inputs to auto-fill when an address is selected. UPRN, postcode, town — whatever your form needs.
<input data-homedata-town>
<input data-homedata-uprn>
Map any field on your form
The widget looks for data-homedata-* attributes within the same <form> and fills them automatically when a user picks an address. No JavaScript required on your end.
data-homedata-address
→
Full formatted address (trigger input)
data-homedata-uprn
→
12-digit Unique Property Reference Number
data-homedata-postcode
→
Postcode
data-homedata-town
→
Town / city
data-homedata-line1
→
Address line 1
data-homedata-line2
→
Address line 2
Custom JavaScript callback
Need more control? Listen for the selection event:
// Option 1: Global callback window.homedataOnSelect = function(result) { console.log(result.uprn); // "100023336956" console.log(result.address); // "10 Downing Street" console.log(result.postcode); // "SW1A 2AA" console.log(result.town); // "London" }; // Option 2: Event listener document.querySelector('[data-homedata-address]') .addEventListener('homedata:select', function(e) { const property = e.detail; // Do anything with the data });
CSS variables for theming
Match your brand — no CSS overrides needed:
:root { --hd-bg: #ffffff; --hd-border: #e5e7eb; --hd-radius: 8px; --hd-hover: #f3f4f6; --hd-text: #111827; --hd-font-size: 14px; }
Go beyond the address
Address search costs just 2 calls. When you need property data — bedrooms, EPC, floor area, property type, last sold price — retrieve the full record for 5 calls. A complete find-then-retrieve workflow is 7 calls. Nobody else returns this level of enrichment with an address lookup.
{
"address": "10 Downing Street",
"postcode": "SW1A 2AA",
"uprn": "100023336956"
}
// That's it. For everything else,
// you need a different API.
{
"address": "10 Downing Street",
"postcode": "SW1A 2AA",
"uprn": "100023336956",
"bedrooms": 4,
"property_type": "Terraced",
"epc_floor_area": 180,
"current_energy_efficiency": 55,
"last_sold_price": 0,
"last_sold_date": null,
"latitude": 51.5034,
"longitude": -0.1276
}
Free plan includes 100 enrichment calls/month. No credit card required.
Get your free API key →How we compare
Honest comparison. No asterisks.
getAddress.io shut down in October 2025
Following a Royal Mail intellectual property claim, getAddress.io posted a closure notice on their own homepage. If you were using getAddress, you need a replacement now. Homedata is a direct drop-in — same two-step Find + Retrieve pattern, same response shape, plus free enriched property data.
Read the migration guide — swap in under an hour →| Homedata | getAddress Closed | Loqate | Ideal Postcodes | |
|---|---|---|---|---|
| Service status | ✓ Live | ✗ Shut down Oct 2025 | ✓ Live | ✓ Live |
| Address autocomplete | Included in plan | From £8.99/mo | Per-lookup pricing | Per-lookup pricing |
| UPRN included | ✓ Always | ✗ Extra cost | Extra cost | ✓ Free with lookup |
| Property data on retrieve | ✓ Beds, EPC, floor area, property type | ✗ Address only | ✗ Address only | ✗ Address only |
| Embeddable widget | ✓ Zero dependencies | ✓ Had JS widget | ✓ Enterprise SDK | ✓ jQuery plugin |
| Self-serve signup | ✓ Free tier, no CC | ✓ Was self-serve | ✗ Demo call required | ✓ PAYG from 4.5p |
| Public pricing | ✓ On the website | ✓ Was public | ✗ Hidden | ✓ On the website |
| UK coverage | 36M addresses | 36M addresses | 36M addresses | 36M addresses |
Build your embed code in 30 seconds
Pick which fields you want, preview the widget, and copy your snippet. Zero configuration beyond choosing what data your form needs.