- Data
- REST API
- Property record
- Property council tax
Property council tax
GET /v1/property/council-tax/{uprn}The VOA council tax band for a property, read from the official list and never predicted; three fields are null on purpose because inventing them would be wrong. Free.
Same call over MCP
Council tax bandcouncil_tax_bandAuthenticate 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/property/council-tax/{uprn} returns
Every band this tool returns is declared: read from the Valuation Office Agency's list for that address, with band_source saying so. A predicted band would arrive as a distinct value rather than be folded in, because a caller cannot tell the two apart after the fact, and no prediction is made today. It is free.
Bands were set on 1 April 1991 values in England (2003 in Wales, which also has a band I) and have never been revalued, so a band is a statement about relative value thirty years ago, not about today's price. It is nonetheless the one attribute a buyer, a lender and a letting agent all ask for.
The full description, as the assistant reads it
Every band is DECLARED — read from the VOA list, never inferred by a model. band_source states which, and a predicted band would arrive as a distinct value rather than folded in, because a caller cannot tell the two apart after the fact.
DO NOT PRESENT A BAND AS A BILL. Three fields come back null on purpose and must not be filled in by estimating: * annual_cost_gbp — the per-band charge for each billing authority is a separate source we do not hold. * effective_date — the crawl records when the VOA refreshed the LIST, which is not when this property's band took effect. * composite — same reason; it lives on the per-property detail page.
status is not_found when the band exists in the VOA list but address matching has not linked this UPRN to it. That is a matching gap on OUR side, not evidence the property has no band — report it that way round.
England and Wales only: Scotland is the Scottish Assessors Association and Northern Ireland is Land & Property Services, neither of which is in this list.
Reference
When to use it, and when not to
Use it for the band of one property. The bill is not here: each billing authority sets its own charge per band, and annual_cost_gbp is null on purpose because that per-authority table is a separate source the platform does not hold. For the band alongside the other headline attributes, property_summary carries it; where the band disagrees with what the portals or the certificate imply about the property, property_reconcile surfaces the divergence.
Inputs
Before you call it
A UPRN. address_autocomplete (free) then address_resolve (8 credits).
- 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 GET /v1/property/council-tax/{uprn}
curl "https://api.marketcode.ai/v1/property/council-tax/200003443835" \
-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 |
|---|---|---|---|---|
| uprn | Path | string | Yes | Property UPRN |
Response
What GET /v1/property/council-tax/{uprn} returns for a real request
curl "https://api.marketcode.ai/v1/property/council-tax/200003443835" \
-H "Authorization: Bearer $MARKETCODE_API_KEY"{
"uprn": "200003443835",
"country": "UK",
"data": {
"data": {
"status": "not_found",
"uprn": "200003443835",
"band": null,
"band_source": null,
"annual_cost_gbp": null,
"billing_authority": null,
"composite": null,
"effective_date": null,
"source": "VOA",
"retrieved_at": "2026-09-06T20:53:45.411228",
"reason": "No VOA council tax record is matched to this UPRN. The band exists in the VOA list but address matching has not linked it, or the property is outside England a…"
}
},
"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.status | string | not_found |
| data.data.uprn | string | 200003443835 |
| data.data.band | null | |
| data.data.band_source | null | |
| data.data.annual_cost_gbp | null | |
| data.data.billing_authority | null | |
| data.data.composite | null | |
| data.data.effective_date | null | |
| data.data.source | string | VOA |
| data.data.retrieved_at | string | 2026-09-06T20:53:45.411228 |
| data.data.reason | string | No VOA council tax record is matched to this UPR |
| 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
- Do not present a band as a bill.
annual_cost_gbp,effective_dateandcompositeare null by design. The cost needs the billing authority's table; the effective date the crawl records is when the VOA refreshed the list, not when this property's band took effect; the composite flag lives on the per-property detail page. not_foundis a matching gap, not a missing band. It means the band exists in the VOA list but address matching has not linked this UPRN to it. Report it that way round.- England and Wales only. Scotland is the Scottish Assessors Association and Northern Ireland is Land & Property Services; neither is in this list.
Price and licence
What it costs, and where the data comes from
Property council tax 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
- Valuation Office Agency
Council tax valuation list
Crown copyright · England and Wales
Related
Endpoints used with Property council tax
- Property summary4 credits
property_summaryOne-call summary of a property: what it is, what building it belongs to,Pairs with this - Reconcile a property across sources3 credits
property_reconcileCross-source feature reconciliation for a UPRN — surfaces divergencePairs with this - Full property record5 credits
property_lookupFull property record for a UPRN, grouped into tiers: identity, property,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 - Commercial property report: RV, indexes, yield, owner2 credits
commercial_propertyThe commercial property report, by UPRN or by VOA UARN: the hereditament as the 2026 rating list describes it (rateable value, sector, description), the sector's rent index across the 2010/2017/2023/2026 lists and its capital index (national, plus the local authority where one exists), an income-basis value that capitalises the RV at the district's commercial auction net yield — with the yield's receipt, and `not_available` where the district published none — the auction history at the address, the district's commercial auction market by quarter, the registered owner and the lease. Blocks that cannot be derived today say `not_available` with the reason (the RV history per hereditament; the VOA measured area). RV is a rating measure at the antecedent valuation date, not passing rent — say so when you quote the income-basis figure. UK only.Same category - Energy rating, MEES and the retrofit gap1 credit
property_energy_retrofitThe energy picture for one property: current rating against the certificate's own potential, the points and letter bands available, the fabric and heating the assessor recorded, and MEES.Same category
FAQ
Questions about Property council tax
How much does `council_tax_band` cost?
+
Property council tax 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. council_tax_band 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 council_tax_band 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 Valuation Office Agency council tax list. Coverage is England and Wales (VOA list).
Does `council_tax_band` 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.
Why is the annual cost null?
+
Because the charge per band is set by each of more than three hundred billing authorities and changes every April. That table is a separate source the platform does not hold, and a figure invented from a national average would look exactly like a real bill.
Can the band be wrong?
+
The band is what the VOA list says; a challenge to it is made to the VOA. What can be wrong on our side is the match from UPRN to list entry, which is why not_found is reported as our gap rather than as the property having no band.
Is the band a proxy for value?
+
Only loosely, and only within one authority. Bands are 1991 relative values in wide brackets; a 1991 band D covers a range that has since diverged sharply by area. Use the valuation tools for value and the band for what it is.
Try Property council tax on a real address.
30-minute call. We'll provision a key and walk through the endpoint on your use case.