Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
MarketCode is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
UK property intelligence with evidence behind the numbers.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http marketcode-mcp https://mcp.marketcode.ai/mcp
# 2 — ask your agent for something these tools do
# entity_search_capabilities, lookup_entities, ask_question and 96 more
MarketCode costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http marketcode-mcp https://mcp.marketcode.ai/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
99 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Governed entity families, criteria, coverage and query limits. Call before building searches. Free.
No parameter schema on file.
Find public records by title/address text, postcode or public UUID. Exact and lexical lookup uses no model or embeddings; supports token prefixes and bounded typo tolerance in accepted search publications. Returns separate families with UUID detail links and explicit searched coverage. Never claim an unlisted family was searched, or that no match proves nonexistence. For full address matching use
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | yes | — |
| limit | integer | no | — |
Use the SAME Ask router as the portal. Route a place/kind into the published taxonomy, a dated figure to the governed semantic query, or exact company/property/title references to a bounded corporate network/path. This tool proposes execution; it does not execute paid work. Respect unsupported criteria and require acceptance of a paid proposal. Routing catalogue IDs are NOT evidence publication ID
| Parameter | Type | Required | Notes |
|---|---|---|---|
| question | string | yes | — |
| place_slug | no | — |
Bounded public search using the versioned SearchQuery. Criteria are validated by the server; sorting and pagination use the same eligibility as the map. All Entities returns separate groups. No graph inference or unknown evidence changes eligibility. QUERY SHAPE — query is one object: {"entity": "land", "geography": {"kind": "area", "id": "Kettering"}, "criteria": {"parc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | yes | — | |
| limit | integer | no | — |
| cursor | no | — |
Counts and statistics over EXACTLY what search_entities would match: how many records, grouped by a field, with min, median, mean and max of up to three numeric fields. Use it for "how many", "what share", "median floor area" and "price by type" questions instead of paging through records. query is the same object search_entities takes (entity, geography, criteria). Summaries cover `pro
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | yes | — | |
| group_by | no | — | |
| measures | no | — | |
| top | integer | no | — |
One market profile: an area × residential bedroom cohort with every published measure — asking sale price and rent, completed sale price, gross yield on asking, live stock, new listings, price reductions, turnover and registry sale volume — each with its basis sentence, unit, coverage and an observed monthly series sliced to window months (default 60); plus the asking price/rent indexes, the w
| Parameter | Type | Required | Notes |
|---|---|---|---|
| profile_id | string | yes | — |
| window | integer | no | — |
Recorded relationship evidence from the derived graph. Use canonical ids from search. Cite path provenance and publication dates. Bounded and eventually consistent; missing links do not establish absence, ownership or off-market status. No private ownership payloads are returned. Free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | — |
| entity_id | string | yes | — |
| depth | integer | no | — |
| limit | integer | no | — |
Investigate recorded corporate ownership, title and agency relationships. Requires the customer's account; never use an anonymous preview key. Depth 1–3, at most 100 nodes; clipped networks explicitly say truncated. Cite publication IDs and provenance on each hop. Missing links are not negative findings. Individuals are excluded. An unpublished root costs no credits. Costs 15 credits (15p).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| kind | string | yes | — |
| entity_id | string | yes | — |
| depth | integer | no | — |
| limit | integer | no | — |
Find a recorded path between two corporate-network records within three hops. Requires the customer's account. A clipped search returns incomplete, never a claim that no relationship exists. Return the ordered hops with their source/publication evidence. Costs 15 credits (15p).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| source_kind | string | yes | — |
| source_id | string | yes | — |
| target_kind | string | yes | — |
| target_id | string | yes | — |
| depth | integer | no | — |
| limit | integer | no | — |
Address autocomplete. Returns ranked candidates for a partial address or postcode. Use address_resolve to turn a candidate into a canonical UPRN. This is the free entry point: resolve, lookup and postcode listing are priced because they return OS AddressBase content, but narrowing a search is not. Prefer it for anything interactive, and resolve once at the end. UK only
| Parameter | Type | Required | Notes |
|---|---|---|---|
| q | string | yes | — |
| country | string | no | — |
| max_results | integer | no | — |
Resolve free-text address to canonical record (UPRN for UK). Costs 2 credits (2p); free on marketcode.ai.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | — |
| country | string | no | — |
| max_results | integer | no | — |
Look up an address by UPRN (UK only). Costs 1 credit (1p); free on marketcode.ai. Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow, then address_resolve to get one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Return all addresses at a UK postcode. Costs 2 credits (2p); free on marketcode.ai.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode | string | yes | — |
Full property record for a UPRN, grouped into tiers: identity, property, energy, building, land, risk, designations, infrastructure, ownership, provenance. Up to ~300 fields — null fields are omitted, so a typical urban flat returns fewer than a rural site with designations on it. provenance carries the <field>_source and <field>_confidence siblings, so you can trust
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Cross-source property facts with provenance and unresolved attributes. Review floor area, bedrooms and tenure with the user before a valuation. ml_primary and imputed are predictions, not measurements; a warehouse value is not automatically declared. eligible_as_primary: false marks context only: EPC habitable rooms are not bedrooms, occupier tenure is not legal tenu
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Price, price per sqm and turnover rate for ONE geography × asset class × bedroom band × period, from the pre-cubed area_facts table. Metrics: sales_price, price_psm, turnover_rate are populated today. rental_value, gross_yield and days_on_market are NOT — the pipeline has never backfilled them, so they come back null and are named in the response's metrics_with_no_data.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode | no | — | |
| lsoa_code | no | — | |
| ward_code | no | — | |
| lad_code | no | — | |
| h3_cell | no | — | |
| asset_class | no | — | |
| asset_subtype | no | — | |
| bedroom_band | no | — | |
| period | no | — | |
| max_periods | no | — | |
| metrics | no | — |
Rank areas AGAINST EACH OTHER on a market metric — one row per area, AGGREGATED over a trailing window of whole months. This is the comparison tool. market_facts answers for one geography; calling it in a loop to build a league table is slower, costs more and gives you rows from different periods. Use this for "which districts in Greater Manchester turn over fastest", "
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_type | no | — | |
| parent_area_code | no | — | |
| area_codes | no | — | |
| asset_class | no | — | |
| bedroom_band | no | — | |
| hmo | no | — | |
| metrics | no | — | |
| sort | no | — | |
| order | no | — | |
| limit | no | — | |
| window_months | no | — | |
| lag_months | no | — | |
| min_stock | no | — |
Monthly transaction VOLUME for a postcode district, postcode area or county — every registered sale, 1995 to present, oldest month first. Use this, not market_facts, for "how many sales" questions. market_facts reads the area_facts cube, whose count is a UPRN-matched sample that runs 17-66% short of the registry; this reads HMLR price paid directly. Conversely use `ma
| Parameter | Type | Required | Notes |
|---|---|---|---|
| district | no | — | |
| area | no | — | |
| county | no | — | |
| metrics | no | — | |
| start | no | — | |
| end | no | — |
The 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. Use this for "how has W14 moved since 2015", "what is the trend in Camden", or to carry a known price to today: price(t2) = price(t1) x value(t2) / value(t1). It is the same series
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_code | string | yes | — |
| area_type | string | no | — |
| frequency | string | no | — |
| start | no | — | |
| end | no | — | |
| limit | integer | no | — |
| include_forecast | boolean | no | — |
Gross rental yield for an area and bedroom band on two bases, by month, with n: gross_yield_asking (12 × the month's median asking rent ÷ the median asking price of sale listings in the same area, band and month — different properties) and gross_yield_avm_median (the median, over rent listings matched to a property, of 12 × asking rent ÷ our valuation of that property;
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_code | string | no | — |
| area_type | string | no | — |
| bedroom_band | string | no | — |
| months | integer | no | — |
The published house-price index forecast for a postcode district or local authority: the last SETTLED index point as the anchor, then up to seven forecast periods with lo/hi bands, plus the method and publication grain behind them. Seven is the horizon the index publishes — nothing beyond it is offered, and a forecast is a projection of the smoothed repeat-sales index,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_code | string | yes | — |
| area_type | string | no | — |
| frequency | string | no | — |
| horizon | integer | no | — |
Supply and demand for an area in one call: live stock today (count, median days on market, new-home count) and the monthly flow — listings added and reduced, reduction share, new-home share, agent concentration, asking-to-sold on the registry-matched subset and days to completion. Read the basis sentences: the flow count is the never-reduced cohort; the live-stock series b
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_code | string | no | — |
| area_type | string | no | — |
| channel | string | no | — |
| bedroom_band | string | no | — |
| months | integer | no | — |
The factor that carries a price paid in a past month to the latest SETTLED month of the published repeat-sales house-price index: the postcode district's own series, else its local authority's, else the national series; forecast months are never used. Returns factor, the two index levels (index_level_from, index_level_to), basis (repeat_sales_district | repeat_sale
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode | string | yes | — |
| from_date | string | yes | — |
| property_type | no | — | |
| lookback_years | integer | no | — |
Repeat-sales CAPITAL index for UK commercial property, quarterly, 1995Q1 = 100. Three families exist and nothing else: national ALL; national x sector for the sectors that passed the level gate (OFFICE, RETAIL, HOTEL, HOLIDAY_LET); and local authority x ALL for the 19 authorities with enough pooled repeat sales. There is deliberately NO local x sector series — a local
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sector | no | — | |
| area | no | — | |
| start | no | — | |
| end | no | — | |
| limit | integer | no | — |
Commercial RENT index from the VOA rating lists — FOUR points, one per list (2010 / 2017 / 2023 / 2026), each dated at that list's antecedent valuation date (2008-04-01, 2015-04-01, 2021-04-01, 2024-04-01), with the 2010 list = 100. READ basis AND REPEAT IT when you quote a number: the index is derived from VOA rateable values — the Valuation Office Agency's assessment
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sector | no | — | |
| area | no | — | |
| start | no | — | |
| end | no | — |
Rank postcode districts by transaction volume or median price over a trailing window — "the busiest districts in Greater London last year", "the priciest districts in SW". Restrict the candidate set with county ("GREATER LONDON") or area ("SW"); omit both to rank nationally. UK only. Free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| county | no | — | |
| area | no | — | |
| months | integer | no | — |
| order_by | string | no | — |
| limit | integer | no | — |
All HMLR Price Paid records joined to this UPRN, newest first. England & Wales only. Free. Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow, then address_resolve to get one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
One-call summary of a property: what it is, what building it belongs to, and the headline attributes. Once you have the UPRN this is the first call to make for a specific property — it usually answers the question on its own, and property_report composes the rest. UK only. Costs 20 credits (20p). Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Sold-price history for a property, with per-sale detail. Use transactions_by_uprn instead if you only need the raw HMLR rows. UK only. Free. Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow, then address_resolve to get one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
| max_drilldowns | integer | no | — |
Comparable sales in the same building or block. Preserve original price, sale date, UPRN and attrs_source. Backfilled/modelled floor areas are estimates: their derived price per square metre is not directly observed. An EPC room count is not automatically a bedroom count. Review anomaly and category flags; they do not prove distress or justify silently removing lower con
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
| max_backfills | integer | no | — |
Environment Agency surface-water flood risk for a property. UK only. Free. Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow, then address_resolve to get one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Automated value estimate for a property: a point value plus a range. Returns 404 when we hold no valuation for the UPRN — most often because the unit has no floor area on record, which the model requires. UK only. Free. Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow, then address_resolve to get one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Full valuation block for a property: the value and its range, a monthly back-series (the value scaled by the local £/m² index, so it terminates at the headline figure by construction), a rental estimate where the district benchmark supports one, and a trust_score scoring the evidence behind the number — index sample size, floor-area provenance, model confidence. Use `val
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Registered leases linked to this UPRN, with the selected longest-expiry record and up to ten alternatives, exact register property descriptions, title/record identifiers, source/link limitations and computed remaining term. UPRN linkage does not verify the legal demise: a garage, parking or sibling title must not establish the flat lease. Compare descriptions and disclose
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
property_lease for up to 100 properties in one call, per-item outcomes (ok | no_lease | not_found | error) in input order. Charged per property answered — the sum of the single calls, never more. UK only. Costs 5 credits (5p). Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow, then address_resolve to get one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprns | array | yes | — |
What this property is in, and whether we actually checked: every designation and hazard flag THREE-VALUED with its source — flood (zone, historic flooding, defences, rivers-and-sea band, surface water), coal (high-risk area, past mining, surface hazard distance), heritage (listed, conservation area, scheduled monument, registered park, battlefield, World Heritage), environ
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
property_risk_report for up to 100 properties in one call, per-item outcomes (ok | not_found | error) in input order. Charged per property answered — the sum, never more. UK only. Costs 5 credits (5p). Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow, then address_resolve to get one.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprns | array | yes | — |
The evidence behind a valuation, itemised: same-building comparable sales for the property, each with its registered price and date, its time adjustment on the published repeat-sales index (the district's own series, else the local authority's, else national) to the index's latest settled month with the carry receipt (index_unavailable and no adjustment where no series c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
| lookback_months | integer | no | — |
| relisted_uprns | no | — |
Comparable completed sales for a valuation, beyond the property's own building: Land Registry sales of the nearest units (within 1 km, the 60 months before as_of), widening from 250 m and 12 months until at least 6 qualify. A sale qualifies when it is the same broad type (flats with flats, houses with houses, from the type recorded at the sale), within 0.67-1.5x the subj
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
| as_of | no | — | |
| limit | integer | no | — |
Comparable lets for a market rent, and the rent they indicate. ASKING rents from portal adverts: no achieved rents exist, so say "asking" when you quote them. Reads the rent adverts of the nearest units (within 1 km, last seen in the 24 months before as_of), widening from 250 m and 6 months until 4 effective comparables qualify. A let qualifies when it is the same type f
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
| as_of | no | — | |
| limit | integer | no | — |
| beds | no | — | |
| property_type | no | — | |
| floor_area_m2 | no | — |
The property's own last registered sale carried by the published repeat-sales index to its latest settled month: the price paid, the date, the index factor applied and the anchored value. Where a property has sold, this is the strongest single piece of evidence a valuation has. When no published series can carry the sale the factor and the anchored value are null and the a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
How accurate our valuations have been, measured the only way that cannot leak: each month, every registered sale the model had ALREADY valued is compared with the price actually paid — MdAPE (median absolute percentage error), PPE20 (share within 20%) and n, per asset class and model version. Until the first vintage lands in October 2026 the answer is status: no_rows_yet
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset_class | no | — | |
| model_version | no | — | |
| since | no | — |
Every planning designation affecting a location, in one call: conservation area, listed building, green belt, AONB, national park, flood zone, Article 4, brownfield, ancient woodland, heritage at risk, TPO, AQMA and scheduled monument. Give either postcode (full UK postcode) or location as "lat,lng". UK only. Free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode | no | — | |
| location | no | — |
The planning designation checks you choose, for one location, in one call. checks is any of: article_4, brownfield, ancient_woodland, heritage_at_risk, tpo, aqma, scheduled_monument, sssi, agricultural_land, flood_risk, green_belt, listed_buildings, aonb, national_park, conservation_area — omit it for all fifteen. Each check reports its own result, and one that could not
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode | no | — | |
| location | no | — | |
| checks | no | — |
The local planning authority for a location and its planning-portal URL. This returns WHERE to look, not the applications themselves — council portals are not machine-readable. Give either postcode or location as "lat,lng". UK only. Free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode | no | — | |
| location | no | — |
Resolve an area name or code ("Hackney", "E5") to its area_id, centroid and full hierarchy as breadcrumbs. Call this first when a question is about a named area rather than a specific address. UK only. Free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_name | string | yes | — |
| include_h3 | boolean | no | — |
| h3_resolution | integer | no | — |
The area of a given type containing a coordinate. type_id is an area type UUID and is required — a point sits inside one area per geography layer, so without it the answer would be ambiguous. UK only. Free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| lat | number | yes | — |
| lng | number | yes | — |
| type_id | string | yes | — |
Registered proprietor(s) for an HMLR title number. England & Wales only. Costs 15 credits (15p).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title_number | string | yes | — |
Titles held by a company, by Companies House number. Useful for mapping a landlord's or developer's portfolio. England & Wales only. Costs 15 credits (15p).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| company_number | string | yes | — |
| limit | integer | no | — |
Individual UK auction lots: the guide price a lot was marketed at, whether it sold, the HAMMER PRICE where the auctioneer published one, and the net yield where quoted. Five auction houses, Allsop back to 1999. Nothing else on the market sells achieved auction outcomes through an API — a listings portal tells you a property went to auction, not what it made. Use this
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode_district | no | — | |
| postcode_area | no | — | |
| auctioneer | no | — | |
| date_from | no | — | |
| date_to | no | — | |
| is_commercial | no | — | |
| sold_only | boolean | no | — |
| with_achieved_price | boolean | no | — |
| with_yield | boolean | no | — |
| limit | integer | no | — |
| offset | integer | no | — |
Quarterly UK auction statistics by postcode district: lots offered, lots sold, the sale rate, and average guide, achieved and net yield. Use this for the shape of a local auction market over time — is it clearing, are yields moving, is stock rising. For individual comparables use auction_lots. READ n_guide AND n_achieved BEFORE COMPARING THE AVERAGES. They are co
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode_district | no | — | |
| quarter_from | no | — | |
| quarter_to | no | — | |
| is_commercial | no | — | |
| limit | integer | no | — |
Properties that keep going to auction and NEVER SELL — the distress screen. The clearest distress signal in the warehouse: a vendor who wants out and a market that has said no more than once, both on the public record. Ranked by how many separate auctions the lot has failed at, then by how long it has been on the circuit. READ guide_to_avm BEFORE CALLING ANY ROW AN OPP
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode_district | no | — | |
| postcode_area | no | — | |
| min_auctions | integer | no | — |
| years | integer | no | — |
| max_guide_to_avm | no | — | |
| is_commercial | no | — | |
| limit | integer | no | — |
| offset | integer | no | — |
Construction cost index series for a development appraisal's cost side: basis is tender (tender price indices), output (output price indices), deflator (the construction deflator) or labour. Optional sector (residential, commercial, industrial, infrastructure, all, …), freq (monthly | quarterly | annual) and an inclusive period window in the series' own format (2014Q
| Parameter | Type | Required | Notes |
|---|---|---|---|
| basis | string | yes | — |
| sector | no | — | |
| freq | no | — | |
| from_period | no | — | |
| to_period | no | — |
Everything known about ONE site, assembled and judged — the site dossier. Give a uprn (from address_resolve or address_autocomplete) or a land_id (from sourcing_search). Returns in one call what would otherwise be six: * site — the land parcel: area, land use, built coverage, and the boundary as GeoJSON you can put straight on a map * valuation — our AVM
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | no | — | |
| land_id | no | — | |
| include_designations | boolean | no | — |
| scheme_gia_m2 | no | — | |
| scheme_units | no | — | |
| rate_gbp_m2 | no | — | |
| rate_period | no | — | |
| sector | string | no | — |
| region | string | no | — |
| include_precedents | boolean | no | — |
| precedent_radius_m | integer | no | — |
Average UK mortgage rates from the Bank of England: 2-year fixed, 3-year fixed at 75% LTV, and the standard variable rate. This is the BoE's published market average — an input to an appraisal, not a quote. It carries no applicant, product or lender, so do not present it as a rate someone can get. Pair it with a yield figure or an appraisal (site_appraisal) rather than
No parameter schema on file.
Local Housing Allowance for a postcode and bedroom category — the ceiling on housing benefit, and therefore the effective rent floor for a benefit-funded tenancy. Nothing else in this API tells you what the state will pay for a property. THE RATE IS WEEKLY. rate_unit says gbp_per_week and the figure is exactly as the rate-setting bodies publish it. Comparing it agains
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode | string | yes | — |
| bedrooms | integer | yes | — |
VOA council tax band for a property, from the official list. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
How far below our valuation UK auction actually clears — the one auction number nobody else can produce. An achieved hammer price against an automated valuation of the SAME property. EIG covers 530+ auctioneers to our six and sells API data, but runs no AVM; we have less auction data and the valuation. The join is the product, not the feed. Nationally over the last 2
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode_district | no | — | |
| postcode_area | no | — | |
| months | integer | no | — |
| is_commercial | no | — | |
| min_lots | integer | no | — |
Auction comparables on ACHIEVED prices, each against our valuation. A portal tells you a property went to auction. This says what it MADE, and what our AVM thought it was worth at the same address — the difference between a comparable and a listing. Use it to judge whether a guide price is realistic, or what a lot is likely to fetch. achieved_to_avm is the hammer price
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode_district | no | — | |
| postcode_area | no | — | |
| months | integer | no | — |
| is_commercial | no | — | |
| min_beds | no | — | |
| max_beds | no | — | |
| limit | integer | no | — |
Recent Energy Performance Certificates for a property, newest first: up to five mart certificates and up to five raw certificates. Raw readings include exact certificate URL/address, floor level, top-storey indicator, rooms, area and source dates. Compare source vintages; raw certificates may be newer than the property summary. Unknown floor codes remain unknown; habitable
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Energy composition of an area: EPC band mix, mains gas / electric / oil split, heat-pump penetration. area_id is the marts area id from area_resolve — pass analytics_area_id, not area_id, if the resolve response gives both. Percentages are of properties HOLDING an EPC, not of all stock, and are whole percentages (0-100). EPCs are lodged on sale or let, so long-he
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_id | string | yes | — |
Properties in an area with the most improvement headroom, ranked by potential efficiency. Defaults to the sub-standard bands E, F and G. A targeting tool: it returns a list to act on, not a fact about one property. Combine with fuel='gas' for the fossil-heated cohort that carries the largest retrofit case. area_id is the marts area id from area_resolve. UK onl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_id | string | yes | — |
| bands | no | — | |
| fuel | no | — | |
| limit | integer | no | — |
Roof characteristics for solar screening: footprint area, roof shape and material, building height, and whether panels are already present. Returns NO generation estimate, deliberately. Pitch, orientation and shading are not in the warehouse, and a kWp figure derived from footprint alone would read as a yield forecast without being one. Report the usable roof area as a sc
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprns | array | yes | — |
Which estate agents actually transact in an area, ranked by listing count. Sale and rental are counted and averaged SEPARATELY — an asking price and a monthly rent do not combine into one median, so read median_asking_price and median_monthly_rent as answering different questions. area_id is the marts area id from area_resolve. UK only. Free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_id | string | yes | — |
| months | no | — | |
| listing_type | no | — | |
| limit | integer | no | — |
Every 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. price_trajectory appears only when at least two snapshots carry a price. No listing at all is a real answer, not a failure — a property sold off-market or never advertised has none. UK only. Costs 15 cre
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Current estimated value against the last recorded sale: gain in pounds and percent, and how long it has been held. 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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprns | array | yes | — |
Long-held properties in an area carrying a large paper gain — the classic off-market cohort, ordered by gain rather than by value. Typical output for a London district: mid-1990s purchases at £23,000-37,000 now valued at £566,000-758,000. area_id is the marts area id from area_resolve. UK only. Costs 40 credits (40p).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_id | string | yes | — |
| min_years | integer | no | — |
| min_gain_pct | number | no | — |
| limit | integer | no | — |
What the Land Registry shows for one proprietor: titles held, company status, country of incorporation, directors and PSCs where known. Give a company number for an EXACT match. A name is a fuzzy substring search — company names repeat across unrelated entities, so a name-matched result is a candidate set, NOT a portfolio, and the response says which kind you got. Report
| Parameter | Type | Required | Notes |
|---|---|---|---|
| company_number | no | — | |
| name | no | — | |
| limit | integer | no | — |
Physical form of the buildings a set of UPRNs sit in: height, volume, footprint area, floor count, construction and roof material, basement, green roof, solar panels, and the residential/commercial unit mix. year_built and num_floors are thinly populated and come back null rather than estimated — treat null as unknown, not as absent. footprint_geojson is the record
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprns | array | yes | — |
Composition of the built stock in an area: unit counts, HMO share, mixed-use share, median building height and footprint, solar penetration. Medians, not means — one tower would skew an average height enough to make a low-rise district read as mid-rise. Percentages are whole percentages. area_id is the marts area id from area_resolve. UK only. Free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_id | string | yes | — |
Buildings holding BOTH residential and commercial units — the conversion and permitted-development cohort. Hard to source elsewhere: it is a property of the building's unit mix, not an attribute of any single property. UK only. Costs 30 credits (30p).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_id | string | yes | — |
| min_commercial | integer | no | — |
| min_residential | integer | no | — |
| limit | integer | no | — |
Land parcels by size and how much of them is built on. Set max_built_coverage to 0.2 to find largely undeveloped plots. Parcels with NO measured coverage are excluded when you set a ceiling, rather than counted as empty — unknown coverage is not evidence of a vacant plot. Coverage is measured on about 41% of parcels. UK only. Costs 30 credits (30p).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_id | string | yes | — |
| min_area_m2 | number | no | — |
| max_built_coverage | no | — | |
| limit | integer | no | — |
Hex-binned stock and transaction density for map layers, at H3 resolution 8. DENSITY ONLY. There is no usable price per cell — the hex cube's price column is populated on about 2% of rows and its rental, EPC and per-m2 columns are empty. The response lists what is and is not available; do not offer a price heatmap from this. tx_n is the transaction COUNT and tx_value
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_id | string | yes | — |
| limit | integer | no | — |
Find land parcels, property units or buildings matching search criteria — the sourcing tool. Give a location (place name, area code or postcode district) or a bbox. AREA LIMIT: one scan covers at most 150 km². A whole town or local authority (Harrogate, Cheltenham, Farnham, most boroughs) is usually larger and is refused with area_too_large, which lists the postcode
| Parameter | Type | Required | Notes |
|---|---|---|---|
| asset | string | no | — |
| area_geojson | no | — | |
| min_area_m2 | no | — | |
| max_area_m2 | no | — | |
| min_floor_area_m2 | no | — | |
| max_floor_area_m2 | no | — | |
| max_unexpired_years | no | — | |
| min_floors | no | — | |
| max_floors | no | — | |
| min_units | no | — | |
| max_units | no | — | |
| offset | no | — | |
| location | no | — | |
| bbox | no | — | |
| landuse | no | — | |
| max_built_coverage | no | — | |
| property_types | no | — | |
| min_beds | no | — | |
| max_beds | no | — | |
| epc_in | no | — |
Resolve registered owners for parcels returned by sourcing_search. Uses the bulk HM Land Registry corporate and overseas ownership registers, so it names companies, public bodies and overseas entities. Individually owned titles are not in the bulk data and come back unresolved — that is a gap in the free register, not a failed lookup, and naming an individual requires a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| parcel_ids | array | yes | — |
| asset | string | no | — |
Run a governed query against the semantic layer: choose an entity, then the metrics, dimensions and filters you want. Aliases are resolved to physical columns by the registry, so this cannot reach anything the semantic model does not expose. The result includes the generated SQL. Bounded and self-describing. UK only. Costs 50 credits (50p). You are charged if the query re
| Parameter | Type | Required | Notes |
|---|---|---|---|
| entity | string | yes | — |
| select | no | — | |
| metrics | no | — | |
| dimensions | no | — | |
| filters | no | — | |
| period | no | — | |
| joins | no | — | |
| order_by | no | — | |
| limit | integer | no | — |
Hedonic ASKING-PRICE index for one postcode district, local authority or Great Britain, from portal listings (Rightmove ~95%), 2022M01 = 100, with 80% bands and posterior standard errors, smoothed toward the parent geography. Use this for "how have asking prices in W14 moved since 2022" or to see whether sellers are ahead of or behind the sold-price index (market_inde
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_code | string | no | — |
| area_type | string | no | — |
| frequency | string | no | — |
| method | string | no | — |
| start | no | — | |
| end | no | — | |
| limit | integer | no | — |
Hedonic ASKING-RENT index for one postcode district, local authority or Great Britain, from portal lettings, 2022M01 = 100, with bands and SEs. This is the residential rent index; commercial_rent_index_series is the VOA one for commercial property. It is validated every build against the ONS Price Index of Private Rents by local authority and NOT published in a month wher
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_code | string | no | — |
| area_type | string | no | — |
| frequency | string | no | — |
| method | string | no | — |
| start | no | — | |
| end | no | — | |
| limit | integer | no | — |
Monthly 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 pric
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_code | string | no | — |
| area_type | string | no | — |
| channel | string | no | — |
| bedroom_band | string | no | — |
| start | no | — | |
| end | no | — | |
| limit | integer | no | — |
Live 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. The series began 2026-09-05 and grows by one point a day: the portal keeps no exit dates, so stock cannot be reconstructed for the past, only observed forwards. A short se
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area_code | string | no | — |
| area_type | string | no | — |
| channel | string | no | — |
| bedroom_band | string | no | — |
| start | no | — | |
| end | no | — | |
| limit | integer | no | — |
Planning history AT this property: applications linked to the unit or its building — each with decision, dates, appeal, CIL liability, development type and match_level (unit, building, or nearby within 25 m when nothing is linked) — a summary (approved / refused / withdrawn / pending), what needs consent here from the designation flags read three-valued (applies
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
property_planning_history for up to 100 properties in one call, per-item outcomes (ok | no_applications | not_covered | not_found | error) in input order. Charged per property answered — the sum of the single calls, never more; not_covered rows are free. UK only. Costs 5 credits (5p). Keyed on a UPRN, not an address: call address_autocomplete (free) to narrow, then `addres
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprns | array | yes | — |
The 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 y
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | no | — | |
| uarn | no | — |
Build cost for a scheme: the sector's cost index with its 1- and 5-year movement, the regional location factor (region: NATIONAL, LONDON, SOUTH_EAST — an error lists what is loaded), the editorial on-cost percentages (prelims, contingency, overheads & profit, professional fees) and, given gia_m2 and rate_gbp_m2 (your BCIS or in-house base rate, with rate_period in
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sector | string | yes | — |
| region | string | no | — |
| gia_m2 | no | — | |
| basis | string | no | — |
| rate_gbp_m2 | no | — | |
| rate_period | no | — |
The data-coverage register for a local authority — read it before the data: per-field non-null and source shares over every unit in the authority (floor area, bedrooms, year built, EPC, last sale, tenure…), which designation flags were checked and how fully, how many units carry a registered lease or a hereditament, whether official planning data covers the authority and h
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area | string | yes | — |
The nine sourcing strategies as data — read this BEFORE running sourcing_search in strategy mode. Each preset publishes its thesis, its filters (every key overridable, with the default and the unit), its ranking components with weights and scales, the feature columns it reads, the data gaps that limit it, and its version. Pass area as a local-authority GSS code (E0900
| Parameter | Type | Required | Notes |
|---|---|---|---|
| area | no | — |
What is on the market RIGHT NOW in these postcode districts, each listing enriched against our own record of the property: asking price against our valuation (asking_vs_avm_pct, discount_to_avm_gbp), £/m², gross yield on both the asking and valuation bases, unexpired lease years, EPC with its retrofit gap, the designation flags, days listed, the agent, and a plain-lang
| Parameter | Type | Required | Notes |
|---|---|---|---|
| postcode_districts | array | yes | — |
| channel | string | no | — |
| min_price | no | — | |
| max_price | no | — | |
| min_beds | no | — | |
| max_beds | no | — | |
| tenure | no | — | |
| epc_in | no | — | |
| min_gross_yield_pct | no | — | |
| area_geojson | no | — | |
| auction_only | boolean | no | — |
| new_homes | no | — | |
| limit | integer | no | — |
| offset | integer | no | — |
Who owns the stock in an area, ranked as an approach list: units held here, total value and equity, average and longest years held, how many of their units are on a short lease or already on the market, company status, and the signals behind the rank. Pass a strategy to rank the owners of only the units that preset points at — the owners of short-lease flats in a borough
| Parameter | Type | Required | Notes |
|---|---|---|---|
| lad_code | no | — | |
| postcode_district | no | — | |
| strategy | no | — | |
| strategy_overrides | no | — | |
| min_units | integer | no | — |
| limit | integer | no | — |
The parcels adjacent to one parcel and who owns each — the first question of a site assembly. Returns each neighbour with its area, land use, constraints and registered proprietor, plus a combined block: total area in m² and hectares, the number of distinct owners, how many neighbours already share the subject's proprietor (the parcels needing no second negotiation), how
| Parameter | Type | Required | Notes |
|---|---|---|---|
| parcel_id | no | — | |
| inspire_id | no | — | |
| title_number | no | — | |
| uprn | no | — | |
| ring_m | integer | no | — |
| tolerance_m | number | no | — |
| same_owner_only | boolean | no | — |
| limit | integer | no | — |
What happened to applications like this one nearby — the planning precedent record. Give a point (lat/lon) or an lpa_code, optionally narrowed by application_types (substrings of the authority's own type labels, e.g. ["Householder"]). Returns the approval RATE with its denominator, the median days to a decision, a breakdown by application type, and recent examples
| Parameter | Type | Required | Notes |
|---|---|---|---|
| lat | no | — | |
| lon | no | — | |
| radius_m | integer | no | — |
| lpa_code | no | — | |
| application_types | no | — | |
| years | integer | no | — |
| examples | integer | no | — |
The commercial market for a sector and a place: the repeat-sales CAPITAL index, the VOA rating-list RENT index, and the rated stock standing in the authority with its hereditament count, total and median rateable value. THE TWO INDICES ARE NOT COMPARABLE and must never be plotted on one axis or differenced. The capital index is quarterly and THIN — several quarters rest o
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sector | no | — | |
| lad_code | no | — | |
| area_key | no | — |
Rated commercial stock in a local authority, filtered by sector and rateable value — the commercial sourcing lane. Each row carries its rateable value, an income-basis value, the freeholder where a title links, and any auction history. NO £/m² IS PUBLISHED and you should not compute one. The VOA's measured area is not loaded, and dividing a hereditament-level rateable val
| Parameter | Type | Required | Notes |
|---|---|---|---|
| lad_code | string | yes | — |
| sectors | no | — | |
| scat_codes | no | — | |
| min_rv | no | — | |
| max_rv | no | — | |
| with_owner | boolean | no | — |
| single_hereditament | boolean | no | — |
| limit | integer | no | — |
| offset | integer | no | — |
One land parcel in full: its INSPIRE id, title number and OS id, area and land use, the registered proprietor where a title links, the units standing on it, plot utilisation, and every constraint flag. Address it by parcel_id, inspire_id, title_number or uprn — whichever handle you have. Use land_assembly instead when you want the neighbours. CONSTRAINTS AR
| Parameter | Type | Required | Notes |
|---|---|---|---|
| parcel_id | no | — | |
| inspire_id | no | — | |
| title_number | no | — | |
| uprn | no | — |
What 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. THE CURSOR IS AN EVENT ID, not a timestamp. Rows recorded late always take higher ids, so noth
| Parameter | Type | Required | Notes |
|---|---|---|---|
| cursor | no | — | |
| event_types | no | — | |
| postcode_districts | no | — | |
| uprns | no | — | |
| channel | no | — | |
| since | no | — | |
| limit | integer | no | — |
What this property would let for, and on what basis. Always quote the basis: unit_asking is the property's OWN live rental listing (an asking rent, not an achieved one); area_asking is the median asking rent for its bedroom band in its postcode district — a locality statistic applied to one property, so quote the p25–p75 range with it rather than the median alone. `uni
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
| beds | no | — |
The 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. MEES IS A LEGAL BAR, NOT A VALUATION NOTE. An F or G cannot lawfully be let on a new or continuing tenancy in England and Wales without a registered exemption. Report it as a constraint
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
Everything we hold about one property, as one document — summary, the registered lease, the risk report with every flag three-valued, a rental estimate with its basis, the energy picture, and the planning decisions nearby. One price for the composition, cheaper than the sections bought separately. CHECK sections_degraded BEFORE SUMMARISING. A section that could not
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
| include_precedents | boolean | no | — |
The market for one area, as one document: sourcing readiness per strategy from the coverage register, the commercial capital and rent indices with rated stock, the planning decision record for the authority, and the live listing stock. THE TWO SCOPES ARE NOT INTERCHANGEABLE. Readiness, commercial stock and the planning register are keyed on the LOCAL AUTHORITY (lad_code
| Parameter | Type | Required | Notes |
|---|---|---|---|
| lad_code | no | — | |
| postcode_district | no | — | |
| sector | string | no | — |
Photographs, floorplans, EPC graphs and brochures for a property, from the listings we have crawled. Narrow with types — a comma-separated list of image, floorplan, epc, brochure, virtual_tour. EVERY LINK IS OURS AND EVERY LINK EXPIRES. Do not store them; call this again when you need fresh ones, and set ttl_seconds to match how long the surface you are buil
| Parameter | Type | Required | Notes |
|---|---|---|---|
| uprn | integer | yes | — |
| types | no | — | |
| ttl_seconds | integer | no | — |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install MarketCode or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | minimal | capability blast radius (minimal) — client exposure if the model is manipulated | −0 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. minimal is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| entity_search_capabilities | no tags | |
| lookup_entities | no tags | |
| ask_question | no tags | |
| search_entities | no tags | |
| search_summary | no tags | |
| market_profile | no tags | |
| entity_relationships | no tags | |
| actor_network | no tags | |
| actor_path | no tags | |
| address_autocomplete | no tags | |
| address_resolve | no tags | |
| address_by_uprn | no tags | |
| address_by_postcode | no tags | |
| property_lookup | no tags | |
| property_reconcile | no tags | |
| market_facts | no tags | |
| market_ranking | no tags | |
| market_volume_series | no tags | |
| market_index_series | no tags | |
| market_yields | no tags | |
| market_forecast | no tags | |
| supply_demand | no tags | |
| time_adjustment | no tags | |
| commercial_index_series | no tags | |
| commercial_rent_index_series | no tags | |
| market_volume_ranking | no tags | |
| transactions_by_uprn | no tags | |
| property_summary | no tags | |
| property_history | no tags | |
| property_comps | no tags | |
| property_flood_risk | no tags | |
| valuation_estimate | no tags | |
| valuation_full | no tags | |
| property_lease | no tags | |
| property_lease_batch | no tags | |
| property_risk_report | no tags | |
| property_risk_report_batch | no tags | |
| comps_adjustments | no tags | |
| valuation_comparables | no tags | |
| valuation_rent_comparables | no tags | |
| subject_transaction_anchor | no tags | |
| valuation_accuracy | no tags | |
| planning_designations | no tags | |
| planning_check | no tags | |
| planning_applications | no tags | |
| area_resolve | no tags | |
| area_reverse_geocode | no tags | |
| ownership_by_title | no tags | |
| ownership_by_company | no tags | |
| auction_lots | no tags | |
| auction_stats | no tags | |
| distressed_assets | no tags | |
| cost_index | no tags | |
| site_appraisal | no tags | |
| mortgage_rates | no tags | |
| lha_rate | no tags | |
| council_tax_band | untrusted-input | untrusted-input: keyword "crawl" |
| auction_discount | no tags | |
| auction_comps | untrusted-input | untrusted-input: keyword "fetch" |
| epc_certificates | no tags | |
| energy_profile | no tags | |
| retrofit_candidates | no tags | |
| solar_potential | no tags | |
| agent_activity | no tags | |
| listing_history | no tags | |
| equity_estimate | no tags | |
| long_held_high_equity | no tags | |
| owner_profile | no tags | |
| building_physical | no tags | |
| area_stock_profile | no tags | |
| mixed_use_buildings | no tags | |
| plot_utilisation | no tags | |
| h3_density | no tags | |
| sourcing_search | no tags | |
| sourcing_owners | no tags | |
| query_semantic | no tags | |
| asking_price_index_series | no tags | |
| asking_rent_index_series | no tags | |
| listing_market_series | no tags | |
| listing_stock_series | no tags | |
| property_planning_history | no tags | |
| property_planning_history_batch | no tags | |
| commercial_property | no tags | |
| build_cost | no tags | |
| data_coverage | no tags | |
| sourcing_strategies | no tags | |
| sourcing_live_listings | no tags | |
| sourcing_offmarket_owners | no tags | |
| land_assembly | no tags | |
| planning_precedents | no tags | |
| commercial_market | no tags | |
| sourcing_commercial | no tags | |
| parcel_lookup | no tags | |
| changes_since | no tags | |
| property_rental_estimate | no tags | |
| property_energy_retrofit | no tags | |
| property_report | no tags | |
| area_report | no tags | |
| property_media | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish MarketCode can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.