Check a title deed before you buy it, and read why a purchase was refused
Three free reads on title deeds: whether a title can be bought, what is pending against it, and what your account has already been charged for it.
Changelog
Every change to the Vepler API, in plain language, release by release. New endpoints, improvements, fixes and deprecations.
Subscribe via RSSThree free reads on title deeds: whether a title can be bought, what is pending against it, and what your account has already been charged for it.
meesCompliance gains not_applicable for Scottish certificates and DECs, and address resolve recommends intervention when a sub-building disagrees.
A purchase that HM Land Registry delivers out of band answers 202, and money_state on each money-bearing response says whether credits were taken.
Market status, time on market and lettings price history are built from each advert's own status history, so an agreed sale keeps its price detail.
Address resolve and cleanse hold a postcode disagreement or an unconfirmed flat back for review, so a flat-level input is not auto-accepted against a building-level record.
Every parameter and operation in the API reference is documented for integrators, nine more sections say what they cover, and the property attribute catalogue defines its own fields.
A property query returns up to 10,000 properties in one page, map tiles encode the address fields you ask for, and address suggestions rank around a supplied point.
Census area profiles resolve Scottish geography codes, aggregated crime metrics document their England-only coverage, and listings pin to a dwelling only when the evidence uniquely identifies it.
PAYG customers can request a VAT invoice for a credit top-up self-serve, leasehold titles extract in full without a stated lease term, and every interactive reference example now runs.
Every request body the API reference generates is runnable, leasehold registers with no stated lease term return a complete extraction, and listing location links are re-checked on each run.
Property responses break the address into line_1, line_2, line_3 and post_town, those lines are filterable in property query, and the portal shows per-line-item pricing with your effective rate.
Organisations holding a bulk data licence can now browse and download their licensed datasets directly from a new Downloads section in the portal.
Property query accepts 144 dotted-path filters generated from the live index mapping, marketStatus filter aliases work directly, and area geometry is documented in GeoJSON order with a clear 400.
GET /v1/property/attributes returns every attribute path with its billing tier, live credit price and required permissions, plus the filter and sort whitelists. The dashboard adds a query builder.
With no attributes parameter, property endpoints return locationId, propertyId, slug and address only. Name the blocks you need explicitly; the payload, the tier and the charge then always agree.
The portal's Request Explorer now shows the list-price value a licence absorbed on covered requests, and folds each search typing chain into one row with its settlement.
Every search session settles one flat credit with nothing to complete client-side, messy pasted addresses recover, and AVM valuations and postcode lookups are now priced.
Every endpoint that supports field selection now describes each response field as optional at every nesting level, so any subset of fields you request validates against the published spec.
@vepler/sdk 3.0.0 adds typed clients for heritage, conservation and land constraint designations, school admission areas and search retrieve, plus a new search guide.
Search suggest serves a free candidate set with a search_id, full records come from a charged retrieve step, and responses carry credit headers, rate limits and spend caps.
Property responses carry an explicit countryCode, the address country as a UK nation, the identity scheme behind locationId, and slots for UPRN and Eircode, ready for UK and Ireland.
Search suggest can now return one result per named street, with a representative coordinate, USRN, bounding box and property count, via a new granularity parameter.
The automated valuation model values more property types by location, and returns a specific 400 or 422 when a property genuinely cannot be valued automatically.
Polling a purchased title deed now returns a structured register body: proprietors, charges, restrictions, covenants, notices, class of title and correctly decoded tenure.
New heritage, conservation and land-constraint designation endpoints let you query designations by area, and property responses can now carry heritage and conservation assessments.
The buildings by-point endpoint resolves the building footprints that contain a coordinate, returning them as a standard list response.
A new endpoint returns a school's catchment boundary and indicative last-admitted distance as GeoJSON, and property queries can now filter to the units within a building.
The property vector-tiles endpoint gains a density mode that returns an untruncated per-cell count and average-price grid, and orders individual features by price for stable tiles.
Metric sub-aggregations nested under a bucket on the same sale-history or listings path now return their computed values on the property aggregate endpoint.
The property query, aggregate and tiles endpoints gain two price-reduction filters, and aggregate now returns a 400 when a query names a field it does not support.
POST /v1/flood-risk/point now returns the England Flood Map for Planning zone and NPPF defaults, and POST /v1/property/aggregate exposes its valid field values as a typed enum.
POST /v1/flood-risk/point now reports points outside the modelled flood extents as no modelled risk, out of coverage, or not assessed, rather than one ambiguous value.
POST /v1/flood-risk/point now returns nearby engineered flood defences (type, distance, condition and standard of protection), plus any defended area containing the point.
A new optional addressable_only parameter on search suggest restricts address results to current, addressable properties, excluding historical and superseded records.
A new coordinate flood-risk endpoint returns per-point risk bands and an overall assessment, and schools aggregate blocks now add to the full default record.
The single-school endpoint gains opt-in inspection, identifier and trust blocks, and property search adds verified EPC rating, certificate and fabric filters.
The planning API can now return an application's image gallery, directly-renderable document files and extracted text, and processing insight — all through new opt-in include options.
More planning applications now carry a site point, so spatial search finds them and returns distances, and decision dates are available to filter and sort on across the planning endpoints.
Search suggest can now bias or restrict autocomplete to a centre point — pass lat and lng, then choose a soft proximity preference or a hard radius cutoff. Each result returns its distance.
Census flat-file endpoints for tiles, whole-country values and ckmeans breaks now bind the category path parameter correctly and accept requests instead of returning 400.
The categoryCode segment on the census CSV and JSON flat-file endpoints was read as empty when the .csv or .json suffix was present, returning a 400; it now resolves correctly.
Census CSV tile and whole-level endpoints now return 404 for an unknown category or a geotype the category is not served at, instead of an ambiguous empty 200.
The census catalogue and variable endpoints now list only topics that are actually served, report geography levels from real coverage, and tag every variable with a normalised theme.
England & Wales census datasets now serve coarse geography levels (msoa, lad, region, country) across the tile, whole-country and breaks endpoints, not just lsoa.
Planning applications from more local authorities now return site coordinates, boundaries and case details. Census ratios for Scotland geographies are now computed against the correct denominator.
Inside the Greater London LAEI extent, the air-quality point endpoint now resolves NO2, PM10 and PM2.5 from a 20m modelled annual-mean surface instead of the 1km cell plus decay overlay.
The computedAt field on the Prosperity Index endpoint now returns a strict ISO 8601 UTC timestamp, so it passes datetime validation and deserialises cleanly in the SDKs.
New endpoint returns the Vepler Prosperity Index by small-area code, with deciles, dimensions and per-indicator sources. The embedded prosperity object is removed from property responses.
New /v1/census product for UK census demographics — datasets, variables, area profiles, custom-area rollups and ONS-format choropleth tiles. Property prosperity scores gain indicators and a classification.
Planning query now supports a near filter to retrieve applications within a metre radius of a point, returned closest-first with a distance field on each result.
New property transactions endpoints, opt-in structured planning extractions via the include parameter, and added air-quality fields for the nearest monitoring station and regulatory-zone charges.
Advanced listing search now returns a canonical tenure.type enum normalised from the raw feed, plus a new tenure.typeRaw field holding the original source string.
New POST /v1/listings/query/advanced endpoint searches aggregated property listings with geographic area filters, a structured field query, sorting, pagination and sparse fieldsets.
Listings whose source data repeated a structured feature key could fail to refresh, leaving stale or missing data. These listings now refresh correctly and return current features.
New air-quality point endpoint with property-decay overlay, a reworked air-quality query contract (0-100 score, renamed attributes), new schools reference endpoints, and a consistent v2 list envelope on safety routes.
New air-quality query endpoint, expanded safety crime/catalog/geography endpoints, and field-level access control on the buildings API that gates source and structural attributes behind permissions.
New Buildings product exposes building footprints, structure, construction, roof and basement data with lookup, search, batch, spatial and aggregation endpoints.
The Schools API moves to a provider-keyed, query-body shape and gains catchment: per-school polygons, nationwide coverage, and catchment-enriched school queries by UPRN or point.
The areas-within endpoint now returns the documented success/result envelope, with each area's GSS code in the code field instead of id.
Planning applications can now return citation-backed structured extractions via include=extractions. Document type is split into category and detailed sub-type, and address geography now carries the Local Planning Authority.
Added async title deed purchase plus an extraction polling endpoint. Removed the planning policy search endpoint.
The detailed valuation analysis response now exposes per-comparable hedonic adjustments, RICS-aligned confidence decomposition, and price spread reliability metrics.
Compound location queries on the suggest endpoint now boost the specific place name over generic qualifiers like "city centre" or "north", improving result ordering.