Financial Literature

Bank of England

Bank of England Database — Bank Rate since 1694, gilt yields, sterling and UK money and credit — as CSV by series code

For UK monetary and financial series — Bank Rate, the sterling ERI, gilt yields, mortgage rates, M4, lending — from the institution that sets or compiles them. The Interactive Database exports any series to CSV once you know its code.

ratesmacrofxmoneyUnited Kingdom
Asset classesrates · macro · fx · money
Frequencydaily → annual
History1975 → today
Limit · costNo key · CSV per query, browser export for bulk
KeyNo key
Formats · pull withcsv · browser — python, excel, browser
LicenceOpen Government Licence v3: free to use and redistribute with attribution.
RedistributeWith attribution; check series notes
Best for“Bank Rate history and the current level” · “Sterling effective rate and gilt yields from the Bank”
When to use it

Reach for it when…

For UK monetary and financial series — Bank Rate, the sterling ERI, gilt yields, mortgage rates, M4, lending — from the institution that sets or compiles them. The Interactive Database exports any series to CSV once you know its code.

Not for: UK CPI, GDP and jobs (the Office for National Statistics), intraday gilt prices, EU comparisons (ECB, Eurostat).

How to read it

Units, revisions, traps

Units. Rates in percent; ERI as an index (2005 = 100); money and credit in £ millions. Daily series are business days.

Revisions. Money and credit are revised monthly; rates are not.

  • The CSV endpoint is /boeapps/iadb/fromshowcolumns.asp and needs every parameter (Datefrom, Dateto, SeriesCodes, CSVF, UsingCodes, VPD, VFD) — a missing one, or the /database/ path, returns the HTML page instead.
  • Dates are DD/Mon/YYYY in the query and the output.
  • Codes are opaque (IUDBEDR = Bank Rate); find them in the Interactive Database first.
  • A generic script user-agent gets 403 from the CSV endpoint; send one that names you.

Classic mistake: Reading the sterling ERI as a price of the pound in dollars.

How to use it in your own work

Three recipes

Each recipe: Python · Excel · Sheets, with how to read the result. Python recipes run under pandas; recipe 1 is re-run by the weekly check where the source allows it.

How to use it in your own work

Copy the snippet, change the series id, read the result the way the footer says. Replace YOUR_…_KEY with your own key where one is needed.

Recipe 1Bank Rate history as CSV

# official Bank Rate, daily (steps), since 2010
import requests, pandas as pd, io
H = {"User-Agent": "Your Name [email protected]"}   # identify yourself; generic script user-agents are refused
u = ("https://www.bankofengland.co.uk/boeapps/iadb/fromshowcolumns.asp?csv.x=yes&Datefrom=01/Jan/2010&Dateto=now"
     "&SeriesCodes=IUDBEDR&CSVF=TN&UsingCodes=Y&VPD=Y&VFD=N")
df = pd.read_csv(io.StringIO(requests.get(u, headers=H, timeout=30).text))
s = df.set_index(pd.to_datetime(df.DATE, format="%d %b %Y"))["IUDBEDR"]
print(s.drop_duplicates().tail(8))    # only the changes
How to read the resultA step series: it only changes on MPC decision days (eight a year). The current level is the last row.

Recipe 2Sterling effective exchange rate

import requests, pandas as pd, io
H = {"User-Agent": "Your Name [email protected]"}   # identify yourself; generic script user-agents are refused
u = ("https://www.bankofengland.co.uk/boeapps/iadb/fromshowcolumns.asp?csv.x=yes&Datefrom=01/Jan/2015&Dateto=now"
     "&SeriesCodes=XUDLBK67&CSVF=TN&UsingCodes=Y&VPD=Y&VFD=N")
df = pd.read_csv(io.StringIO(requests.get(u, headers=H, timeout=30).text))
print(df.tail())
How to read the resultAn index against a basket, not a price. The 2016 drop and the 2022 low are the reference points.

Recipe 3Browser export for bulk series

# after exporting from the Interactive Database (Excel/CSV), read the file
import pandas as pd
df = pd.read_csv("BoE-Database_export.csv", skiprows=0)
print(df.head())
How to read the resultThe export includes a metadata block above the table; trim it before charting.

Series → question map

The ids we use from Bank of England Database, each with the question it answers. The catalog's compare view reads the concept tags behind these rows.

SeriesAnswersRegionConcept
IUDBEDRWhat is Bank Rate?United Kingdompolicy_rate
XUDLBK67Is sterling strong or weak? (effective rate)United Kingdomfx_effective
IUDMNZCWhere is the 10-year gilt yield?United Kingdomyield_10y
LPMVWYRIs M4 money growing?United Kingdommoney_supply
XUDLUSSDollars per pound, dailyUnited Kingdomfx_usd

Compare with

Same question, different source: ECB Data Portal, FRED, BIS Data Portal. The compare view lines up coverage, frequency, history and access side by side and lists what the combination makes possible.

Open compare: Bank of England Database · ECB Data Portal · FRED →

Questions readers ask

Is the Bank of England database free?

Yes, under the Open Government Licence. No key.

Why do I get an HTML page instead of CSV?

A missing query parameter. The URL in recipe 1 has the full set; change only the codes and dates.

Where is UK CPI?

At the Office for National Statistics (ons.gov.uk), not the Bank. FRED mirrors the headline as GBRCPIALLMINMEI.

From the paper

Educational only — we explain, we never advise · snippet licence: public domain · corrections to [email protected], fixed within a day and logged in the changelog.