Owner profile
GET /v1/ownership/proprietorWhat the Land Registry shows for one proprietor: titles held, company status, country of incorporation, directors and PSCs where known.
Same call over MCP
Proprietor profileowner_profileAuthenticate with an API key from the API & MCP Hub. The same call is available as an MCP tool at the same price.
Reference
What GET /v1/ownership/proprietor returns
Give a company number for an EXACT match. A name is a fuzzy substring search — company names repeat across unrelated entities, so a name-matched result is a candidate set, NOT a portfolio, and the response says which kind you got. Report it that way.
n_distinct_titles is the holding count; n_rows is higher because one title appears on several ownership rows over time.
UK only.
Inputs
Before you call it
- 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.
Request
Calling GET /v1/ownership/proprietor
curl "https://api.marketcode.ai/v1/ownership/proprietor?company_number=00125575&limit=3" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"Send your API key as a Bearer token. Every response carries credits_charged and credits_remaining.
Inputs
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| company_number | Query | string | No | |
| name | Query | string | No | |
| limit | Query | integer | No | Default: 200 |
Response
What GET /v1/ownership/proprietor returns for a real request
curl "https://api.marketcode.ai/v1/ownership/proprietor?company_number=00125575&limit=3" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"{
"matched_on": "<string>",
"company_number": "<string>",
"name": null,
"holdings": [
{
"owner_text": "<string>",
"owner_type": "<string>",
"owner_class": null,
"company_number": "<string>",
"country_of_incorporation": null,
"title_number": "<string>",
"valid_from": "<string>",
"valid_to": null,
"property_uprn": null,
"director_names": null,
"psc_names": null,
"match_confidence": null
}
],
"n_rows": 0,
"n_distinct_titles": 0,
"caveat": "<string>",
"credits_charged": 0
}Shape only. This call returns licensed records, so the keys are real and every value is a placeholder of its type.
Response
Response fields
| Field | Type |
|---|---|
| matched_on | string |
| company_number | string |
| name | null |
| holdings | array |
| holdings[].owner_text | string |
| holdings[].owner_type | string |
| holdings[].owner_class | null |
| holdings[].company_number | string |
| holdings[].country_of_incorporation | null |
| holdings[].title_number | string |
| holdings[].valid_from | string |
| holdings[].valid_to | null |
| holdings[].property_uprn | null |
| holdings[].director_names | null |
| holdings[].psc_names | null |
| holdings[].match_confidence | null |
| n_rows | integer |
| n_distinct_titles | integer |
| caveat | string |
| credits_charged | integer |
Fields observed in the example response above; a field the example did not exercise is not listed.
Price and licence
What it costs, and where the data comes from
Owner profile costs 5 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
Endpoints used with Owner profile
- 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`.Same product - Owners of sourced parcels5 credits
sourcing_ownersResolve registered owners for parcels returned by `sourcing_search`.Same product - Titles held by a company3 credits
ownership_by_companyTitles held by a company, by Companies House number. Useful for mapping aSame product - 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 - Site appraisal dossier5 credits
site_appraisalEverything known about ONE site, assembled and judged — the site dossier.Same product
Glossary
Terms used here
- 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.
- Person with significant control (PSC): The individual or entity Companies House records as owning or controlling more than 25% of a company; how a corporate proprietor is traced to a person.
FAQ
Questions about Owner profile
How much does `owner_profile` cost?
+
Owner profile costs 5 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.
How do I authenticate?
+
Send your API key as a Bearer token in the Authorization header. Keys are created in the API & MCP Hub, shown once and revocable. Every response carries the credits charged and your remaining balance.
Is there an MCP version?
+
Yes. The owner_profile tool on the MarketCode MCP server is the same call at the same price, signed in with OAuth rather than a key, so Claude, ChatGPT, Codex and Cursor can run it in a conversation.
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 the UK.
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 `owner_profile` 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.
Try Owner profile on a real address.
30-minute call. We'll provision a key and walk through the endpoint on your use case.