API Reference · Data Bank
Endpoint Reference
All routes below use GET and return JSON. They require authentication and permission for the selected data family and dataset.
Complete Route List
| Route | Purpose | Required query | Optional query |
|---|---|---|---|
/v1/markets/series | Retrieve property-market observations. | dataset, area, dataset selectors | Dates, metrics, release and pagination parameters. |
/v1/rates/series | Retrieve rate observations, curves or scenarios. | dataset, dataset selectors | Dates, metrics, release, applicable nodes/horizons and pagination. |
/v1/markets/coverage | Inspect selected market series without observation payloads. | Same initial selectors as market series. | Same applicable filters except cursor. |
/v1/rates/coverage | Inspect selected rate series without observation payloads. | Same initial selectors as rates series. | Same applicable filters except cursor. |
/v1/markets/datasets | Discover permitted market datasets and selectors. | None | release_id only. |
/v1/rates/datasets | Discover permitted rates datasets and selectors. | None | release_id only. |
/v1/markets/areas | List supported local-authority codes and names. | None | release_id only. |
/v1/markets/releases/current | Read the current market release's identity and status. | None | None. |
/v1/rates/releases/current | Read the current rates release's identity and status. | None | None. |
markets and rates are the only families. There is no /v1/rates/areas endpoint. Dataset names are selectors, not separate URL paths. There is no bulk POST or arbitrary multi-area request in this contract.
Series
Use the Query Parameters reference and individual product pages to construct a request. One market query selects one area and one segment. One rates query selects one dataset and any required product/scenario, optionally narrowing its nodes.
An ordinary initial query requires its selectors. A continuation may contain only cursor, because that token retains the original selection and release.
Coverage
GET /v1/markets/coverage?dataset=rental_market&area=E08000025&property_type=flat&bedroom_group=2
GET /v1/rates/coverage?dataset=ois_spot_curveCoverage returns the common series envelope and selected series metadata without observations. It reports the stored series' availability in the selected release. It does not count observations in a requested date range or guarantee a non-null value at every endpoint.
from, to and page_size are accepted by the shared validator, but coverage is not paginated observation retrieval: dates do not narrow the reported availability range and page_size does not limit the metadata list. Omit them unless reusing a validated selection. cursor is explicitly rejected. next_cursor is null.
For curves, coverage lists the retained dimensions, such as tenor_months. Availability for a node describes its history, not a promise that it exists at the latest snapshot.
Datasets
Each entry contains:
| Field | Meaning |
|---|---|
dataset | Exact query identifier. |
required | Initial-request parameter names that must be supplied. |
optional | Accepted additional parameter names. |
frequency | Native observation frequency. |
metrics | Permitted metric IDs and units. |
default_metrics | Standard selection if metrics is omitted. |
selector_options | Enumerated type, bedroom, band, mortgage, scenario or term choices where applicable. |
requires_metric_selection | Whether the account must choose a subset rather than use the full default. |
history_capability | Retained observations, latest summary per release, or saved snapshot only. |
The catalogue describes supported query categories. Use coverage for a particular area/segment or exact retained maturity. It is not a promise that every legal category has a numeric estimate everywhere.
Areas
The response contains request_id, release_id and areas, a list of { "code": "...", "name": "..." } objects ordered by code. It is not a geometry or postcode-resolution endpoint. The current checked product grid contains 318 England/Wales local authorities; use the selected release's list rather than hard-coding a permanent count.
Current Release
This response contains request_id, family, release_id, status, published_at, created_at and preview_bounds.
published_at is the recorded publication timestamp, not the observation date of every product. It can be null when no publication timestamp is recorded. created_at describes package creation. preview_bounds records any export date limits and may be null or contain null bounds. Use per-series coverage for the dates actually available to query.
Use release_id from this endpoint to identify the package selected by requests that omit an explicit release. Package acceptance alone does not identify which release is current.
The two families have separate release identities. There is no endpoint here listing every historical release, starting a build or promoting a candidate. To request a retained release whose ID you know, use release_id on series, coverage, datasets or areas. Unknown/unavailable IDs return an error rather than falling back to current.