Skip to main content
29M UK properties, one API call. Get an API key →
Homedata vs Street Data

Predictable token pricing.
Not per-lookup billing.

Both are developer-first property data APIs. The difference is how you pay. Street Data charges per lookup, at £0.02 to £0.50 per call depending on the endpoint. Homedata charges in tokens: every endpoint at a published weight, same price, predictable bill.

Pay as you go: 100 tokens = £1. Transparent weights: address match 5 tokens, retrieve 5. No per-lookup charges.

Two billing models, same data

Street Data

Pay per lookup

Variable cost per lookup

£0.02–£0.50 per lookup depending on endpoint. Costs scale linearly with usage.

Different endpoints, different prices

Each data type has its own per-lookup cost. A 5-endpoint workflow costs 5 different amounts.

Developer-first API

Good documentation, JSON responses, REST endpoints. Built for integration.

Homedata

Prepaid tokens

Predictable cost

Prepaid tokens, 100 = £1. Every endpoint has a published weight.

Transparent token weights: you know the cost upfront

Most property data endpoints cost 1 token; address match 5, postcode 2, retrieve 5, the complete property profile 50, reflecting real infrastructure costs.

Pay as you go

Pay as you go: 100 tokens = £1, no subscription needed. Address match costs 5 tokens, retrieve 5, still far cheaper than per-lookup competitors.

Both products serve developers building on UK property data. The key difference is billing predictability.

The portfolio problem

Per-lookup pricing works fine for one-off checks. But if you're building portfolio tools, due diligence workflows, or bulk enrichment, the maths changes fast.

100 properties

5 data points each (address, EPC, flood risk, sold prices, property detail)

Street Data (PAYG)

£10 – £250

Depends on endpoint mix

Homedata (tokens)

£5

500 tokens at 1 token a call

1,000 properties

5 data points each: typical monthly portfolio refresh

Street Data (PAYG)

£100 – £2,500

Wide range based on endpoints

Homedata (tokens)

£50

5,000 tokens at 1 token a call, or £50 a month adds 5,500 tokens a month

10,000 properties

5 data points each: enterprise portfolio management

Street Data (PAYG)

£1,000 – £25,000

Highly variable by endpoint

Homedata (tokens)

£500

50,000 tokens at 1 token a call, or £500 a month adds 67,500 tokens a month

Cost is only half of it. You can calculate your Homedata number on day one: before you write a line of code. With per-lookup pricing, your bill depends on which endpoints you use, how often, and at what scale. That makes budgeting a guess until you're in production.

Feature comparison

Side by side: what each API offers.

Homedata
Street Data
Billing model Prepaid tokens at published weights: pay as you go, or monthly with bonus tokens Pay-as-you-go: £0.02–£0.50 per lookup
Entry price Pay as you go: 100 tokens = £1, first top-up matched, no credit card required Limited trial / demo
Cost predictability Fixed: know your max cost before you build Variable: depends on endpoint mix and volume
Address matching V1: 2 tokens Charged per lookup
EPC data 1 token: transparent token weights across all endpoints Available: per-lookup charge
Flood / environmental risk 7 risk types: flood, radon, noise, landfill… Available: per-lookup charge
Comparable sales Radius search Available: per-lookup charge
Planning applications Radius search by lat/lng Available: per-lookup charge
Embeddable address widget Drop-in JS typeahead widget API only: build your own UI
Documentation Interactive docs + Python/JS/cURL examples Good developer docs

What Street Data offers that we don't

Honest comparison: some things they do differently or have that we don't yet.

Pay-as-you-go flexibility

If your usage is very low and sporadic, paying per lookup with no prepaid balance might cost less than Homedata's minimum £20 top-up. PAYG works well for occasional one-off lookups.

Established developer community

Street Data has been serving developers longer. Their API patterns and data coverage may be more mature in certain areas.

Granular endpoint pricing

Per-endpoint pricing means you only pay for what you use. If you only need one data type, PAYG avoids paying for endpoints you don't call.

Different data sources

They may source or process certain datasets differently. Always verify coverage for your specific use case with both providers.

Try it free with no commitment

Get an API key in 30 seconds. Address match costs 5 tokens via V1. Property data is pay as you go: 100 tokens = £1.

Search → Property → EPC
curl --get "https://api.homedata.co.uk/address/match/" \
  --data-urlencode "address=10 Downing Street" \
  --data-urlencode "postcode=SW1A 2AA" \
  -H "Authorization: Api-Key YOUR_API_KEY"
# 200: address-level retrieve body plus address_resolution; 5 tokens.
# 422: reason no_match or multiple_matches; never charged.
# Use the returned UPRN for further property data.
quickstart.py
import requests

headers = {"Authorization": "Api-Key YOUR_API_KEY"}
response = requests.get(
    "https://api.homedata.co.uk/address/match/",
    params={"address": "10 Downing Street", "postcode": "SW1A 2AA"},
    headers=headers,
    timeout=30,
)
if response.status_code == 422:
    raise ValueError("Check the address: " + response.json()["reason"] + ". No charge.")
response.raise_for_status()
matched = response.json()
print(matched["uprn"], matched["address_resolution"])
# Address fields are already included. Enrich by UPRN if needed.
epc = requests.get(
    "https://api.homedata.co.uk/epc-checker/" + str(matched["uprn"]) + "/",
    headers=headers, timeout=30,
)
epc.raise_for_status()
print(epc.json())
quickstart.js
// Run on your server; keep the API key out of browser code.
const headers = { Authorization: `Api-Key ${process.env.HOMEDATA_API_KEY}` };
const params = new URLSearchParams({
  address: '10 Downing Street', postcode: 'SW1A 2AA',
});
const response = await fetch(
  `https://api.homedata.co.uk/address/match/?${params}`, { headers },
);
const matched = await response.json();
if (response.status === 422) {
  throw new Error(`Check the address: ${matched.reason}. No charge.`);
}
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(matched.uprn, matched.address_resolution);

Know your costs before you build

Pay as you go: 100 tokens = £1. Every endpoint has a published token weight. Top up when you're ready.