- Data
- REST API
- Market Intelligence
- Equity estimate
Equity estimate
POST /v1/equity/estimateCurrent estimated value against the last recorded sale: gain in pounds and percent, and how long it has been held.
Same call over MCP
Equity gain estimateequity_estimateAuthenticate 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/estimate returns
NOT a loan-to-value: the warehouse holds no mortgage balance, so never describe the result as equity net of debt. The gain is NOMINAL — a 1998 purchase showing +747% has not beaten inflation by that much, and saying so is part of reporting it honestly.
A null gain means no recorded sale, not a zero gain.
UK only.
Inputs
Before you call it
- uprns
- A UPRN is the Unique Property Reference Number every UK address carries. Narrow the address with address_autocomplete, which is free, then address_resolve returns the UPRN for 8 credits. property_summary and address_by_postcode return UPRNs too.
Request
Calling POST /v1/equity/estimate
curl -X POST "https://api.marketcode.ai/v1/equity/estimate" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"
-H "Content-Type: application/json" \
-d '{"uprns":["200003443835"]}'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 |
|---|---|---|---|---|
| uprns | Body | integer[] | Yes |
Response
What POST /v1/equity/estimate returns for a real request
curl -X POST "https://api.marketcode.ai/v1/equity/estimate" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"
-H "Content-Type: application/json" \
-d '{"uprns":["200003443835"]}'{
"properties": [
{
"uprn": 200003443835,
"estimated_value": 440830,
"estimated_value_low": 227909,
"estimated_value_high": 668415,
"confidence": "0.5002",
"estimated_at": "2026-09-06T03:56:22.421236",
"last_sale_price": null,
"last_sale_date": null,
"gain": null,
"gain_pct": null,
"years_held": null
}
],
"count": 1,
"basis": "gain is nominal against the last recorded sale price, not inflation-adjusted and not a loan-to-value — the warehouse holds no mortgage balance",
"credits_charged": 0
}A real response, captured from production and trimmed: arrays to three items, long strings shortened, volatile keys dropped.
Response
Response fields
| Field | Type | Example |
|---|---|---|
| properties | array | |
| properties[].uprn | integer | 200003443835 |
| properties[].estimated_value | integer | 440830 |
| properties[].estimated_value_low | integer | 227909 |
| properties[].estimated_value_high | integer | 668415 |
| properties[].confidence | string | 0.5002 |
| properties[].estimated_at | string | 2026-09-06T03:56:22.421236 |
| properties[].last_sale_price | null | |
| properties[].last_sale_date | null | |
| properties[].gain | null | |
| properties[].gain_pct | null | |
| properties[].years_held | null | |
| count | integer | 1 |
| basis | string | gain is nominal against the last recorded sale p |
| credits_charged | integer | 0 |
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 estimate is free over MCP and over REST, and the two surfaces share one credit balance. Free calls need a signed-in account or an API key and appear in your usage, but they never touch your balance.
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 estimate
- Estate agent activity in an areaFree
agent_activityWhich estate agents actually transact in an area, ranked by listing count.Same category - What changed since your cursor1 credit
changes_sinceWhat changed since you last looked — the portal change feed. Pass the `next_cursor` from your previous call to get only what is new; on a first call give a scope (`postcode_districts` or `uprns`) or a `since` date, because an unbounded read of a 14.6-million-row feed is refused.Same category - Listing history for a property3 credits
listing_historyEvery marketing snapshot for a property: asking price over time, price reductions, days listed, status changes, agent, image count and whether it had a floor plan.Same category - Supply-side listing statisticsFree
listing_market_seriesMonthly supply-side statistics from portal listings for one area, channel and bedroom band: listings added and reduced, reduction share (the market-temperature signal), asking price or rent median and quartiles, £/m² where a floor area is stated, new-build share, agent concentration (HHI, top-3 share), and — on rent rows — gross yield on two bases (cell rent over cell price; per-listing rent over the unit's AVM value), and on sale rows the asking-to-sold ratio and days to completion on listings the registry matched to a sale.Same category - Live listings stock, dailyFree
listing_stock_seriesLive listings on the market by day for one area, channel and bedroom band — the stock-on-market series, with the median age of the dated live stock, median asking price or rent, and the new-build count.Same category - 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 category
FAQ
Questions about Equity estimate
How much does `equity_estimate` cost?
+
Equity estimate is free over MCP and over REST, and the two surfaces share one credit balance. Free calls need a signed-in account or an API key and appear in your usage, but they never touch your balance.
Do I need to resolve the address first?
+
Yes. equity_estimate takes a UPRN, not an address. Start with address_autocomplete (free) to narrow the address, then address_resolve (8 credits) to get the UPRN. An assistant with the MarketCode skills installed does both steps on its own.
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 equity_estimate 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.
Does `equity_estimate` 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 estimate on a real address.
30-minute call. We'll provision a key and walk through the endpoint on your use case.