- Data
- REST API
- Market Intelligence
- Equity long held
Equity long held
POST /v1/equity/long-heldLong-held properties in an area carrying a large paper gain — the classic off-market cohort, ordered by gain rather than by value.
Same call over MCP
Long-held, high-equity propertieslong_held_high_equityAuthenticate with an API key from the API & MCP Hub. The same call is available as an MCP tool at the same price.
Reference
What POST /v1/equity/long-held returns
Typical output for a London district: mid-1990s purchases at £23,000-37,000 now valued at £566,000-758,000.
area_id is the marts area id from area_resolve.
UK only.
Inputs
Before you call it
- area_id
- The area id is the analytics area identifier, not a name or a GSS code. Call area_resolve with a place name or code ("Hackney", "E5") first; it is free and returns the id with the area's hierarchy. Where it gives both
area_idandanalytics_area_id, passanalytics_area_id.
Request
Calling POST /v1/equity/long-held
curl -X POST "https://api.marketcode.ai/v1/equity/long-held" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"
-H "Content-Type: application/json" \
-d '{"area_id":"c0694b59-04d1-48ab-9a4c-c4f9d7b74f60","limit":3}'Send your API key as a Bearer token. Every response carries credits_charged and credits_remaining.
Inputs
Parameters
This endpoint takes no path or query parameters.
Request body
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| area_id | Body | string | Yes | Marts area id from /areas/resolve |
| min_years | Body | integer | No | Default: 10 |
| min_gain_pct | Body | number | No | Default: 50 |
| limit | Body | integer | No | Default: 100 |
Response
What POST /v1/equity/long-held returns for a real request
curl -X POST "https://api.marketcode.ai/v1/equity/long-held" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"
-H "Content-Type: application/json" \
-d '{"area_id":"c0694b59-04d1-48ab-9a4c-c4f9d7b74f60","limit":3}'{
"area_id": "<string>",
"min_years": 0,
"min_gain_pct": 0,
"properties": [
{
"uprn": 0,
"last_sale_date": "<string>",
"last_sale_price": 0,
"estimated_value": 0,
"confidence": "<string>",
"years_held": "<string>",
"gain_pct": "<string>"
}
],
"count": 0,
"basis": "<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 |
|---|---|
| area_id | string |
| min_years | integer |
| min_gain_pct | integer |
| properties | array |
| properties[].uprn | integer |
| properties[].last_sale_date | string |
| properties[].last_sale_price | integer |
| properties[].estimated_value | integer |
| properties[].confidence | string |
| properties[].years_held | string |
| properties[].gain_pct | string |
| count | integer |
| basis | 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
Equity long held costs 8 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. A call that fails is not charged.
Credits are granted on sign-up and bought in packs; the pricing page lists every call.
Computed by MarketCode from
- HM Land Registry
Price Paid Data
Open Government Licence v3 · England and Wales
How the model or index is built, and where it is weak, is on the methodology page.
Related
Endpoints used with Equity long held
- Resolve an area nameFree
area_resolveResolve an area name or code ("Hackney", "E5") to its area_id, centroidNamed in the description - 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 - Proprietor profile5 credits
owner_profileWhat the Land Registry shows for one proprietor: titles held, company status, country of incorporation, directors and PSCs where known.Same product - Distressed assets: repeatedly unsold lotsFree
distressed_assetsProperties that keep going to auction and NEVER SELL — the distress screen.Same product
FAQ
Questions about Equity long held
How much does `long_held_high_equity` cost?
+
Equity long held costs 8 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. A call that fails is not charged.
Where do I get the area id?
+
From area_resolve, which is free: give it a place name or postcode district and it returns the area id, centroid and hierarchy. long_held_high_equity then takes that id.
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 long_held_high_equity 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?
+
Computed by MarketCode from HM Land Registry price paid data. Coverage is the UK. The methodology page describes how the model or index is built.
Can I store or republish the results?
+
The response includes records we license from HM Land Registry. 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 `long_held_high_equity` 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 Equity long held on a real address.
30-minute call. We'll provision a key and walk through the endpoint on your use case.