Bank Rates API

Access the Bank of England Official Bank Rate - the UK's key interest rate that influences borrowing and saving rates

REST API
JSON Responses
API Key Authentication
Daily Updates

Overview

The Bank Rates API provides access to the Bank of England Official Bank Rate (also known as the Base Rate), sourced directly from the Bank of England Statistical Interactive Database (IADB). This is the single most important interest rate in the UK economy.

This API provides:

  • Current Bank of England Official Bank Rate
  • Complete rate change history back to 1975
  • Each record shows the date a rate change took effect
  • Daily automated updates from official BoE sources

What is the Bank Rate?

The Bank Rate is set by the Bank of England's Monetary Policy Committee (MPC). It influences all other interest rates in the economy, including mortgage rates, savings rates, and loan rates. When the Bank Rate changes, banks typically adjust their rates accordingly.

Key Features

  • Official Bank of England data source
  • Daily automated updates
  • Historical data back to 1975
  • Rate change filtering
  • Sub-second response times
  • 1-hour response caching

This API is ideal for:

  • Financial applications and dashboards
  • Mortgage calculators
  • Economic analysis tools
  • Property investment platforms
  • Savings comparison services

Data Source Notice

All bank rate data is sourced from the Bank of England Statistical Interactive Database (Series Code: IUDBEDR). Data is updated daily when markets are open.

Authentication

All requests to the Bank 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 Bank Rates

GET
/bank-rates

Get current and historical Bank of England Official Bank Rate data. Returns the latest rate, metadata, and historical data with optional filtering.

Request Parameters

GET /bank-rates

Query parameters for filtering bank rate data.

ParameterRequiredTypeDescription
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 the current rate and a list of rate changes. Each record represents a date when the rate changed to a new value - the rate remains in effect until the next change date.

{
  "success": true,
  "current": {
    "rate": 3.75,
    "effectiveFrom": "2025-12-18",
    "label": "Bank of England Official Bank Rate"
  },
  "rateChanges": [
    { "date": "2025-12-18", "rate": 3.75 },
    { "date": "2025-11-06", "rate": 4.0 },
    { "date": "2025-09-17", "rate": 4.25 },
    { "date": "2025-08-06", "rate": 4.5 }
  ]
}

Response Fields

FieldTypeDescription
current.rateNumberCurrent bank rate as a percentage
current.effectiveFromStringDate the current rate took effect (YYYY-MM-DD)
rateChangesArrayRate change records - each shows when a new rate took effect

Examples

Example 1: Get Current Bank Rate

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

Returns the current bank rate with the date it took effect

Example 2: Get Recent Rate Changes

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

Returns the 20 most recent rate changes

Example 3: Rate Changes in Date Range

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

Returns all bank rate changes between 2020 and 2023

Example 4: Full Rate History

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

Returns up to 500 rate changes (covers most of the history back to 1975)

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_DATE_FORMATDate must be in YYYY-MM-DD format
400INVALID_LIMITLimit must be between 1 and 500
404NO_DATA_FOUNDNo bank rate data found for the specified date range
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 bank rate data found for the specified date range"
  }
}

Need Help?

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