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

Switch to Homedata
in under 15 minutes.

Drop-in code examples for every major UK property data provider. Same endpoints you're used to: more data in every response.

Every migration follows 3 steps

1

Get your API key

Create a free account, pay as you go, 100 tokens = £1, no subscription needed. Bonus tokens with an optional monthly subscription. Your key is ready in seconds.

2

Swap the endpoint

Replace the old provider URL with the Homedata equivalent. Auth moves to an Authorization header.

3

Map the fields

Homedata returns richer responses. Map the fields you need: everything from your old provider is there, plus bedrooms, EPC, floor area, and more.

Migrate from getAddress.io

getAddress uses a postcode + house number lookup. Homedata uses a free-text search that returns structured addresses with UPRNs.

Before getAddress.io
cURL
curl "https://api.getAddress.io/find/SW1A2AA?api-key=YOUR_KEY"

# Response:
{
  "postcode": "SW1A 2AA",
  "latitude": 51.50354,
  "longitude": -0.12768,
  "addresses": [
    "10 Downing Street, , , , , London, "
  ]
}
After Homedata
cURL
curl -H "Authorization: Api-Key YOUR_KEY" \
  "https://api.homedata.co.uk/address/find/?q=10+downing+street"

# Response:
{
  "suggestions": [
    {
      "uprn": 100023336956,
      "address": "10 Downing Street",
      "address_line_1": "10 Downing Street",
      "town": "London",
      "postcode": "SW1A 2AA"
    }
  ]
}

