Rates & Financing · Data Bank
Mortgage Benchmarks and Spreads
Mortgage products use monthly observation filters (YYYY-MM). These are aggregate quoted-rate references and derived comparisons, not personalised offers, lending decisions, APRs or a complete measure of borrowing costs.
Supported Mortgage Products
Use one exact mortgage_product ID. Do not construct an arbitrary combination of borrower type, term and LTV.
| ID | Borrower/product | Term label | LTV |
|---|---|---|---|
owner_occupied_fixed_2y_60ltv | Owner-occupied fixed | 2 years | 60% |
owner_occupied_fixed_2y_75ltv | Owner-occupied fixed | 2 years | 75% |
owner_occupied_fixed_2y_85ltv | Owner-occupied fixed | 2 years | 85% |
owner_occupied_fixed_2y_90ltv | Owner-occupied fixed | 2 years | 90% |
owner_occupied_fixed_2y_95ltv | Owner-occupied fixed | 2 years | 95% |
owner_occupied_fixed_3y_75ltv | Owner-occupied fixed | 3 years | 75% |
owner_occupied_fixed_5y_60ltv | Owner-occupied fixed | 5 years | 60% |
owner_occupied_fixed_5y_75ltv | Owner-occupied fixed | 5 years | 75% |
owner_occupied_fixed_5y_90ltv | Owner-occupied fixed | 5 years | 90% |
owner_occupied_fixed_10y_75ltv | Owner-occupied fixed | 10 years | 75% |
owner_occupied_variable_2y_75ltv | Owner-occupied variable | 2-year product label, not a fixed rate | 75% |
mortgage_reversion | Mortgage reversion benchmark | No fixed term | Not a selectable LTV |
btl_fixed_2y_60ltv | Buy-to-let fixed | 2 years | 60% |
btl_fixed_2y_75ltv | Buy-to-let fixed | 2 years | 75% |
btl_fixed_5y_60ltv | Buy-to-let fixed | 5 years | 60% |
btl_fixed_5y_75ltv | Buy-to-let fixed | 5 years | 75% |
All 16 are supported by the benchmark contract. Only the 14 fixed products are accepted for mortgage-to-swap spreads and spread summaries. There is no generic ltv parameter. Supported product IDs do not guarantee that every product has an observation in every historical month.
Quoted Mortgage Rate Benchmarks
Dataset: mortgage_benchmarks. Required: dataset, mortgage_product. Metric: rate_pct, unit percent, basis observed.
GET /v1/rates/series?dataset=mortgage_benchmarks&mortgage_product=btl_fixed_2y_75ltv&from=2025-01&to=2026-08The value represents the published aggregate benchmark for that product/month. A 75% LTV label does not assess a particular borrower's eligibility. It does not include every fee, incentive, affordability condition or lender-specific term.
Mortgage observations update monthly even if the rates service checks sources more frequently. Use the returned period rather than today's date when describing recency.
Mortgage-to-Swap Rate Spread
Dataset: mortgage_swap_spread. Required: dataset, a fixed mortgage_product. Metric: spread_bp, unit basis_points, basis derived.
GET /v1/rates/series?dataset=mortgage_swap_spread&mortgage_product=owner_occupied_fixed_5y_75ltvThe spread compares the quoted fixed mortgage benchmark with its matched swap-equivalent reference. In percentage-unit terms, (mortgage rate - reference rate) × 100 gives basis points. A difference of 0.75 percentage points is 75bp.
The response can include reference_basis and matched_swap_as_of_date. A monthly mortgage observation and a market rate are not automatically synchronous; retain the stated reference basis rather than comparing the monthly figure with an unrelated latest daily quote.
The spread is not lender profit, a guaranteed credit margin, or a measure of all origination and hedging costs. Negative historical spreads can be legitimate because products, timing and reference conventions differ. Do not replace them with zero in historical charts.
Mortgage Reversion Spread to Bank Rate
Dataset: mortgage_reversion_spread. Required: dataset only. Metric: spread_bp, unit basis_points, basis derived.
GET /v1/rates/series?dataset=mortgage_reversion_spread&from=2025-01&to=2026-08The difference between the reversion-rate benchmark and its Bank Rate reference. This is not a contractual margin for a specific mortgage and does not guarantee how a lender will price a future reversion rate.
Do not supply mortgage_product: this dataset already represents the specified reversion benchmark, rather than an arbitrary fixed-product spread.
Mortgage-to-Swap Spread History and Averages
Dataset: mortgage_spread_summary. Required: dataset, a fixed mortgage_product.
GET /v1/rates/series?dataset=mortgage_spread_summary&mortgage_product=btl_fixed_2y_75ltv| Metric | Meaning | Unit |
|---|---|---|
latest_spread_bp | Latest supported spread in the summary. | basis_points |
mean_spread_bp | Arithmetic mean over the summary's input observations. | basis_points |
median_spread_bp | Median over the summary's input observations. | basis_points |
Basis: derived. The summary uses up to 12 recent matched observations, with the input count/date supplied where available. Its period is the final input month, not the package creation month. Do not assume a count of 12 where less usable history exists.
Despite the product's reference to history, the current API package holds a latest saved summary per release, not a separate rolling summary for every past month. For the underlying monthly spread history use mortgage_swap_spread. Requesting an earlier mortgage_spread_summary period does not recalculate a historical summary or reuse today's summary at an earlier date.
Shared Options
All four datasets accept common from, to, metrics, release_id and page_size, plus continuation. None accepts area, property type, tenor or scenario. To analyse future financing assumptions, use the separate scenario datasets.