Business rates data for England and Wales: rateable values, comparables, verdicts, tribunal cases
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Counts, totals and medians for the business properties in an area, grouped by street, sector, property_type, postcode_sector, postcode, verdict or council: number of properties, total and median rateable value, median £ per m² (with n_per_m2, how many properties it is based on: per-unit and trade-valued properties are left out), verdict counts (the website's five verdicts), flagged count and share (strong_case + worth_checking, as on the overpayment map) and total indicative annual saving. Area is required. Optional filters: sector, property type, rateable value range. Up to 50 groups, sortable. Costs 2 credits.
One of: properties_desc, total_rv_desc, total_saving_desc, flagged_desc, flagged_share_desc, median_rv_per_m2_desc. Default properties_desc. flagged_desc / flagged_share_desc rank by strong_case + worth_checking.
Groups to return, 1 to 50 (default 20).
Maximum rateable value in pounds.
Minimum rateable value in pounds.
One of: car_parking_and_storage, healthcare, industrial_and_warehousing, leisure_and_hospitality, offices, other_specialist, retail.
Council (billing authority) code, e.g. '5390'. Alternative to council.
Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council.
Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks.
Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.
One of: street, sector, property_type, postcode_sector, postcode, verdict, council. How to group (default street).
A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6').
Words from the Valuation Office description, e.g. 'shop'.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp https://www.businessratechecker.com/mcp
Counts, totals and medians for the business properties in an area, grouped by street, sector, property_type, postcode_sector, postcode, verdict or council: number of properties, total and median rateable value, median £ per m² (with n_per_m2, how many properties it is based on: per-unit and trade-valued properties are left out), verdict counts (the website's five verdicts), flagged count and share (strong_case + worth_checking, as on the overpayment map) and total indicative annual saving. Area is required. Optional filters: sector, property type, rateable value range. Up to 50 groups, sortable. Costs 2 credits.
| Argument | Type | Description |
|---|---|---|
| sort | string | One of: properties_desc, total_rv_desc, total_saving_desc, flagged_desc, flagged_share_desc, median_rv_per_m2_desc. Default properties_desc. flagged_desc / flagged_share_desc rank by strong_case + worth_checking. |
| limit | integer | Groups to return, 1 to 50 (default 20). |
| rv_max | number | Maximum rateable value in pounds. |
| rv_min | number | Minimum rateable value in pounds. |
| sector | string | One of: car_parking_and_storage, healthcare, industrial_and_warehousing, leisure_and_hospitality, offices, other_specialist, retail. |
| ba_code | string | Council (billing authority) code, e.g. '5390'. Alternative to council. |
| council | string | Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
| group_by | string | One of: street, sector, property_type, postcode_sector, postcode, verdict, council. How to group (default street). |
| postcode | string | A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6'). |
| property_type | string | Words from the Valuation Office description, e.g. 'shop'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sort": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: properties_desc, total_rv_desc, total_saving_desc, flagged_desc, flagged_share_desc, median_rv_per_m2_desc. Default properties_desc. flagged_desc / flagged_share_desc rank by strong_case + worth_checking."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Groups to return, 1 to 50 (default 20)."
},
"rv_max": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Maximum rateable value in pounds."
},
"rv_min": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Minimum rateable value in pounds."
},
"sector": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: car_parking_and_storage, healthcare, industrial_and_warehousing, leisure_and_hospitality, offices, other_specialist, retail. "
},
"ba_code": {
"type": "string",
"pattern": "^[0-9A-Za-z]{4}$",
"description": "Council (billing authority) code, e.g. '5390'. Alternative to council."
},
"council": {
"type": "string",
"maxLength": 60,
"minLength": 3,
"description": "Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"group_by": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: street, sector, property_type, postcode_sector, postcode, verdict, council. How to group (default street)."
},
"postcode": {
"type": "string",
"maxLength": 9,
"minLength": 2,
"description": "A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6')."
},
"property_type": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Words from the Valuation Office description, e.g. 'shop'."
}
}
}Free, no sign-in. Plain-English reference for 2026/27 with official sources, for England (default) or Wales (country: wales): how a bill is worked out, the multipliers, small business rate relief, retail/hospitality/leisure (England) or food and drink hospitality relief (Wales), pubs, charitable, rural and empty property relief, transitional relief, allowances, how a Check, Challenge and Appeal work, the deadlines, and who to contact. The two countries have different topic lists: omit topic to list them for the chosen country. Also BusinessRateChecker's published news and analysis (topic news, then news:<slug>), Learn articles (learn, learn:<slug>), glossary (glossary, glossary:<term>) and FAQ (faq), the same text as the website.
| Argument | Type | Description |
|---|---|---|
| topic | string | One of: overview, multipliers, small_business_rate_relief, retail_hospitality_leisure, pubs_and_live_music, charitable_relief, rural_relief, empty_property, transitional_relief, check_challenge_appeal, allowances, deadlines, contacts, wales, food_and_drink_hospitality, all, news, learn, glossary, faq. A topic id, or 'all'; news, learn and glossary list their items, then ask for one as news:<slug>, learn:<slug> or glossary:<term>. Omit to list the topics for the chosen country. |
| country | string | england (default) or wales. Use wales for a property whose country is W. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options |
Search the 2026 rating list for England and Wales. Give a full postcode (e.g. 'WR3 8TJ') or an outward code (e.g. 'WR3'), optionally narrowed by words from the address or the description (e.g. 'unit 96a', 'cafe'), or a council's ba_code. Returns up to 20 properties with property_id, address, description, rateable value and business name where known. One building can hold many separate entries (floors, suites): ask which one if that matters. Use the property_id with the other tools. Costs 1 credit.
| Argument | Type | Description |
|---|---|---|
| uarn | string | A UARN, instead of postcode or ba_code: returns every current entry it covers, England and Wales. |
| limit | integer | Number of results, 1 to 20 (default 20). |
| query | string | Words from the address or the VO description to narrow the results, e.g. 'unit 2' or 'cafe'. |
| ba_code | string | Council (billing authority) code, e.g. '1835' for Worcester. Use instead of postcode. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
Which surveying firms represent ratepayers in business rates appeals. Returns the 12-month league of firms at the Valuation Tribunals for England and Wales (cases, attended, won, win rate, typical reduction, councils, latest decision, website), or the firms matching a name. With an area (postcode or council) it also returns the firms that represented ratepayers at the tribunal there in the same 12 months, and rating firms from our directory with an office within 50 km (firm, size, nearest office, distance, website). Firms only; no individual is named. BusinessRateChecker does not recommend or endorse any firm. Costs 1 credit.
| Argument | Type | Description |
|---|---|---|
| firm | string | A firm's name or part of it, e.g. 'Knight Frank'. |
| limit | integer | Rows for the area lists and firm matches, 1 to 25 (default 10). |
| ba_code | string | Council (billing authority) code, e.g. '5390'. Alternative to council. |
| council | string | Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object |
How much of the user's monthly credit allowance is left: allowance, used, % used, remaining, the date it resets, and any prepaid credits with their expiry dates (used after the monthly allowance, oldest first). Shared across everyone on the same company plan. Also lists what the Free, Professional and Professional Plus plans each include (your_plan marks theirs). Use only when the user asks how much they have left, when they will reset, or what their plan or another plan includes. Free.
| Argument | Type | Description |
|---|---|---|
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
}
}How the rateable values the Valuation Office AMENDED in one month moved, for one council (billing authority) by name or code, or a short list of every council (name, code, number amended, % change) if neither is given. Covers only the properties amended that month, not the whole council, and one month is never a trend: call it for several months to see a direction. Always read pct_change with n_amended, top1_share_pct and median_mover_pct; pct_change is null when not publishable, and rankable=false means do not rank the place against others. For £ per m², property counts or overpaid shares across a council, use area_breakdown instead. Costs 1 credit.
| Argument | Type | Description |
|---|---|---|
| month | string | Month as YYYY-MM. Omit for the latest complete month. |
| ba_code | string | Council code, e.g. '1835'. Alternative to council. |
| council | string | Council name or part of it, e.g. 'Birmingham'. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
The comparable properties behind the verdict, with their rate per square metre, distance and allowances, a plain account of how they were found (search.method, nearest_km, furthest_km, same_scheme_count), and a scheme_check: how the VO's own valuation scheme values similar-sized properties and whether the subject sits below, within or above that range. Costs 3 credits.
| Argument | Type | Description |
|---|---|---|
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
| property_id* | string | The property_id from find_properties (the Valuation Office assessment reference), or a UARN, 4 to 15 digits. A UARN that covers several entries returns them all. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"property_id"
],
"properties": {
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"property_id": {
"type": "string",
"pattern": "^[0-9]{4,15}$",
"description": "The property_id from find_properties (the Valuation Office assessment reference), or a UARN, 4 to 15 digits. A UARN that covers several entries returns them all."
}
}
}Free, no sign-in. The figures on BusinessRateChecker's overpayment map for England and Wales (2026 rating lists): properties analysed, properties flagged by our checks as paying too much, % flagged, '1 in N', median annual claim per flagged property, and the national indicative saving a year. With no area: England and Wales, England and Wales separately, and the 10 councils with the highest and lowest % flagged (country narrows these to England or Wales). With council or ba_code: up to 10 matching councils, each with its rank out of 318 (and within its country). Properties at or below the small business rate relief level (rateable value 12,000 GBP England, 6,000 GBP Wales) count one third. Same figures as https://businessratechecker.com/intelligence/map and its CSV. Each council and national block also carries win_rates: the Valuation Office's own statistics on how many resolved Checks and Challenges cut the rateable value, per rating list (2017 England only, 2023, 2026).
| Argument | Type | Description |
|---|---|---|
| ba_code | string | VO billing-authority code (e.g. '4720') or ONS code (e.g. 'E08000035'). |
| council | string | Council name or part of it, e.g. 'Leeds' or 'Cardiff'. |
| country | string | england or wales. Rank councils within England or Wales only. Omit for both. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
BusinessRateChecker's verdict on whether a property's rateable value looks high against comparable properties, exactly as on the website report: strong_case, worth_checking, no_obvious_issues, not_enough_evidence or needs_turnover (with the website's wording in label, and flagged as on the overpayment map), with a suggested rateable value and indicative annual saving where there is one (and, where transitional relief probably caps this year's bill, the saving after it), the confidence, the hedge text that must be relayed with any figure, and a scheme_check showing how the VO's own valuation scheme values similar-sized properties (a saving on a property that sits within its scheme's range is a weak case on rate alone). Pass sole_property=false for a ratepayer with other business properties (Small Business Rate Relief then does not apply) or true if this is their only one. Also carries everything the full report sets out: grounds (every finding with its evidence), checks (rateable value, floor area, allowances, reliefs), route (Check, Challenge, Tribunal) and next_steps. Same engine as the website report. Costs 5 credits (one verdict per property per day).
| Argument | Type | Description |
|---|---|---|
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
| property_id* | string | The property_id from find_properties (the Valuation Office assessment reference), or a UARN, 4 to 15 digits. A UARN that covers several entries returns them all. |
The full rating-list entry for one property: address, description, rateable value, how it is valued (valuation_basis: floor area, Zone A, per unit, or trade for hotels and pubs), floor area and valuation lines, estimated 2026/27 bill before reliefs, Small Business Rate Relief status, and whether the Valuation Office has changed it (currency, with case_status). Costs 1 credit.
| Argument | Type | Description |
|---|---|---|
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
| property_id* | string | The property_id from find_properties (the Valuation Office assessment reference), or a UARN, 4 to 15 digits. A UARN that covers several entries returns them all. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"property_id"
],
"properties": {
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"property_id": {
"type": "string",
"pattern": "^[0-9]{4,15}$",
"description": "The property_id from find_properties (the Valuation Office assessment reference), or a UARN, 4 to 15 digits. A UARN that covers several entries returns them all."
}
}
}How a property's rateable value has changed: its value on the 2023 list (England and Wales) and the 2017 list (England), where held, and Valuation Office alterations on the 2026 list, including Check and Challenge outcomes. Costs 2 credits.
| Argument | Type | Description |
|---|---|---|
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
| property_id* | string | The property_id from find_properties (the Valuation Office assessment reference), or a UARN, 4 to 15 digits. A UARN that covers several entries returns them all. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"property_id"
],
"properties": {
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"property_id": {
"type": "string",
"pattern": "^[0-9]{4,15}$",
"description": "The property_id from find_properties (the Valuation Office assessment reference), or a UARN, 4 to 15 digits. A UARN that covers several entries returns them all."
}
}
}How the rateable values the Valuation Office AMENDED in one month moved across England (and Wales, from the October 2026 month), for one broad sector (industry, offices, retail or other, the VO's own grouping). Covers only the properties amended that month. Read pct_change with n_amended and median_mover_pct. For £ per m² or overpaid shares, use area_breakdown with group_by sector for an area. Costs 1 credit.
| Argument | Type | Description |
|---|---|---|
| month | string | Month as YYYY-MM. Omit for the latest complete month. |
| sector* | string | One of: industry, offices, retail, other. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"sector"
],
"properties": {
"month": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$",
"description": "Month as YYYY-MM. Omit for the latest complete month."
},
"sector": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: industry, offices, retail, other."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
}
}List business properties in an area that match filters, sorted the way the question asks. Area is required (postcode, sector, district or council). Filters: street, sector, property type words (e.g. 'shop', 'office', 'warehouse', 'hotel'), business or building name (e.g. 'Novotel'), rateable value range, verdict, minimum indicative annual saving, minimum floor area. Sorts: rateable value, saving, floor area, or rateable value per square metre (per-m² rankings use only properties of 25 m² or more by default, and office rankings leave out banks and betting shops). Returns up to 50 rows with property_id, address, names, use, rateable value, floor area, £ per m², rate_basis and the verdict (the same as the website report, with label and flagged) and saving (before small business rate relief and transitional relief). Costs 1 credit per property returned (minimum 1); results stop 250 rows deep.
| Argument | Type | Description |
|---|---|---|
| name | string | Business or building name, or address words, e.g. 'Novotel'. |
| sort | string | One of: rateable_value_desc, rateable_value_asc, saving_desc, floor_area_desc, rate_per_m2_desc, rate_per_m2_asc, transitional_relief_desc, rv_rise_pct_desc, rv_rise_desc. Default rateable_value_desc. rate_per_m2_* only ranks properties measured in square metres. |
| uarn | string | A UARN, instead of an area: the entries it covers, with their verdicts. The other filters still apply. |
| limit | integer | Rows to return, 1 to 50 (default 10). Each row costs 1 credit. |
| cursor |
Published decisions of the Valuation Tribunal for England (about 3,300, 2020 onwards) and the Valuation Tribunal for Wales (about 1,400, 2018 onwards) on business rates appeals; each decision carries its country. Filter by area (postcode or council, English or Welsh), a property (property_id from find_properties), sector, property type words, outcome (won or lost), the decisive ground, the firm that represented the ratepayer, rating list year and decision date. Returns a summary over every match (decisions, attended, won, win rate of attended cases, cases reduced, median reduction %, rateable value removed, the commonest decisive grounds) and the newest decisions with the original, proposed, VO-conceded and tribunal values, the reduction, the grounds, a short reason summary and the representing firm. Cash-machine appeals are left out unless sector=atm. Costs 2 credits.
| Argument | Type | Description |
|---|---|---|
| to | string | Decisions on or before this date (YYYY-MM-DD). |
| firm | string | The firm that represented the ratepayer, e.g. 'Colliers'. |
| from | string | Decisions on or after this date (YYYY-MM-DD). |
| limit | integer | Decisions to list, 1 to 25 (default 10). The summary always covers every match. |
| ground | string | One of: rental_evidence, tone_of_list_comparables, floor_area_measurement, zoning_layout, material_change_of_circumstances, physical_works_disturbance, repair_state_deletion, split_merger_hereditament, trade_receipts_fmt, valuation_method, effective_date, validity_of_proposal, quantum_allowance, relief_or_exemption, other. Only decisions argued on this ground. |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 13, 2026.
| object |
| Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"topic": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: overview, multipliers, small_business_rate_relief, retail_hospitality_leisure, pubs_and_live_music, charitable_relief, rural_relief, empty_property, transitional_relief, check_challenge_appeal, allowances, deadlines, contacts, wales, food_and_drink_hospitality, all, news, learn, glossary, faq. A topic id, or 'all'; news, learn and glossary list their items, then ask for one as news:<slug>, learn:<slug> or glossary:<term>. Omit to list the topics for the chosen country."
},
"country": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "england (default) or wales. Use wales for a property whose country is W."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
}
}| postcode | string | Full postcode or outward code, e.g. 'BD13 3EL' or 'BD13'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"uarn": {
"type": "string",
"pattern": "^[0-9]{4,15}$",
"description": "A UARN, instead of postcode or ba_code: returns every current entry it covers, England and Wales."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Number of results, 1 to 20 (default 20)."
},
"query": {
"type": "string",
"maxLength": 100,
"description": "Words from the address or the VO description to narrow the results, e.g. 'unit 2' or 'cafe'."
},
"ba_code": {
"type": "string",
"pattern": "^[0-9A-Za-z]{4}$",
"description": "Council (billing authority) code, e.g. '1835' for Worcester. Use instead of postcode."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"postcode": {
"type": "string",
"maxLength": 9,
"minLength": 2,
"description": "Full postcode or outward code, e.g. 'BD13 3EL' or 'BD13'."
}
}
}| Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
| postcode | string | A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6'). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"firm": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "A firm's name or part of it, e.g. 'Knight Frank'."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Rows for the area lists and firm matches, 1 to 25 (default 10)."
},
"ba_code": {
"type": "string",
"pattern": "^[0-9A-Za-z]{4}$",
"description": "Council (billing authority) code, e.g. '5390'. Alternative to council."
},
"council": {
"type": "string",
"maxLength": 60,
"minLength": 3,
"description": "Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"postcode": {
"type": "string",
"maxLength": 9,
"minLength": 2,
"description": "A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6')."
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"month": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$",
"description": "Month as YYYY-MM. Omit for the latest complete month."
},
"ba_code": {
"type": "string",
"pattern": "^[0-9A-Za-z]{4}$",
"description": "Council code, e.g. '1835'. Alternative to council."
},
"council": {
"type": "string",
"maxLength": 60,
"minLength": 3,
"description": "Council name or part of it, e.g. 'Birmingham'."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
}
}| options |
| object |
| Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"ba_code": {
"type": "string",
"pattern": "^([0-9A-Za-z]{4}|[EWew]0[6-9][0-9]{6})$",
"description": "VO billing-authority code (e.g. '4720') or ONS code (e.g. 'E08000035')."
},
"council": {
"type": "string",
"maxLength": 60,
"minLength": 3,
"description": "Council name or part of it, e.g. 'Leeds' or 'Cardiff'."
},
"country": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "england or wales. Rank councils within England or Wales only. Omit for both."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
}
}
}| sole_property | any | true if this is the ratepayer's only business property, false if they occupy others. Omit if unknown, then ask before quoting the Small Business Rate Relief figure. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"property_id"
],
"properties": {
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"property_id": {
"type": "string",
"pattern": "^[0-9]{4,15}$",
"description": "The property_id from find_properties (the Valuation Office assessment reference), or a UARN, 4 to 15 digits. A UARN that covers several entries returns them all."
},
"sole_property": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
],
"description": "true if this is the ratepayer's only business property, false if they occupy others. Omit if unknown, then ask before quoting the Small Business Rate Relief figure."
}
}
}| string |
| next_cursor from a previous call, for the next page. |
| rv_max | number | Maximum rateable value in pounds. |
| rv_min | number | Minimum rateable value in pounds. |
| sector | string | One of: car_parking_and_storage, healthcare, industrial_and_warehousing, leisure_and_hospitality, offices, other_specialist, retail. Broad sector. Use it with £ per m² sorts so the ranking compares like with like. |
| street | string | Street name, e.g. 'Commercial Road'. Matches the start of the street. |
| ba_code | string | Council (billing authority) code, e.g. '5390'. Alternative to council. |
| council | string | Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
| min_area | number | Only properties of at least this many m². Default 25 for £ per m² sorts; 0 switches the default off. |
| postcode | string | A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6'). |
| verdicts | array | One of: strong_case, worth_checking, no_obvious_issues, not_enough_evidence, needs_turnover. Only these verdicts (the website's): strong_case, worth_checking, no_obvious_issues, not_enough_evidence, needs_turnover; e.g. ['strong_case', 'worth_checking'] for flagged properties. (Older words are still accepted and translated.) |
| min_saving | number | Only properties whose indicative annual saving is at least this many pounds. |
| property_type | string | Words from the Valuation Office description, e.g. 'shop', 'office', 'warehouse', 'hotel', 'restaurant'. 'warehouse' does not include retail warehouses unless sector is retail. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Business or building name, or address words, e.g. 'Novotel'."
},
"sort": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: rateable_value_desc, rateable_value_asc, saving_desc, floor_area_desc, rate_per_m2_desc, rate_per_m2_asc, transitional_relief_desc, rv_rise_pct_desc, rv_rise_desc. Default rateable_value_desc. rate_per_m2_* only ranks properties measured in square metres."
},
"uarn": {
"type": "string",
"pattern": "^[0-9]{4,15}$",
"description": "A UARN, instead of an area: the entries it covers, with their verdicts. The other filters still apply."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Rows to return, 1 to 50 (default 10). Each row costs 1 credit."
},
"cursor": {
"type": "string",
"maxLength": 200,
"description": "next_cursor from a previous call, for the next page."
},
"rv_max": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Maximum rateable value in pounds."
},
"rv_min": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Minimum rateable value in pounds."
},
"sector": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: car_parking_and_storage, healthcare, industrial_and_warehousing, leisure_and_hospitality, offices, other_specialist, retail. Broad sector. Use it with £ per m² sorts so the ranking compares like with like."
},
"street": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Street name, e.g. 'Commercial Road'. Matches the start of the street."
},
"ba_code": {
"type": "string",
"pattern": "^[0-9A-Za-z]{4}$",
"description": "Council (billing authority) code, e.g. '5390'. Alternative to council."
},
"council": {
"type": "string",
"maxLength": 60,
"minLength": 3,
"description": "Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"min_area": {
"type": "number",
"maximum": 1000000,
"minimum": 0,
"description": "Only properties of at least this many m². Default 25 for £ per m² sorts; 0 switches the default off."
},
"postcode": {
"type": "string",
"maxLength": 9,
"minLength": 2,
"description": "A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6')."
},
"verdicts": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"maxItems": 5,
"minItems": 1,
"description": "One of: strong_case, worth_checking, no_obvious_issues, not_enough_evidence, needs_turnover. Only these verdicts (the website's): strong_case, worth_checking, no_obvious_issues, not_enough_evidence, needs_turnover; e.g. ['strong_case', 'worth_checking'] for flagged properties. (Older words are still accepted and translated.)"
},
"min_saving": {
"type": "number",
"maximum": 100000000,
"minimum": 0,
"description": "Only properties whose indicative annual saving is at least this many pounds."
},
"property_type": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Words from the Valuation Office description, e.g. 'shop', 'office', 'warehouse', 'hotel', 'restaurant'. 'warehouse' does not include retail warehouses unless sector is retail."
}
}
}| sector | string | One of: retail, office, industrial, leisure_hospitality, healthcare, education, car_park, other, unknown, atm. The tribunal data's own sector grouping. |
| ba_code | string | Council (billing authority) code, e.g. '5390'. Alternative to council. |
| council | string | Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council. |
| include | array | Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks. |
| options | object | Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored. |
| outcome | string | One of: any, won, lost. won = allowed, allowed in part or agreed at the hearing; lost = everything else. Default any. |
| postcode | string | A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6'). |
| list_year | string | 2010, 2017, 2023 or 2026. The rating list the appeal was against. |
| property_id | string | Only decisions about this property (the property_id from find_properties). |
| property_type | string | Words from the property description, e.g. 'warehouse', 'shop', 'office'. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Decisions on or before this date (YYYY-MM-DD)."
},
"firm": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "The firm that represented the ratepayer, e.g. 'Colliers'."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Decisions on or after this date (YYYY-MM-DD)."
},
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "Decisions to list, 1 to 25 (default 10). The summary always covers every match."
},
"ground": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: rental_evidence, tone_of_list_comparables, floor_area_measurement, zoning_layout, material_change_of_circumstances, physical_works_disturbance, repair_state_deletion, split_merger_hereditament, trade_receipts_fmt, valuation_method, effective_date, validity_of_proposal, quantum_allowance, relief_or_exemption, other. Only decisions argued on this ground."
},
"sector": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: retail, office, industrial, leisure_hospitality, healthcare, education, car_park, other, unknown, atm. The tribunal data's own sector grouping."
},
"ba_code": {
"type": "string",
"pattern": "^[0-9A-Za-z]{4}$",
"description": "Council (billing authority) code, e.g. '5390'. Alternative to council."
},
"council": {
"type": "string",
"maxLength": 60,
"minLength": 3,
"description": "Council name or part of it, e.g. 'Hammersmith' or 'Leeds'. Use instead of postcode for a whole council."
},
"include": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20,
"description": "Optional extra sections for the answer. The ones available are listed in the response under settings.include_supported; anything else is ignored and listed in settings.ignored. Leave out unless the user asks for something the normal answer lacks."
},
"options": {
"type": "object",
"description": "Optional extra settings by name. The ones available are listed in the response under settings.options_supported; anything else is ignored and listed in settings.ignored.",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"outcome": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "One of: any, won, lost. won = allowed, allowed in part or agreed at the hearing; lost = everything else. Default any."
},
"postcode": {
"type": "string",
"maxLength": 9,
"minLength": 2,
"description": "A full postcode ('W6 8DR'), a postcode sector ('W6 8') or a district ('W6')."
},
"list_year": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "2010, 2017, 2023 or 2026. The rating list the appeal was against."
},
"property_id": {
"type": "string",
"pattern": "^[0-9]{6,15}$",
"description": "Only decisions about this property (the property_id from find_properties)."
},
"property_type": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Words from the property description, e.g. 'warehouse', 'shop', 'office'."
}
}
}