What you gain

  • ✓ UPRN: unique property identifier for every address (getAddress doesn't return this)
  • ✓ Structured fields: address_line_1, address_line_2, town, postcode (not a comma-separated string)
  • ✓ Free-text search, no need to split postcode + house number first
  • ✓ Property data on retrieve: pass the UPRN to get bedrooms, EPC, floor area, last sold price
  • ✓ Pay as you go: 100 tokens = £1, first top-up matched, vs getAddress's pay-per-lookup model

Full comparison: Homedata vs getAddress.io →

Migrate from ideal postcodes

Ideal Postcodes uses a postcode lookup endpoint. Homedata's postcode endpoint returns the same addresses, each with a UPRN that chains into the property endpoints for enrichment.

Before Ideal Postcodes
cURL
curl "https://api.ideal-postcodes.co.uk/v1/postcodes/SW1A2AA?api_key=YOUR_KEY"

# Response:
{
  "result": [
    {
      "postcode": "SW1A 2AA",
      "line_1": "10 Downing Street",
      "line_2": "",
      "post_town": "London",
      "uprn": "100023336956"
    }
  ]
}
After Homedata
cURL
curl -H "Authorization: Api-Key YOUR_KEY" \
  "https://api.homedata.co.uk/address/postcode/SW1A2AA/"

# Response:
{
  "postcode": "SW1A 2AA",
  "addresses": [
    {
      "uprn": 100023336956,
      "address": "10 Downing Street, London, SW1A 2AA"
    }
  ]
}

Key differences

  • ✓ Auth in header: Authorization: Api-Key xxx instead of api_key= query param
  • ✓ Property enrichment: every address returns a UPRN, which chains straight into the property endpoints for bedrooms, EPC, floor area and last sold price
  • ✓ Area statistics: a second call to the postcode-profile endpoint returns median prices, property type breakdown and broadband speeds for the same postcode
  • ✓ Pay as you go: 100 tokens = £1 and your first top-up is matched. Ideal Postcodes charges from the first lookup.

Full comparison: Homedata vs Ideal Postcodes →

Migrate from propertyData.co.uk

PropertyData focuses on area-level analytics. Homedata provides both area stats and individual property records via API.

Before PropertyData
Python
import requests

# PropertyData: area-level metrics only
r = requests.get(
    "https://api.propertydata.co.uk/prices",
    params={"key": "YOUR_KEY", "postcode": "SW1A 2AA"}
)
data = r.json()
# Returns: average_price, median_price, transaction_count
# No individual property records
After Homedata
Python
import requests

headers = {"Authorization": "Api-Key YOUR_KEY"}

# Individual property lookup by UPRN
r = requests.get(
    "https://api.homedata.co.uk/properties/100023336956/",
    headers=headers
)
prop = r.json()
# Returns: bedrooms, bathrooms, epc_rating, epc_score,
# floor_area_sqm, last_sold_price, last_sold_date,
# construction_age, tenure, property_type,
# flood_risk, noise_level, deprivation_score...

What you gain

  • ✓ UPRN-level data: individual property records, not just postcode averages
  • ✓ Comparable sales: 20 nearest sold prices for any property
  • ✓ Price trends: 30 years of monthly median prices by outcode
  • ✓ Environmental risk: flood, radon, noise, air quality per property
  • ✓ Transparent pricing: published token pricing (100 tokens = £1) vs PropertyData's opaque enterprise quotes

Full comparison: Homedata vs PropertyData →

Migrate from Loqate

Loqate uses a find/retrieve two-step pattern. Homedata uses the same pattern: search returns UPRNs, retrieve returns the full record.

Before Loqate
JavaScript
// Step 1: Find
const find = await fetch(
  `https://api.addressy.com/Capture/Interactive/Find/v1.1/json3.ws?Key=${key}&Text=10+downing`
);
const { Items } = await find.json();
const id = Items[0].Id;

// Step 2: Retrieve
const retrieve = await fetch(
  `https://api.addressy.com/Capture/Interactive/Retrieve/v1/json3.ws?Key=${key}&Id=${id}`
);
// Returns: address lines only
After Homedata
JavaScript
const headers = { "Authorization": "Api-Key YOUR_KEY" };

// Step 1: Find (same pattern)
const find = await fetch(
  "https://api.homedata.co.uk/address/find/?q=10+downing",
  { headers }
);
const { suggestions } = await find.json();
const uprn = suggestions[0].uprn;

// Step 2: Retrieve (returns the property, not just address)
const retrieve = await fetch(
  `https://api.homedata.co.uk/properties/${uprn}/`,
  { headers }
);
// Returns: address + bedrooms, EPC, floor area, price history...

Key differences

  • ✓ Same find/retrieve pattern: minimal code change
  • ✓ UPRN as identifier: universal, permanent, government-standard (not a proprietary ID)
  • ✓ Retrieve returns the property, not just address lines, but the full property record
  • ✓ Simple auth: one API key in a header vs Loqate's key-per-service model
  • ✓ Transparent pricing: pay as you go, 100 tokens = £1. No sales calls, no minimum contracts.

Full comparison: Homedata vs Loqate →

Migrate from sprift

Sprift delivers property data as manual reports or CRM integrations. Homedata delivers the same data categories via API: programmatic, real-time, no manual steps.

Data mapping

Sprift Data Homedata Endpoint Difference
EPC certificate/properties/{uprn}/Rating + score + certificate date
Flood risk/properties/{uprn}/4 risk categories, colour-coded
Price history/properties/{uprn}/Full transaction log
Comparable sales/comparables/{uprn}/20 nearest sold prices. Arranged per customer rather than sold self-serve; the same evidence is included in the complete property profile.
Planning apps/planning/search/Nearby applications
Area demographics/postcode-profile/IMD, broadband, property mix

Full comparison: Homedata vs Sprift →

Migrate from streetData

StreetData provides postcode-level aggregate data. Homedata provides UPRN-level property records: individual properties, not averages.

What changes

  • ✓ UPRN-level records: query individual properties, not postcode averages
  • ✓ Live listings: current for-sale/rental properties with prices and agents
  • ✓ Bulk export: download filtered datasets as CSV/JSON via API
  • ✓ Self-serve: sign up, get key, start querying. No sales process.

Full comparison: Homedata vs StreetData →

Ready to switch?

Get your API key now. Pay as you go, 100 tokens = £1, no subscription needed, no sales call. Bonus tokens with an optional monthly subscription. Most migrations take under 15 minutes.