Valuation full
POST /v1/valuation/fullThe estimate, its range, a monthly back-series, a rental estimate where the district supports one and a trust score grading the evidence behind the number, for any property with a floor area on record.
Same call over MCP
Full valuation with back-seriesvaluation_fullAuthenticate 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/valuation/full returns
This is the valuation a lender or an underwriter wants: not a number, but a number with its case. The response carries the point estimate and its range; a monthly back-series, which is the value scaled by the local price-per-square-metre index so it terminates at the headline figure by construction; a rental estimate where the district benchmark supports one; and a trust_score that grades the evidence behind the figure from three things: the size of the index sample behind the area, where the floor area came from (a certificate, a measured geometry or a fill) and the model's own confidence.
It is free. valuation_estimate returns the point and range alone and is the one to call when you only need the number; this one does materially more work.
Reference
When to use it, and when not to
Use it when the value will be relied on or challenged: a triage, a portfolio revaluation, a pricing case for a vendor, a report to a client. Read the trust score before the value. Two properties with the same estimate can deserve different weights, and the score is how the response says so. Pair it with property_comps for the same-building and same-street sales behind the figure, and with market_index_series for the district's trend; the back-series uses the same index, so the two agree.
Inputs
Before you call it
A UPRN with a floor area on record. The model needs the area; where a property has no energy certificate and no measured building geometry there is no valuation, and the tool returns 404 rather than a guess. Resolve the address first with address_autocomplete and address_resolve.
- 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.
Request
Calling POST /v1/valuation/full
curl -X POST "https://api.marketcode.ai/v1/valuation/full" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"
-H "Content-Type: application/json" \
-d '{"uprn":"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 |
|---|---|---|---|---|
| uprn | Body | integer | Yes | Property UPRN |
Response
What POST /v1/valuation/full returns for a real request
curl -X POST "https://api.marketcode.ai/v1/valuation/full" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"
-H "Content-Type: application/json" \
-d '{"uprn":"200003443835"}'{
"uprn": "200003443835",
"country": "UK",
"data": {
"data": {
"uprn": 200003443835,
"sale": {
"value": 440830,
"range_min": 227909,
"range_max": 668415,
"confidence": 0.5002,
"average_proximal": 512484,
"proximal": {
"median": 512484,
"p25": 509775,
"p75": 515194,
"n_sales": 2,
"n_units": 1,
"min_year": 2017,
"max_year": 2023,
"carried_to": "2025-12",
"basis": "building_sales_since_2015:ppd_a:carried_by:repeat_sales_smoothed:district:SE22"
},
"estimated_listing_price": null,
"last_transaction_price": null,
"last_transaction_date": null,
"years_owned": null,
"sale_propensity": null,
"back_series_stats": {
"n": 120,
"mean": 396495,
"median": 395052,
"min": 357984,
"max": 448627,
"cv": 0.061,
"final": 440830,
"final_vs_current_pct": 0
},
"trust_score": "medium",
"trust_reasons": [
"floor area is building_clone, not directly observed",
"model confidence 0.50"
]
},
"rental_pcm": null,
"time_series": [
{
"period": "2016-01",
"value": 357984
},
{
"period": "2016-02",
"value": 359692
},
{
"period": "2016-03",
"value": 364243
},
"… 117 more"
],
"series_basis": "repeat_sales_smoothed:district:SE22",
"model_version": "gbm-h3-v3.2",
"estimated_at": "2026-09-06T03:56:22.421236",
"valuation_basis": "market_value",
"floor_area_m2": 65,
"floor_area_source": "building_clone",
"floor_area_confidence": 0.77,
"source": "robosapien",
"execution_time_ms": 434.5736503601074
}
},
"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 |
|---|---|---|
| uprn | string | 200003443835 |
| country | string | UK |
| data | object | |
| data.data | object | |
| data.data.uprn | integer | 200003443835 |
| data.data.sale | object | |
| data.data.sale.value | integer | 440830 |
| data.data.sale.range_min | integer | 227909 |
| data.data.sale.range_max | integer | 668415 |
| data.data.sale.confidence | number | 0.5002 |
| data.data.sale.average_proximal | integer | 512484 |
| data.data.sale.proximal | object | |
| data.data.sale.proximal.median | integer | 512484 |
| data.data.sale.proximal.p25 | integer | 509775 |
| data.data.sale.proximal.p75 | integer | 515194 |
| data.data.sale.proximal.n_sales | integer | 2 |
| data.data.sale.proximal.n_units | integer | 1 |
| data.data.sale.proximal.min_year | integer | 2017 |
| data.data.sale.proximal.max_year | integer | 2023 |
| data.data.sale.proximal.carried_to | string | 2025-12 |
| data.data.sale.proximal.basis | string | building_sales_since_2015:ppd_a:carried_by:repea |
| data.data.sale.estimated_listing_price | null | |
| data.data.sale.last_transaction_price | null | |
| data.data.sale.last_transaction_date | null | |
| data.data.sale.years_owned | null | |
| data.data.sale.sale_propensity | null | |
| data.data.sale.back_series_stats | object | |
| data.data.sale.back_series_stats.n | integer | 120 |
| data.data.sale.back_series_stats.mean | integer | 396495 |
| data.data.sale.back_series_stats.median | integer | 395052 |
| data.data.sale.back_series_stats.min | integer | 357984 |
| data.data.sale.back_series_stats.max | integer | 448627 |
| data.data.sale.back_series_stats.cv | number | 0.061 |
| data.data.sale.back_series_stats.final | integer | 440830 |
| data.data.sale.back_series_stats.final_vs_current_pct | integer | 0 |
| data.data.sale.trust_score | string | medium |
| data.data.sale.trust_reasons | array | |
| data.data.rental_pcm | null | |
| data.data.time_series | array | |
| data.data.time_series[].period | string | 2016-01 |
| data.data.time_series[].value | integer | 357984 |
| data.data.series_basis | string | repeat_sales_smoothed:district:SE22 |
| data.data.model_version | string | gbm-h3-v3.2 |
| data.data.estimated_at | string | 2026-09-06T03:56:22.421236 |
| data.data.valuation_basis | string | market_value |
| data.data.floor_area_m2 | integer | 65 |
| data.data.floor_area_source | string | building_clone |
| data.data.floor_area_confidence | number | 0.77 |
| data.data.source | string | robosapien |
| data.data.execution_time_ms | number | 434.5736503601074 |
| credits_charged | integer | 0 |
Fields observed in the example response above; a field the example did not exercise is not listed.
Reference
Things that catch people out
- It is an automated estimate, not a RICS Red Book valuation. It has not inspected the property, does not know its condition and cannot read a lease. Use it to screen, to challenge and to size; a regulated purpose still needs a surveyor, and the trust score tells you which files to send first.
- The back-series is the value carried through time, not a history of estimates. It answers "what would this have been worth in 2019 on today's evidence"; it does not know what the model said in 2019.
- The rental estimate is conditional. It appears where the district benchmark supports one and is absent otherwise. Absence is a real answer.
- A 404 means no floor area, not no property. Coverage of floor area is the main lever on coverage of value; certificates arrive when a property is sold or let, and measured geometry fills many of the rest.
Price and licence
What it costs, and where the data comes from
Valuation full 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
- Ministry of Housing, Communities and Local Government
Energy Performance Certificates (domestic and non-domestic)
MHCLG's EPC open data terms · England and Wales
How the model or index is built, and where it is weak, is on the methodology page.
Related
Endpoints used with Valuation full
- Automated valuation estimateFree
valuation_estimateAutomated value estimate for a property: a point value plus a range.Pairs with this - Comparable properties6 credits
property_compsComparable properties in the same building or block, with missingPairs 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 - EPC certificates for a propertyFree
epc_certificatesEvery Energy Performance Certificate lodged against a property, newest first, with current and potential efficiency, CO2, heating fuel and system, floor area and construction age.Pairs 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
Glossary
Terms used here
- Price per square metre (£/m²): Sale or asking price divided by internal floor area; the one number that makes properties of different sizes comparable, and what the valuation back-series is scaled by.
- Automated valuation model (AVM): A statistical model that estimates a property's current value from comparable evidence without an inspection; MarketCode's is trained on registered sales joined to floor area and building form.
- Valuation range: The interval around a valuation estimate that expresses the model's own uncertainty for that property; it widens where evidence is thin.
- Trust score: A score on a full valuation that grades the evidence behind the number: the index sample behind the area, where the floor area came from and the model's own confidence.
- Floor area: The internal area of a property in square metres, taken from its energy certificate or measured from building geometry; the input the valuation model cannot do without.
- Model Context Protocol (MCP): An open protocol that lets an AI assistant discover and call tools on a remote server; MarketCode exposes every data operation as an MCP tool that Claude, ChatGPT, Codex and Cursor can call.
FAQ
Questions about Valuation full
How much does `valuation_full` cost?
+
Valuation full 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. valuation_full 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 valuation_full 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 and Ministry of Housing, Communities and Local Government EPC register. Coverage is England and Wales. The methodology page describes how the model or index is built.
Does `valuation_full` 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 trust score?
+
A grade on the evidence behind the number: the index sample behind the area, the provenance of the floor area and the model's confidence for this property. A low score does not mean the value is wrong; it means it rests on little, and a decision leaning on it should look for more evidence first.
How accurate is the model?
+
It is measured against the properties' own registered sales, adjusted to today by the index, as a median absolute percentage error across the stock with a floor area. The figure moves with each release and is published in the changelog when a release ships; the methodology page explains the model.
Why is it free when the address lookup costs credits?
+
The address lookup returns a licensed AddressBase record; the valuation is MarketCode's own model over public sales and certificate data. Where nothing licensed is in the response, the call is free.
Try Valuation full on a real address.
30-minute call. We'll provision a key and walk through the endpoint on your use case.