- Data
- MCP server
- Ownership
- Titles held by a company
Titles held by a company
ownership_by_companyEvery registered title a company holds in England and Wales, by Companies House number, from the bulk ownership registers; the way a landlord's or developer's portfolio is mapped.
Same call over REST
Ownership by company/v1/ownership/company/{company_number}Not connected yet? Connect your assistant. Sign in with your MarketCode account; no API key needed.
Reference
What ownership_by_company answers
A portfolio in one call. Give a Companies House number and get every title the company is registered proprietor of, from HM Land Registry's corporate and overseas ownership registers, with the address and the price paid where the register records one. It is how a name on one title becomes the whole holding, and how a sourcing team decides whether a landlord is worth a letter. It costs 3 credits because the response carries licensed register data.
Reference
When to use it, and when not to
Use it when you have the company number and want the holdings. owner_profile goes the other way round: give it a number for the company's status, directors and persons with significant control alongside its title count, or a name to find candidate companies when you do not have the number. ownership_by_title starts from a single title. In the sourcing search, owner_types and company_status filter parcels by the kind and state of their owner before you look anyone up.
Inputs
Before you call it
A Companies House number as registered, with its leading zeros ("00125575", not "125575"). limit bounds the number of titles returned; a large landlord holds thousands.
- company_number
- A company number is the Companies House registration number, with its leading zeros. owner_profile accepts a name instead and returns candidate companies when you do not have the number; treat a name match as a candidate set, not a portfolio.
Example
An example call to ownership_by_company
Use the MarketCode tool ownership_by_company with {"company_number":"00125575","limit":3} and show me the result.{
"company_number": "<string>",
"country": "<string>",
"data": {
"data": {
"company_number": "<string>",
"company_name": "<string>",
"titles": [
{
"title_number": "<string>",
"owner_text": "<string>",
"owner_type": "<string>",
"company_number": "<string>",
"country_of_incorporation": null,
"property_address": "<string>",
"valid_from": "<string>",
"source": "<string>"
}
],
"total": 0,
"execution_time_ms": 0
}
},
"credits_charged": 0
}Shape only. This call returns licensed records, so the keys are real and every value is a placeholder of its type.
Inputs
Arguments ownership_by_company takes
| Name | Type | Required | Description |
|---|---|---|---|
| company_number | string | Yes | |
| limit | integer | No | Default: 500 |
Response
What comes back
| Field | Type |
|---|---|
| company_number | string |
| country | string |
| data | object |
| data.data | object |
| data.data.company_number | string |
| data.data.company_name | string |
| data.data.titles | array |
| data.data.titles[].title_number | string |
| data.data.titles[].owner_text | string |
| data.data.titles[].owner_type | string |
| data.data.titles[].company_number | string |
| data.data.titles[].country_of_incorporation | null |
| data.data.titles[].property_address | string |
| data.data.titles[].valid_from | string |
| data.data.titles[].source | string |
| data.data.total | integer |
| data.data.execution_time_ms | number |
| credits_charged | integer |
Fields observed in the example response above; a field the example did not exercise is not listed.
Reference
Things that catch people out
- Only the registered proprietor counts. A company that owns through a subsidiary shows the subsidiary's titles under the subsidiary's number. Follow the persons with significant control in
owner_profileto find the group. - Overseas companies have their own register. OCOD entries carry the overseas registration where HM Land Registry recorded one; the join to Companies House applies to UK companies.
- A title is not a property. One title can cover a block or an estate; a count of titles is not a count of homes. The site dossier and the property record say how many units a title's building holds.
- Dissolved companies still appear. The register records the proprietor at the last transfer; a dissolved company's titles stay until they are transferred.
owner_profilereports the status.
Usage
How to run ownership_by_company in your assistant
Ask your assistant in plain English, for example:
"Use the MarketCode tool ownership_by_company for <address or area>.
Show the result and the credits charged."
The arguments the assistant will send, for the example on this page:
{"company_number":"00125575","limit":3}The connect steps for Claude, ChatGPT, Codex, Cursor and Claude Code are on the MCP page.
Skills
Skills that use ownership_by_company
- Property research: A sourced answer to any UK property question: the right tool for the job, the credit cost stated first, the wording rules that keep an estimate an estimate.
- Site and unit sourcing: A shortlist of land or units matching your criteria, scored, with the registered owner resolved for each and a recipient list ready for outreach.
Price and licence
What it costs, and where the data comes from
ownership_by_company costs 3 credits per successful call over MCP and over REST, and the two surfaces share one credit balance.
The price covers licensed records in the response, from HM Land Registry and Companies House. A call that fails is not charged.
Credits are granted on sign-up and bought in packs; the pricing page lists every call.
Sources
- HM Land Registry
Commercial and Corporate Ownership (CCOD) and Overseas Companies Ownership (OCOD)
HM Land Registry's dataset licence for CCOD and OCOD: free of charge, with conditions on onward use · England and Wales
- Companies House
Company register, officers and persons with significant control
Free to use under Companies House terms; Crown copyright · UK
Related
Tools used with ownership_by_company
- Proprietor profile5 credits
owner_profileWhat the Land Registry shows for one proprietor: titles held, company status, country of incorporation, directors and PSCs where known.Pairs with this - Registered proprietors of a title3 credits
ownership_by_titleRegistered proprietor(s) for an HMLR title number.Pairs with this - Search land or units by criteria8 credits
sourcing_searchFind land parcels or residential units matching investment criteria — the sourcing tool. Give a `location` (place or area name) or a `bbox`.Pairs with this - Owners of sourced parcels5 credits
sourcing_ownersResolve registered owners for parcels returned by `sourcing_search`.Pairs with this - Long-held, high-equity properties8 credits
long_held_high_equityLong-held properties in an area carrying a large paper gain — the classic off-market cohort, ordered by gain rather than by value.Same product - Distressed assets: repeatedly unsold lotsFree
distressed_assetsProperties that keep going to auction and NEVER SELL — the distress screen.Same product
Glossary
Terms used here
- Title number: HM Land Registry's identifier for a registered title: a prefix for the office and a number, such as TGL123456; the key ownership records are held against.
- Registered proprietor: The person or entity HM Land Registry records as owning a title; for companies, public bodies and overseas entities MarketCode reads it from the bulk ownership registers.
- CCOD and OCOD: HM Land Registry's two bulk datasets of titles owned by UK companies and public bodies (CCOD) and by overseas companies (OCOD), the source of MarketCode's ownership answers.
FAQ
Questions about ownership_by_company
How much does `ownership_by_company` cost?
+
ownership_by_company costs 3 credits per successful call over MCP and over REST, and the two surfaces share one credit balance. The price covers licensed records in the response, from HM Land Registry and Companies House. A call that fails is not charged.
Which assistants can run `ownership_by_company`?
+
Any MCP client: Claude (claude.ai, Claude Desktop, Claude Code), ChatGPT in developer mode, Codex and Cursor, each documented on the MCP page. You sign in with your MarketCode account over OAuth; there is no key to paste, and the connection is read-only.
Where does the data come from?
+
Read from HM Land Registry ownership registers and Companies House company register, officers and persons with significant control. Coverage is England and Wales.
Can I store or republish the results?
+
The response includes records we license from HM Land Registry and Companies House. Use them in your own analysis, reports and products; bulk redistribution of the raw records or building a competing dataset from them is not covered. Ask us if you need a redistribution licence.
Does `ownership_by_company` change anything?
+
No. The tool is annotated read-only on the server, so it never writes to your data or ours and an assistant can call it without a confirmation step.
How do I find the company number in the first place?
+
From the title (ownership_by_title), from the ownership tier of property_lookup, or by name through owner_profile, which returns candidate companies for a fuzzy name match and says the result is a candidate set rather than a portfolio.
Does it show what the company paid?
+
Where the register recorded a price on the title, yes. Many corporate transfers carry no price; the field is absent for those rather than estimated.
Can I search all companies holding property in an area?
+
Not directly here; this call starts from one company. sourcing_search with an owner-type filter returns parcels in an area with their registered owners attached where the bulk register knows them, which is the area-first route to the same information.
Try ownership_by_company in your assistant.
30-minute call. We'll connect your assistant live on a real address.