bulk property data export

Bulk Property Data Export: CSV & JSON Workflows

How to export corporate property ownership data as CSV or JSON, structure it for portfolio analysis, and handle result limits and de-duplication.

Published 2026-08-12 Last updated 2026-08-12 4 min read Commercial

Two routes: export search results as CSV or JSON when you need a matched subset for specific companies, directors or areas; download the full monthly CCOD/OCOD files from HM Land Registry when you need the entire national dataset. Either way, de-duplicate on title number and be explicit about whether you are counting titles or addresses.

Which route you need

 Search exportFull HM Land Registry files
Best forNamed companies, directors, areas — a targeted subsetNational analysis, your own pipeline
FormatsCSV, JSONCSV
MatchingAlready normalised and fuzzy-matchedYou build it
CCOD + OCODBoth, combinedSeparate files to align yourself
SizeManageable in a spreadsheetNeeds a database
CostPer search / subscription creditsFree under licence
Setup effortNoneIngestion, normalisation, indexing
Row limitsCapped per searchNone

Most work wants the first. The full files earn their keep when the question is genuinely national — regional concentration, sector-wide patterns, anything where you need every row rather than the rows about a named subject.

What the export contains

An export row is a matched title, carrying:

  • Title number — the unique key. De-duplicate on this.
  • Tenure — freehold or leasehold.
  • Property address — as recorded on the register, free text.
  • District, county, region — administrative geography for aggregation.
  • Postcode — where recorded; frequently blank for land parcels.
  • Price paid — where recorded. Sparse, historic, not a valuation.
  • Date proprietor added — a registration date, useful for chronology.
  • Proprietor name and registration number.
  • Proprietorship category — company, local authority, housing association, and so on.
  • Proprietor address lines — as recorded on the title.
  • Data source — CCOD or OCOD, and country of incorporation for OCOD rows.

Field semantics are covered in CCOD data explained. The three worth re-reading before you analyse anything are price paid, tenure and date proprietor added — all routinely misinterpreted.

Preparing the export for analysis

1. De-duplicate on title number

Two things inflate a raw row count. A title can record up to four proprietors, so a jointly held title may appear once per matched owner. And if you ran several searches — number, then name variants, then group entities — the same title legitimately appears in more than one result set. De-duplicating on title number resolves both.

2. Decide your counting unit and state it

Titles are not properties. One title can cover an entire parade — flagged by the multiple-address indicator — while one building can carry a freehold plus dozens of leasehold titles. So:

  • Counting titles understates unit numbers where multiple-address titles are present.
  • Counting addresses overstates holdings where a building has layered freehold and leasehold titles.

Neither is wrong. Reporting one while implying the other is. Put the basis in the note.

3. Separate the tenure layers

Filter freehold and leasehold apart before drawing conclusions. Mixed together they will make a portfolio look larger and more valuable than it is, because the same building is counted at multiple levels. Freehold rows are the ownership layer; leasehold rows are occupational or intermediate interests.

4. Normalise the geography

District, county and region support aggregation directly, but administrative names as recorded may lag local-government reorganisation. If you are joining to external area data — population, floorspace, deprivation indices — reconcile the boundary names first, and expect a handful of mismatches to resolve by hand.

5. Treat blanks as unknown, not zero

Blank price paid means "not recorded", never "no consideration". Blank postcode means the title has no postal delivery point, not a data error. Averaging over blanks or treating them as zeros produces figures that are simply wrong.

Next step

Run a search and export

Search by company, number, director or address, then export the matched titles as CSV or JSON.

Search and export data

Handling large portfolios

Result sets are capped per search so response times stay predictable. For a company holding more titles than the cap, a single query will not be exhaustive. Options:

  • Split by entity. Run each group company separately rather than a broad name search, then combine and de-duplicate. This is more accurate anyway, because it forces you to establish the entity list properly.
  • Split by area. Segment by region or county and combine the exports.
  • Work from the source files where you need a guaranteed complete extract of a very large holding.

Whichever you choose, say in your note that the extract was segmented and how. A truncated export presented as complete is the kind of error that surfaces at the worst possible moment.

Analyses the export supports well

  • Portfolio scale and geographic concentration — titles by district and region.
  • Tenure mix — freehold versus leasehold share, which speaks to rent exposure and expiry risk.
  • Acquisition timeline — date proprietor added, sorted, showing whether holdings were assembled steadily or in bursts.
  • Entity mapping — which company in a group holds which assets, and whether the structure is SPV-per-asset.
  • Overlap analysis — comparing two companies' holdings for shared sites or adjacent parcels.
  • Owner-type breakdown — proprietorship category across an area.

And what it does not support: valuation, encumbrance, beneficial ownership, or lease terms. Those need the register and the leases. See what CCOD does and does not tell you.

JSON for downstream systems

Use JSON where the export feeds a system rather than a person: loading into a case-management or asset-management tool, populating a mapping layer, or driving a reporting pipeline. It preserves field structure without the type coercion a spreadsheet applies — which matters most for company registration numbers, where a spreadsheet will helpfully strip the leading zeros from 00123456 and silently break every subsequent match. If you must use CSV for numbers, format the column as text before you open it.

Where to go next

Frequently asked questions

Can I export Land Registry search results?

Yes. Search results can be exported as CSV for spreadsheet and portfolio analysis, or as JSON for loading into another system. The export contains the matched titles with title number, tenure, address, administrative geography, proprietor details and registration number.

How do I get the complete bulk dataset?

HM Land Registry publishes the full CCOD and OCOD files monthly for direct download under the Open Government Licence. Use those if you need the entire national dataset. Use search exports when you need the subset relating to specific companies, directors or areas, already normalised and matched.

Why does my export have fewer rows than expected?

Result sets are capped per search to keep response times predictable, so a single query against a very large portfolio may not return every title. Split the work by entity or by area and combine the exports, or work from the source files if you need a guaranteed exhaustive extract.

Should I de-duplicate on title number or address?

On title number — it is the stable unique key. Addresses repeat across titles and one title can cover several addresses, so de-duplicating on address will both merge distinct titles and split single ones. Decide separately whether you are reporting a count of titles or a count of addresses, and say which.

Next step

Start a company ownership search

Run the entity, director, or site through the registry tool and validate the ownership trail fast.

Start a company ownership search