- Data
- MCP server
- Transactions
- Registered sales for a property
Registered sales for a property
transactions_by_uprnEvery HM Land Registry Price Paid record joined to a UPRN, newest first, as the registry holds them. Free.
Same call over REST
Transactions by uprn/v1/transactions/uprn/{uprn}Not connected yet? Connect your assistant. Sign in with your MarketCode account; no API key needed.
Reference
What transactions_by_uprn answers
The raw sold-price record for one property: each registered sale with its price, completion date, tenure, property type, whether it was new, and the category that says whether it was a standard market sale. This is the registry's row, joined to the UPRN and returned without interpretation. It is free, because the source is open data under the Open Government Licence.
property_history reads the same sales and adds per-sale detail and drill-downs; call that when you want the story and this when you want the rows.
Reference
When to use it, and when not to
Use it for what the property actually sold for and when: the anchor for a valuation, the evidence for a nominal gain, the answer to "how long has the owner held it". Carry an old price to today with market_index_series: price(t2) = price(t1) × value(t2) / value(t1). For comparables use property_comps, which draws from the same building and street; for the gain and years held in one number use equity_estimate.
Inputs
Before you call it
A UPRN. address_autocomplete (free) narrows the address; address_resolve (8 credits) returns the UPRN.
- uprn
- 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.
Inputs
Arguments transactions_by_uprn takes
| Name | Type | Required | Description |
|---|---|---|---|
| uprn | string | Yes |
Reference
Things that catch people out
- Category B sales are not market prices. The registry marks transfers under a power of sale, right-to-buy sales and sales at less than market value as category B. They are returned; a comparable analysis should use category A.
- No sales is a real answer. A property last sold before 1995, never sold, or held by a company since it was built has no Price Paid row. It is not an error.
- Registration lags completion. A sale that completed last month may not be registered yet. The trailing months of any sold-price series are incomplete for the same reason.
- Matched at the address the registry gave. A sale whose address could not be placed on a UPRN with confidence is kept in the area statistics but not attached here; a flat in a subdivided house is the usual case.
Usage
How to run transactions_by_uprn in your assistant
Ask your assistant in plain English, for example:
"Use the MarketCode tool transactions_by_uprn for <address or area>.
Show the result and the credits charged."The connect steps for Claude, ChatGPT, Codex, Cursor and Claude Code are on the MCP page.
Skills
Skills that use transactions_by_uprn
- 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.
- Valuation report: An indicative valuation for one address: the range, the comparables and adjustments, the index position, the EPC, flood and planning context, and the reasoning, with every figure cited to the tool it came from.
- Due diligence report: A property due diligence report: title and ownership, history, EPC and council tax, flood and designations, nearby activity, cross-source disagreements and the cross-reference findings that join them, with a traffic light.
- Planning check: Every designation and constraint at an address, recent applications nearby and the flood position, laid out the way a planner reads them.
Price and licence
What it costs, and where the data comes from
transactions_by_uprn 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.
Sources
- HM Land Registry
Price Paid Data
Open Government Licence v3 · England and Wales
Related
Tools used with transactions_by_uprn
- Sold-price historyFree
property_historySold-price history for a property, with per-sale detail.Pairs with this - House price index seriesFree
market_index_seriesThe published house-price INDEX for one postcode district or local authority: the level per month (base period = 100), the forecast tail flagged, and provenance saying how the index was built.Pairs with this - Comparable properties6 credits
property_compsComparable properties in the same building or block, with missingPairs with this - Equity gain estimateFree
equity_estimateCurrent estimated value against the last recorded sale: gain in pounds and percent, and how long it has been held.Pairs with this - Resolve an address to a UPRN8 credits
address_resolveResolve free-text address to canonical record (UPRN for UK).Same product - Property summary4 credits
property_summaryOne-call summary of a property: what it is, what building it belongs to,Same product
Glossary
Terms used here
- Price Paid Data: HM Land Registry's record of every registered residential sale in England and Wales since 1995: price, date, address, type, tenure and whether it was a standard market sale.
- Tenure (freehold and leasehold): How a property is held: freehold outright, or leasehold for a fixed term under a lease from the freeholder; recorded on every registered sale and every title.
FAQ
Questions about transactions_by_uprn
How much does `transactions_by_uprn` cost?
+
transactions_by_uprn 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. transactions_by_uprn 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.
Which assistants can run `transactions_by_uprn`?
+
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 price paid data. Coverage is England and Wales.
Does `transactions_by_uprn` 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.
What is the difference between this and property_history?
+
Same sales. This returns the registry rows as they are; property_history wraps them with per-sale detail and optional drill-downs. If you only need the raw rows, this is the lighter call.
Why is there no sale for a property I know sold recently?
+
Either it has not been registered yet (registration lags completion by weeks to months) or the registry's address could not be matched to the UPRN with confidence. The area's volume series will still count it once registered.
Can I get every sale in a street or a postcode?
+
Per property, yes: address_by_postcode (10 credits) lists every UPRN at a postcode and this call is free for each. For counts and medians by area use market_volume_series, which reads the registry directly.
Try transactions_by_uprn in your assistant.
30-minute call. We'll connect your assistant live on a real address.