Mortgage Rates API

Access UK mortgage interest rates from the Bank of England, including fixed and variable rates across all LTV bands

REST API
JSON Responses
API Key Authentication
Daily Updates

Overview

The Mortgage Rates API provides access to UK mortgage interest rates sourced from the Bank of England Statistical Interactive Database (IADB). Our data is updated daily and covers fixed, variable, and tracker mortgage rates across various Loan-to-Value (LTV) bands.

This API provides:

  • Current mortgage rates for 2-year, 5-year, and 10-year fixed products
  • Variable rate and base rate tracker data
  • Rates across multiple LTV bands (60%, 75%, 90%, 95%)
  • Historical rate data for trend analysis
  • Daily updated data from official Bank of England sources

Available Rates

  • 2-Year Fixed: 60%, 75%, 90%, 95% LTV
  • 5-Year Fixed: 75%, 95% LTV
  • 10-Year Fixed: 75% LTV
  • Variable: 90% LTV
  • Tracker: Base Rate Tracker
  • SVR: Standard Variable Rate

Key Features

  • Bank of England official data source
  • Daily automated updates
  • Historical data back to 1995
  • Filter by term length and LTV
  • Sub-second response times
  • 1-hour response caching

This API is ideal for:

  • Mortgage comparison platforms
  • Property investment analysis tools
  • Financial planning applications
  • Buy-to-let yield calculators
  • Economic research and reporting

Data Source Notice

All mortgage rate data is sourced from the Bank of England Statistical Interactive Database. Rates shown are market averages and individual lender rates may vary.

Authentication

All requests to the Mortgage Rates API require authentication using an API key. You can obtain your API key from your PropertyInsights dashboard after subscribing to an API plan.

Include your API key in the request header as follows:

X-API-Key: your_api_key_here

Security Warning

Never expose your API key in client-side code. Always make API calls from your server-side application to protect your credentials.

Endpoints

Base URL

https://propertyinsights.co.uk/api/v1/

Get Mortgage Rates

GET
/mortgage-rates

Get current and historical mortgage interest rates. Returns the latest rates and historical data with optional filtering by term length and LTV band.

Request Parameters

GET /mortgage-rates

Query parameters for filtering mortgage rate data.

ParameterRequiredTypeDescription
termOptionalStringFilter by term: "2year", "5year", "10year", or "all" (default)
ltvOptionalStringFilter by LTV: "60", "75", "90", "95", or "all" (default)
startDateOptionalStringStart date for historical data (YYYY-MM-DD format)
endDateOptionalStringEnd date for historical data (YYYY-MM-DD format)
limitOptionalIntegerMaximum records to return (default: 100, max: 500)

Billing details in the response

Successful chargeable JSON responses include a top-level billing object. The endpoint examples on this page focus on the endpoint-specific data, so this repeated block may not be shown in every example.

"billing": {
  "mode": "prepaid",
  "creditsCharged": 1,
  "creditsRemaining": 1999,
  "creditsRefreshAt": "2026-08-14T09:30:00.000Z"
}
Field or headerMeaning
billing.creditsCharged
X-Credits-Charged
Credits charged by this call. Failed and non-chargeable calls return 0 in the header.
billing.creditsRemaining
X-Credits-Remaining
The credit balance after the call.
billing.creditsRefreshAt
X-Credits-Refresh-At
The next monthly credit refresh as an ISO 8601 timestamp. Trial and non-renewing balances return null and omit the header.

All authenticated API-key calls expose the billing headers, including validation errors and zero-credit status or management requests. Only successful chargeable JSON responses add the billing object to the response body.

Response Format

All API responses are returned in JSON format. The response includes current rates and historical data.

{
  "success": true,
  "current": {
    "IUMBV34": {
      "rate": 5.47,
      "term": "2year",
      "ltv": "75",
      "type": "fixed",
      "label": "2-Year Fixed 75% LTV"
    }
  },
  "historical": [
    { "date": "2024-01-15", "IUMBV34": 5.47 },
    { "date": "2024-01-08", "IUMBV34": 5.52 }
  ]
}

Response Fields

FieldTypeDescription
currentObjectLatest rates keyed by BoE series code
historicalArrayHistorical rate records ordered by date descending

Examples

Example 1: Get All Current Rates

GET https://propertyinsights.co.uk/api/v1/mortgage-rates?limit=1
X-API-Key: your_api_key_here

Returns all current mortgage rates with a single historical record

Example 2: Filter by Term and LTV

GET https://propertyinsights.co.uk/api/v1/mortgage-rates?term=2year<v=75&limit=12
X-API-Key: your_api_key_here

Returns only 2-year fixed 75% LTV rates for the last 12 weeks

Example 3: Historical Data Range

GET https://propertyinsights.co.uk/api/v1/mortgage-rates?startDate=2023-01-01&endDate=2023-12-31
X-API-Key: your_api_key_here

Returns all mortgage rate data for the year 2023

Bank of England Series Codes

The API returns mortgage rates using Bank of England series codes. Here's the mapping:

Series CodeTermLTVTypeDescription
IUM2WTL2 Year95%Fixed2-Year Fixed 95% LTV
IUMB4792 Year90%Variable2-Year Variable 90% LTV
IUMB4822 Year90%Fixed2-Year Fixed 90% LTV
IUMBV342 Year75%Fixed2-Year Fixed 75% LTV
IUMZICQ2 Year60%Fixed2-Year Fixed 60% LTV
IUM5WTL5 Year95%Fixed5-Year Fixed 95% LTV
IUMBV425 Year75%Fixed5-Year Fixed 75% LTV
IUMBV4510 Year75%Fixed10-Year Fixed 75% LTV
CFMZ6IYTrackerAllTrackerBase Rate Tracker
CFMZ6IXVariableAllVariableStandard Variable Rate

Error Handling

The API uses standard HTTP response codes and returns detailed error information in JSON format. All errors follow a consistent structure to help you handle them appropriately in your application.

HTTP CodeError CodeDescription
400INVALID_TERMTerm must be "2year", "5year", "10year", or "all"
400INVALID_LTVLTV must be "60", "75", "90", "95", or "all"
400INVALID_DATE_FORMATDate must be in YYYY-MM-DD format
400INVALID_LIMITLimit must be between 1 and 500
404NO_DATA_FOUNDNo mortgage rate data found for the specified filters
401AUTHENTICATION_REQUIREDValid API key is required
402INSUFFICIENT_CREDITSNot enough API credits remaining to perform operation
500DATABASE_ERRORError accessing database - please try again
500INTERNAL_SERVER_ERRORAn unexpected error occurred

Error Response Format

{
  "success": false,
  "error": {
    "code": "NO_DATA_FOUND",
    "message": "No mortgage rate data found for the specified filters"
  }
}

Need Help?

If you need assistance with implementation or have questions about the Mortgage Rates API, our support team is here to help.