How property enrichment can turn fragmented UK property information into reusable, machine-readable intelligence for home-moving, PropTech, lending, CRM and portfolio workflows.
Property Deals Insight · 18 September 2026 · 9 min read
Most property businesses do not have a shortage of data. They have a problem connecting it.
An address sits in a CRM. A slightly different version of the same address appears in a portal listing. An EPC record uses its own formatting. A council tax record sits somewhere else again, and the transaction history is held against yet another representation of the same building.
The result is familiar right across the market: repeated lookups, duplicate records, manual reconciliation, and systems that individually know a great deal about a property but struggle to share any of it reliably with each other.
That is the direction Property Deals Insight has been building towards: using the Unique Property Reference Number (UPRN) as a durable join key, reconciling property information from multiple sources, and exposing the result through APIs, feeds, reports and embedded workflows.
The pattern
A UPRN does not by itself solve every property-data problem. What it gives you is a consistent identifier around which data from different systems can be organised.
Where it earns its place
A customer enters an address once. The platform resolves it to the underlying property, attaches the UPRN and returns property type, bedrooms, floor area, council tax and EPC data.
Fewer repeated questions, less manual research, and consistent data capture at every later stage of the journey.
Enrichment becomes an embedded data layer rather than a set of dataset integrations each platform builds and maintains itself.
The platform keeps its own customer experience and calls property resolution, enrichment and valuation behind the scenes.
Historic CRM records carry inconsistent address strings and incomplete attributes. Resolving them to UPRNs creates a stronger basis for de-duplication, segmentation, valuation activity and prospecting.
Property attributes, EPC information, comparables and transaction history enter an existing decision process against a consistent property key, instead of teams searching separate systems by hand.
Once a portfolio is reconciled to property identifiers, the same asset set can be enriched and monitored across valuation, EPC, characteristics, market and planning signals without rebuilding the matching each time.
Address-led enrichment surfaces the attributes that drive quoting and servicing — floor area, EPC rating and heating fuel — while keeping property identity consistent across the journey.
In practice
The technical pattern is deliberately small. Resolve an address to a UPRN, enrich a UPRN you already hold, or do both in a single call.
| Endpoint | Input | Returns |
|---|---|---|
| POST /pdi-property-enrichment/core-by-address | address + postcode | UPRN, address fields, property, council tax, EPC |
| POST /address/uprn-lookup-by-address | address + postcode | UPRN and address fields only |
| POST /pdi-property-enrichment/core | UPRN | property, council tax, EPC |
| POST /pdi-property-enrichment/base | UPRN | property attributes only |
Base URL https://dataapi.propertydealsinsight.com. Every response is documented in the PDI developer documentation.
{
"address": "8 Wall Street, Blackpool",
"postcode": "FY1 2EG"
}
One call resolves the address and returns the property behind it. The response leads with the match decision, then the attributes.
{
"match_status": "MATCHED",
"match_confidence": "HIGH",
"score": 1.0,
"uprn": "100010837358",
"matched_address": "8 Wall Street, Blackpool",
"address_source": "ADDRESS_MASTER",
"property_type": "Terraced",
"bedrooms": 2,
"total_floor_area": 53,
"source": {
"property_type": "price_paid", // Land Registry
"bedrooms": "Portal", // listing data
"total_floor_area": "EPC" // survey-derived
},
"council_tax": {
"band": "A",
"authority": "Blackpool",
"amount": 1675.48,
"year": "2026"
},
"epc": {
"rating": "C",
"main_fuel": "mains gas (not community)",
"fuel_category": "MAINS_GAS",
"lodgement_date": "2026-02-12"
}
}
A live production response, abridged. Full field reference in the developer documentation.
Two details in that payload matter more than the attribute count.
The first is source. Every core attribute says which dataset it came from, because a bedroom count from a portal listing and a floor area from a lodged EPC are not the same kind of fact and should not be treated as one. A consuming system can apply its own trust rules instead of inheriting ours.
The second is fuel_category. The raw certificate strings differ between England, Wales and Scotland — "mains gas (not community)" against "Gas: mains gas" — and both normalise to the same category. Normalisation like this is unglamorous and it is most of the work.
Any matching service can return an answer when the address is clean. The design decision that actually matters is what happens when it is not — and the wrong answer is to quietly pick the most likely candidate and return it as a fact.
Where more than one property qualifies, the PDI API returns the qualifying properties rather than selecting one. Your application resolves the ambiguity with the customer, who knows which flat they live in, instead of handling a confident-sounding guess.
{
"match_status": "MULTIPLE_MATCHES",
"uprn": null,
"matched_address": null,
"reason_code": "MULTIPLE_CANDIDATES",
"matches": [
{
"address": "Unit G11, Screenworks,
22 Highbury Grove, London",
"score": 0.8785
},
{
"address": "Unit G01, Screenworks,
22 Highbury Grove, London",
"score": 0.8785
}
],
// 25 candidates returned in total
"property_type": null,
"council_tax": null,
"epc": null
}
{
"match_status": "NO_MATCH",
"uprn": null,
"reason_code":
"NO_CANDIDATE_PASSED_VERIFICATION",
"matches": []
}
// A no-match is a 200, not an error.
// Branch on match_status, never on
// the HTTP code.
// Nothing is filled in for a property
// we could not identify — a confident
// looking record for a property we
// never found is worse than an
// empty one.
Three outcomes, explicitly named, is a small piece of API design that removes a large class of downstream defect. MATCHED, MULTIPLE_MATCHES and NO_MATCH are the only thing a calling system needs to branch on, and each one has a defined recovery path.
Measured, not asserted
Coverage claims are easy to make and rarely measured. We tested PDI’s live production API on 24,401 addresses drawn from five public datasets, sent exactly as a customer would send them and spread across five area types, from major cities to remote rural areas. No client data was involved. Rates are rounded to the nearest whole per cent.
| What the address is | Match rate |
|---|---|
| Home addresses typed on EPC certificates | 99% |
| Council tax register entries | 89% |
| Companies House registered offices | 66–79% |
| Land Registry titles held by companies | 69–72% |
| Planning application sites | 56–60% |
| All five sources | 78% |
Two runs on the same production release; where they differ, both are shown.
A lower match rate can be the right answer. Home addresses resolve almost completely, even when they have been typed by hand. Planning sites are a different thing: an application for “land to the rear of No. 4” describes a piece of land, not a property, and it has no UPRN of its own. Refusing to return one is correct; returning the nearest house would be wrong, and it would look like a perfectly good answer.
A match has to name the property that was asked for. Across nearly 19,000 matches, every flagged result was checked by hand, and none returned a different building.
| By area type | Match rate |
|---|---|
| Major urban | 86% |
| Other urban | 83% |
| Rural, accessible | 74% |
| Rural, remote | 72% |
| Small town | 71% |
| By country | |
| England | 79% |
| Wales | 79% |
| Scotland | 73% |
Rural sets match less often than urban ones. Our reading is that this is mostly the input mix — rural samples contain far more planning sites and land titles — but that is an inference rather than something the test isolates.
Scotland is lower than England, and part of the reason is how Scottish addresses are written. Flats are recorded by floor and position, and the registers disagree on the separator: FLAT 2-1 1083 TOLLCROSS ROAD GLASGOW in one source is Flat 2/1, 1083 Tollcross Road in another. Every one of these cases in the test was matched correctly, where a plain string comparison would have missed them all. We would rather publish the gap that remains than average it away.
Speed matters as much as rate in an onboarding flow: a lookup typically takes a little over 100 ms per address, and under a second and a half at the 95th percentile.
| Fill rate when matched | Share |
|---|---|
| Property type | 95% |
| EPC rating | 91% |
| Floor area | 91% |
| Council tax band | 88% |
| Bedrooms | 87% |
| Council tax amount | 86% |
A small share of any production address file is rejected before matching because the postcode field does not contain a postcode. Those are excluded from the rates above.
Two things are worth drawing out. Fill rates are field-specific, which is why an API has to handle nulls honestly rather than substituting a plausible default. And council tax amount — the annual charge, not just the band — is returned for around 86% of matched properties. Holding the charge means holding a rate for every band in every billing authority for the current charging year, which is a materially harder thing to maintain than the band alone.
Have an address file you need to resolve or enrich? PDI supports real-time API, bulk matching and bespoke data-feed workflows. See the API or talk to us about a bulk run.
The real issue
It is tempting to judge a property-data service by how many fields it returns. In an enterprise workflow, that is not close to enough.
A consumer of property data increasingly needs to answer:
None of those are answered by a larger field count. They are answered by identity, source and context travelling with the data — which is why per-field source attribution is in the response rather than in a PDF somewhere.
The wider picture
The Open Property Data Association and the wider Smart Property Data programme are working towards a market where property information is structured, trusted, portable and reused between participants rather than repeatedly re-keyed. Several of the practical building blocks behind that vision are also problems property enrichment has to solve today.
The UPRN as a common join key gives different systems a fighting chance of referring to the same physical property, even where the display address differs.
Structured responses let CRMs, lender systems, home-moving platforms and digital property-pack workflows consume property information directly, instead of it being trapped in documents or copied by hand.
Source attribution and metadata matter as soon as a receiving party has to decide whether a value is good enough for its own decision, or whether it needs independent verification.
The prize is not fetching the same data faster. It is a properly sourced property attribute being reused by multiple authorised participants rather than rediscovered from scratch by each of them.
Shared schemas and common technical approaches reduce the number of bespoke point-to-point integrations the industry has to build — which is what has to happen if property information is to move cleanly between agents, conveyancers, lenders, valuers and software providers.
Implementation
There is a large difference between demonstrating property data on a screen and making it dependable inside someone else’s production workflow. The same six issues come up every time.
These are not edge cases. They are the details that decide whether property data is useful information or dependable infrastructure.
Common questions
The Unique Property Reference Number is a persistent identifier for an addressable location. It provides a much more stable basis for linking records than the address string itself, which can be written differently across systems and can change over time. That makes the UPRN particularly useful for de-duplication, enrichment and data exchange.
The API returns MULTIPLE_MATCHES with the qualifying properties in a matches array, each with its own score. No UPRN and no attributes are returned, because none have been established yet. Your application presents the candidates, the customer picks one, and you resubmit that address as an ordinary request.
Every core attribute has a matching entry in the source object on the response. price_paid is Land Registry, EPC is survey-derived from a lodged certificate, and Portal is listing data and the softest of the three. It is returned so you can apply your own trust rules rather than inherit ours.
Yes. Scottish addresses return council tax and EPC from Scottish sources, and the request and response shapes are identical. Match rates are lower than in England — around 73% against around 79% in our independent test above — partly because Scottish addresses and certificate sources are structured differently. We would rather publish that gap than average it away.
No. A no-match is an HTTP 200 with match_status: NO_MATCH and a reason_code explaining why. Calling systems should branch on match_status, never on the HTTP status code.
Yes — that is what /address/uprn-lookup-by-address exists for. It runs the same matching without the enrichment, so a back catalogue of CRM or portfolio records can be resolved to UPRNs first, and only the records you actually need get enriched afterwards.
Where this goes
The UK property market is moving towards earlier availability of structured information, stronger property identity, reusable data and more connected digital workflows.
For PDI, enrichment is one part of that architecture. The same reconciled property foundation supports property packs, valuations, portfolio intelligence, CRM workflows, prospecting, market analysis and embedded third-party products.
The opportunity is not to build another isolated property database. It is to make property intelligence easy for other systems to identify, consume, understand and reuse — which is why PDI participates in the Open Property Data Association ecosystem and keeps developing UPRN-led APIs with interoperability, source transparency and real implementation in mind.
If you are working on a PropTech platform, CRM, lender workflow, home-moving journey, portfolio product or digital property-information service, we can provide property resolution, enrichment, APIs, feeds and bespoke data delivery.
Talk to our data team
Matching addresses to UPRN, enriching a portfolio or loan book, or building property data into a product? Tell us what you are working with and we will come back on fit and the right delivery route.
Match rates cited above are rounded and were measured by PDI on its production API using addresses from five public datasets, with no client data; fill rates are rounded and come from recent production use. Both describe those address populations. They are not a guarantee of performance on a different address file. API responses shown are live production responses, abridged for length. Property Deals Insight is a member of the Open Property Data Association; nothing here claims certification or compliance under the Smart Property Data Trust Framework.