303,525 datasets indexed1,419 publishers
Open Data IndexThe index of open data about the Netherlands
Open Data Index›Build›Monitor for inflation, mortgage rates and savings rates
DashboardGetting startedFinanceEconomy

Monitor for inflation, mortgage rates and savings rates

One dashboard that shows every month how fast prices rise, what a new mortgage costs and what savings earn, in the Netherlands and the euro area.

Your AI assistantOpen Data Index MCP on
The Open Data Index MCP server is on in your chat, so the assistant reads this project and its sources itself.
You paste this project's prompt
The assistant fetches from Open Data Index
  • geef_project("inflatie-rente-monitor")
  • geef_bron("ecb-data")
  • geef_bron("cbs-statline")
  • geef_bron("eurostat")
The assistant

I have the project, the tested calls and the pitfalls. I'll build a dashboard with ECB Data Portal, CBS StatLine and Eurostat. This is how it could look:

You build this yourself. Copy the prompt into Claude, ChatGPT or Cursor, with the MCP server on, or follow the steps below.

Follow the steps
Fri 16 Oct
InflationSeptember 2026
3.0%Netherlands, HICP
CBS CPI 3.4%
NLeuro area20th of 27 in the EU
MortgageAug
3.91%
new loans
euro area 3.60%
SavingsAug
1.29%
savings account
−1.51after inflation (2.8%)
Savings vs inflationsince 2021
21
22
23
24
25
26
64 of 68 months below inflation
belowabovepeak 17.1%not yet out
Mockup

This is a mockup, not a working version, with the figures from our test run on 16 October 2026 (ECB, CBS and Eurostat; inflation up to September, interest rates up to August 2026). Turn the MCP server on with the address on For AI.

Who it's for

Home buyers, savers, financial journalists, economics teachers and anyone who wants to know whether their savings keep up with inflation.

What you get

A page with three lines per area (inflation, mortgage rate, savings rate) for the Netherlands and the euro area, plus the gap between the savings rate and inflation. In the test run on 16 October 2026, inflation in September 2026 was 3.0% in the Netherlands (HICP) and 3.4% (CBS CPI), and 3.8% in the euro area. The rate on new mortgages was 3.91% in the Netherlands and 3.60% in the euro area in August 2026; the rate on savings redeemable at notice 1.29%. In 64 of the 68 months since January 2021 the Dutch savings rate was below inflation. Only from September to December 2023 did saving pay in real terms, when lower energy prices briefly pushed inflation below zero (October 2023: -1.0%). The peak: 17.1% inflation in September 2022, against 9.9% in the euro area. Among EU countries the Netherlands ranked 20th of 27 in September 2026 (1 = highest inflation); Romania had 6.5%, Sweden 1.0%.

Inflation in the Netherlands: 3.0 percent in September 2026, 0.8 percentage points lower than in the euro area (3.8 percent)

Inflation in the Netherlands and the euro area (HICP, ECB Data Portal), January 2015 – September 2026, in percent. The highest point was September 2022 (17.1).

Source: Europese Centrale Bank, ECB Data Portal (HICP, cijfers van Eurostat) · opgehaald 25 oktober 2026 · selection: HICP totaal, jaar-op-jaarverandering (ANR), niet seizoengecorrigeerd; eurozone = U2 (wisselende samenstelling)Open the table Single block

How you could start5 steps

  1. 1

    Fetch inflation from the ECB, the Netherlands and the euro area in one call

    Dataflow HICP, key M.NL+U2.N.000000.4D0.ANR: monthly (M), the Netherlands plus euro area (U2), not seasonally adjusted (N), all items (000000), provided by Eurostat (4D0), annual rate (ANR). Use + to ask for several codes within one dimension. Use the HICP dataflow, not the old ICP one: it stopped in December 2025. Always set your own User-Agent: the ECB robots.txt disallows the user agents curl, Wget, python-requests and axios.

    https://data-api.ecb.europa.eu/service/data/HICP/M.NL+U2.N.000000.4D0.ANR?lastNObservations=3&format=csvdata&detail=dataonly
    KEY,FREQ,REF_AREA,ADJUSTMENT,ICP_ITEM,DATA_PROVIDER,ICP_SUFFIX,TIME_PERIOD,OBS_VALUE
    HICP.M.NL.N.000000.4D0.ANR,M,NL,N,000000,4D0,ANR,2026-07,3
    HICP.M.NL.N.000000.4D0.ANR,M,NL,N,000000,4D0,ANR,2026-08,2.8
    HICP.M.NL.N.000000.4D0.ANR,M,NL,N,000000,4D0,ANR,2026-09,3
    HICP.M.U2.N.000000.4D0.ANR,M,U2,N,000000,4D0,ANR,2026-07,2.9
    HICP.M.U2.N.000000.4D0.ANR,M,U2,N,000000,4D0,ANR,2026-08,3.2
    HICP.M.U2.N.000000.4D0.ANR,M,U2,N,000000,4D0,ANR,2026-09,3.8
  2. 2

    Fetch mortgage and savings rates from the MIR series

    In the MIR dataflow (bank interest rates), A2C is lending for house purchase and L23 savings redeemable at notice, what most people call a savings account (L21 is the current account, L22 a fixed-term deposit). Maturity AM is the 'cost of borrowing', weighted over all fixation periods; A is the simple total. The last field N means new business. You may use + in several dimensions at once: you then get every combination that exists (L23 has no AM, so it drops out). The rates run one month behind inflation.

    https://data-api.ecb.europa.eu/service/data/MIR/M.NL+U2.B.A2C+L23.AM+A.R.A.2250.EUR.N?lastNObservations=2&format=csvdata&detail=dataonly
    KEY,FREQ,REF_AREA,BS_REP_SECTOR,BS_ITEM,MATURITY_NOT_IRATE,DATA_TYPE_MIR,AMOUNT_CAT,BS_COUNT_SECTOR,CURRENCY_TRANS,IR_BUS_COV,TIME_PERIOD,OBS_VALUE
    MIR.M.NL.B.A2C.A.R.A.2250.EUR.N,M,NL,B,A2C,A,R,A,2250,EUR,N,2026-07,3.87
    MIR.M.NL.B.A2C.A.R.A.2250.EUR.N,M,NL,B,A2C,A,R,A,2250,EUR,N,2026-08,3.94
    MIR.M.NL.B.A2C.AM.R.A.2250.EUR.N,M,NL,B,A2C,AM,R,A,2250,EUR,N,2026-07,3.85
    MIR.M.NL.B.A2C.AM.R.A.2250.EUR.N,M,NL,B,A2C,AM,R,A,2250,EUR,N,2026-08,3.91
    MIR.M.NL.B.L23.A.R.A.2250.EUR.N,M,NL,B,L23,A,R,A,2250,EUR,N,2026-07,1.27
    MIR.M.NL.B.L23.A.R.A.2250.EUR.N,M,NL,B,L23,A,R,A,2250,EUR,N,2026-08,1.29
    …
    MIR.M.U2.B.A2C.AM.R.A.2250.EUR.N,M,U2,B,A2C,AM,R,A,2250,EUR,N,2026-08,3.6
    MIR.M.U2.B.L23.A.R.A.2250.EUR.N,M,U2,B,L23,A,R,A,2250,EUR,N,2026-08,1.28
  3. 3

    Add the CBS consumer price index

    Dutch inflation in the news usually comes from CBS (CPI), not from the HICP. Table 86141NED (CPI 2025=100), column JaarmutatieCPI_5. The key for all items is 'T001112 ' with two trailing spaces; without them you get an empty list and no error. In September 2026 the CPI was 3.4% and the HICP 3.0%: the CPI includes, among other things, owner-occupied housing costs. On the evening of 16 October 2026 opendata.cbs.nl returned 'Service Unavailable' for an hour; the newer OData 4 service datasets.cbs.nl/odata/v1/CBS/86141NED still worked (fields Measure M000238, Bestedingscategorieen, Perioden).

    https://opendata.cbs.nl/ODataApi/OData/86141NED/TypedDataSet?$filter=Bestedingscategorieen eq 'T001112  ' and Perioden ge '2026MM06'&$select=Perioden,JaarmutatieCPI_5&$format=json
    {
      "odata.metadata":"https://opendata.cbs.nl/ODataApi/OData/86141NED/$metadata#Cbs.OData.WebAPI.TypedDataSet&$select=Perioden,JaarmutatieCPI_5","value":[
        {"Perioden":"2026MM06","JaarmutatieCPI_5":2.9},
        {"Perioden":"2026MM07","JaarmutatieCPI_5":3.2},
        {"Perioden":"2026MM08","JaarmutatieCPI_5":3.3},
        {"Perioden":"2026MM09","JaarmutatieCPI_5":3.4}
      ]
    }
  4. 4

    Compare with all EU countries through Eurostat

    The ECB only has euro countries; Eurostat has all 27 EU countries, including Sweden, Poland and Hungary. Use table prc_hicp_minr (ECOICOP version 2, dimension coicop18, unit RCH_A). The well-known table prc_hicp_manr stops at December 2025 (updated 6 February 2026) and so has no 2026. Note: EA is the euro area in changing composition, since 2026 with 21 countries (Bulgaria joined).

    https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_hicp_minr?geo=NL&geo=EA&geo=EU27_2020&unit=RCH_A&coicop18=TOTAL&lastTimePeriod=3&format=JSON
    {"label":"Harmonised index of consumer prices (HICP) - ECOICOP ver.2 - indices and rates of change, monthly data",
     "updated":"2026-10-16T23:00:00+0200",
     "id":["freq","unit","coicop18","geo","time"],"size":[1,1,1,3,3],
     "value":{"0":3,"1":3.2,"2":3.8,"3":2.9,"4":3.2,"5":3.8,"6":3,"7":2.8,"8":3},
     "dimension":{"geo":{"category":{"index":{"EU27_2020":0,"EA":1,"NL":2}}},
                  "time":{"category":{"index":{"2026-07":0,"2026-08":1,"2026-09":2}}}, …}}
  5. 5

    Compute the real savings rate and draw the dashboard

    Real savings rate = savings rate minus inflation in the same month. Join on month (ECB: 2026-08, CBS: 2026MM08). The rates arrive a month after inflation, so the newest month has no rate yet: leave it empty and say so. Draw the Netherlands in orange and the euro area dotted grey for each series. State under the chart which measure it is (HICP or CPI) and the date you fetched it.

How the sources fit together

  • ECB Data PortalCBS StatLinevia maand (ECB 2026-09, CBS 2026MM09)

    The ECB provides the European inflation measure (HICP) and the bank rates, CBS the Dutch CPI. Put them side by side per month and explain why they differ (owner-occupied housing, among other things).

  • ECB Data PortalEurostatvia landcode (ECB NL en U2, Eurostat NL en EA; Griekenland is EL)

    The HICP at the ECB comes from Eurostat (DATA_PROVIDER 4D0) and the figures are the same. Eurostat also has the EU countries outside the euro, the ECB has the rates Eurostat lacks.

Let AI build it

Paste this prompt into Claude, ChatGPT, Cursor or Lovable. It names the real endpoints, the join keys and the pitfalls, so the assistant writes working code straight away. Always check the result against the source itself.

Build a dashboard (one HTML file with JavaScript and Chart.js, or a small Python script with Plotly) that shows three things per month since January 2021 for the Netherlands and the euro area: inflation, the rate on new mortgages and the rate on savings, plus the real savings rate (savings rate minus inflation).

Data, all without a key:
1. ECB Data Portal (SDMX, CSV):
   - Inflation: https://data-api.ecb.europa.eu/service/data/HICP/M.NL+U2.N.000000.4D0.ANR?startPeriod=2021-01&format=csvdata&detail=dataonly
   - Mortgage rate: https://data-api.ecb.europa.eu/service/data/MIR/M.NL+U2.B.A2C.AM.R.A.2250.EUR.N?startPeriod=2021-01&format=csvdata&detail=dataonly
   - Savings rate: https://data-api.ecb.europa.eu/service/data/MIR/M.NL+U2.B.L23.A.R.A.2250.EUR.N?startPeriod=2021-01&format=csvdata&detail=dataonly
   Columns REF_AREA (NL or U2), TIME_PERIOD (2026-08), OBS_VALUE (percent).
2. CBS, Dutch CPI: https://opendata.cbs.nl/ODataApi/OData/86141NED/TypedDataSet?$filter=Bestedingscategorieen eq 'T001112  ' and Perioden ge '2021MM01'&$select=Perioden,JaarmutatieCPI_5&$format=json
3. Eurostat, all EU countries for the newest month: https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_hicp_minr?unit=RCH_A&coicop18=TOTAL&lastTimePeriod=1&format=JSON

What you need to know:
- Send your own User-Agent (for example 'my-project/1.0 (+you@example.com)'). The robots.txt of data-api.ecb.europa.eu disallows the user agents curl, Wget, python-requests, axios and Go-http-client.
- Never use * as a wildcard in an ECB key: the firewall answers with HTTP 400 and an HTML page 'Your access has been blocked'. Leave a dimension empty (two dots) or list codes with +. Do not glue two full keys together with + either: that triggered the same block.
- Use the HICP dataflow with DATA_PROVIDER 4D0. The old ICP dataflow only ran to December 2025 on 16 October 2026.
- MIR: A2C = housing loan, L23 = savings redeemable at notice (savings account), L21 = current account, L22 = fixed-term deposit. AM = weighted 'cost of borrowing'. Last field N = new business.
- The rates run one month behind inflation. Leave the newest month empty for the rates and show 'not yet available'.
- CBS: keys are padded with spaces; 'T001112  ' has two. Without them you get an empty list. Convert periods like '2026MM09' to '2026-09'. Rows with 'JJ' in Perioden are years: skip them. If opendata.cbs.nl returns 'Service Unavailable', use https://datasets.cbs.nl/odata/v1/CBS/86141NED/Observations with $filter=Measure eq 'M000238' and Bestedingscategorieen eq 'T001112'.
- HICP and CPI differ (September 2026: 3.0 against 3.4 percent). Label each line with the measure.
- Eurostat: use prc_hicp_minr (dimension coicop18), not prc_hicp_manr (stops at December 2025). JSON-stat: values in one flat object 'value'; position = geo index × number of periods + period index. Filter on the 27 EU codes (Greece is EL); EA is the euro area in changing composition.
- U2 is the euro area in changing composition: a long series does not always contain the same countries.
- The ECB terms ask for attribution and that you state what you computed yourself (here: the real savings rate).

Output: at the top three tiles with the newest value for the Netherlands and the gap with the euro area, with the month. Below that three line charts (Netherlands orange, euro area dotted grey) and a bar chart of the real savings rate per month (negative = red). At the bottom a sorted list of EU countries for the newest month with the Netherlands highlighted. Source and fetch date under every chart.

Try it yourself

The core of the project in a small script. Needs: Python 3.10+ en requests. Tested on 2026-10-16; below is the real output of that run.

# Inflatie, hypotheekrente en spaarrente: Nederland tegen de eurozone, per maand sinds 2021.
# Bronnen: ECB Data Portal (HICP en MIR), CBS StatLine (CPI 86141NED), Eurostat (HICP per EU-land). Geen sleutel nodig.
import csv, io, requests

# Eigen User-Agent is verplicht: robots.txt van de ECB verbiedt de user-agent 'python-requests'.
UA = {"User-Agent": "mijn-project/1.0 (+jij@voorbeeld.nl)"}
ECB = "https://data-api.ecb.europa.eu/service/data"
VANAF = "2021-01"

def ecb(flow, sleutel):
    """Eén ECB-reeks per land als {(land, 'JJJJ-MM'): waarde}. Gebruik + per dimensie, nooit een *."""
    r = requests.get(f"{ECB}/{flow}/{sleutel}", headers=UA, timeout=60,
                     params={"startPeriod": VANAF, "format": "csvdata", "detail": "dataonly"})
    r.raise_for_status()
    return {(x["REF_AREA"], x["TIME_PERIOD"]): float(x["OBS_VALUE"]) for x in csv.DictReader(io.StringIO(r.text))}

hicp = ecb("HICP", "M.NL+U2.N.000000.4D0.ANR")            # inflatie, % t.o.v. dezelfde maand een jaar eerder
hypo = ecb("MIR", "M.NL+U2.B.A2C.AM.R.A.2250.EUR.N")       # rente nieuwe woninghypotheken, % per jaar
spaar = ecb("MIR", "M.NL+U2.B.L23.A.R.A.2250.EUR.N")       # rente op direct opvraagbaar sparen (met opzegtermijn)

# CBS: de nationale CPI. Sleutel 'T001112  ' (alle bestedingen) heeft twee spaties aan het eind.
cbs = requests.get("https://opendata.cbs.nl/ODataApi/OData/86141NED/TypedDataSet", headers=UA, timeout=60, params={
    "$filter": f"Bestedingscategorieen eq 'T001112  ' and Perioden ge '{VANAF[:4]}MM01'",
    "$select": "Perioden,JaarmutatieCPI_5", "$format": "json"}).json()["value"]
cpi = {r["Perioden"][:4] + "-" + r["Perioden"][6:]: r["JaarmutatieCPI_5"] for r in cbs if "MM" in r["Perioden"]}

maanden = sorted({m for (_, m) in hicp})
laatste = maanden[-1]
print(f"Nieuwste maand inflatie: {laatste}; nieuwste maand rentes: {max(m for (_, m) in hypo)}\n")
def f(x, d=1):   # getal of streepje als de maand (nog) ontbreekt
    return f"{x:.{d}f}" if x is not None else "-"

print("maand    inflatie NL (HICP/CPI)  eurozone  hypotheek NL/EZ  sparen NL  sparen min inflatie")
for m in maanden[-6:]:
    h, s = hicp[("NL", m)], spaar.get(("NL", m))
    print(f"{m}  {f(h):>5} / {f(cpi.get(m)):<5}         {f(hicp[('U2', m)]):>4}     "
          f"{f(hypo.get(('NL', m)), 2):>4} / {f(hypo.get(('U2', m)), 2):<4}      {f(s, 2):>4}       {f(s - h if s else None, 2):>5}")

piek = max(maanden, key=lambda m: hicp[("NL", m)])
print(f"\nHoogste inflatie NL sinds {VANAF}: {hicp[('NL', piek)]}% in {piek} (eurozone {hicp[('U2', piek)]}%)")
laagste_hypo = min((m for (l, m) in hypo if l == "NL"), key=lambda m: hypo[("NL", m)])
print(f"Laagste hypotheekrente NL: {hypo[('NL', laagste_hypo)]}% in {laagste_hypo}")
negatief = sum(1 for m in maanden if ("NL", m) in spaar and spaar[("NL", m)] < hicp[("NL", m)])
print(f"Maanden waarin de spaarrente in NL onder de inflatie lag: {negatief} van {sum(1 for m in maanden if ('NL', m) in spaar)}")

# Eurostat: waar staat Nederland tussen de EU-landen in de nieuwste maand? Tabel prc_hicp_minr (sinds 2026, ECOICOP 2).
EU27 = "BE BG CZ DK DE EE IE EL ES FR HR IT CY LV LT LU HU MT NL AT PL PT RO SI SK FI SE".split()
j = requests.get("https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_hicp_minr", headers=UA, timeout=60,
                 params={"unit": "RCH_A", "coicop18": "TOTAL", "lastTimePeriod": 1, "format": "JSON", "geo": EU27}).json()
geo = j["dimension"]["geo"]["category"]["index"]
periode = list(j["dimension"]["time"]["category"]["index"])[0]
landen = sorted(((j["value"][str(i)], g) for g, i in geo.items() if str(i) in j["value"]), reverse=True)
plek = [g for _, g in landen].index("NL") + 1
print(f"\nEurostat {periode}: Nederland {j['value'][str(geo['NL'])]}%, plek {plek} van {len(landen)} EU-landen (1 = hoogste inflatie)")
print("Hoogst:", ", ".join(f"{g} {v}%" for v, g in landen[:3]), "| laagst:", ", ".join(f"{g} {v}%" for v, g in landen[-3:]))
Output
Nieuwste maand inflatie: 2026-09; nieuwste maand rentes: 2026-08

maand    inflatie NL (HICP/CPI)  eurozone  hypotheek NL/EZ  sparen NL  sparen min inflatie
2026-04    2.5 / 2.8            3.0     3.63 / 3.44      1.27       -1.23
2026-05    3.4 / 3.5            3.2     3.66 / 3.48      1.27       -2.13
2026-06    2.5 / 2.9            2.8     3.71 / 3.51      1.27       -1.23
2026-07    3.0 / 3.2            2.9     3.85 / 3.54      1.27       -1.73
2026-08    2.8 / 3.3            3.2     3.91 / 3.60      1.29       -1.51
2026-09    3.0 / 3.4            3.8        - / -            -           -

Hoogste inflatie NL sinds 2021-01: 17.1% in 2022-09 (eurozone 9.9%)
Laagste hypotheekrente NL: 1.65% in 2021-09
Maanden waarin de spaarrente in NL onder de inflatie lag: 64 van 68

Eurostat 2026-09: Nederland 3.0%, plek 20 van 27 EU-landen (1 = hoogste inflatie)
Hoogst: RO 6.5%, LT 6.1%, BG 5.6% | laagst: HU 2.1%, DK 2.1%, SE 1.0%

Where it goes wrong

  • An * in an ECB key (for example M.*.N.000000.4D0.ANR) returned HTTP 400 with an HTML page 'Your access has been blocked due to security concerns'. The same happened with two full keys glued together with +. Use + within one dimension or leave the dimension empty.
  • The robots.txt of data-api.ecb.europa.eu excludes the default user agents of curl, Wget, python-requests, axios, Java and Go. A call often still works technically, but always set your own recognisable User-Agent (curl -A, headers in requests).
  • Old tables stop silently: the ECB ICP dataflow and the Eurostat table prc_hicp_manr run to December 2025. Anyone following a pre-2026 tutorial sees no new months and no error. Use HICP (ECB) and prc_hicp_minr (Eurostat).
  • HICP is not the CPI. In September 2026 the Dutch HICP was 3.0% and the CBS CPI 3.4%. Always name the measure you show; news reports usually use the CPI.
  • CBS keys with spaces: 'T001112 ' (two spaces) returns data, 'T001112' an empty list without an error.
  • The savings rate in MIR is an average over all Dutch banks (L23, savings redeemable at notice). Your own bank can differ a lot. Mortgage rate AM is weighted over all fixation periods: a ten-year rate at one bank is something else.
  • The euro area (U2 at the ECB, EA at Eurostat) changes composition; Bulgaria joined in 2026. A comparison over twenty years is therefore not always the same group of countries.

Take it further

  • Add the ECB's own policy rate (dataflow FM, deposit facility rate DFR, a daily series) and show how quickly banks pass a rate cut on to mortgages and savers.
  • Split inflation by product group with the CBS table (Bestedingscategorieen, for example energy, food, rent) and find out what caused the 2022 peaks and the October 2023 dip.
  • Put the mortgage rate next to the Eurostat house price index (prc_hpi_q) or the CBS price index of existing homes and see whether a rate drop shows up in prices later.
  • Turn it into a monthly alert: run the script after CBS publishes inflation (early in the month) and send a message when the real savings rate changes sign.

More with this data

Interest rate on new bank mortgages (DNB figures via the ECB Data Portal): 3.91 percent a year in August 2026, 0.9 percentage points lower than in January 2003

Interest rate on new bank mortgages (DNB figures via the ECB Data Portal), January 2003 – August 2026, in percent a year. The highest point was October 2008 (5.63).

Source: De Nederlandsche Bank, rentestatistiek (MIR), via het ECB Data Portal · opgehaald 25 oktober 2026 · selection: MIR.M.NL.B.A2C.AM.R.A.2250.EUR.NOpen the table Single block

Interest rate on household savings accounts (DNB figures via the ECB Data Portal): 1.29 percent a year in August 2026, 1.2 percentage points lower than in July 2006

Interest rate on household savings accounts (DNB figures via the ECB Data Portal), July 2006 – August 2026, in percent a year. The highest point was January 2009 (3.20).

Source: De Nederlandsche Bank, rentestatistiek (MIR), via het ECB Data Portal · opgehaald 25 oktober 2026 · selection: MIR.M.NL.B.L23.A.R.A.2250.EUR.NOpen the table Single block

Inflation in the Netherlands: higher than in 15 of the 26 other EU countries

Inflation in 2025, in percent (annual average, HICP). Netherlands: 3.0; EU average: 2.5. Highest: Romania (6.8); lowest: Cyprus (0.8).

Source: Eurostat, dataset tec00118 (HICP - inflation rate) · opgehaald 25 oktober 2026Open the table Single block

The sources3

ECB Data Portal

Europese Centrale Bank (met cijfers van De Nederlandsche Bank en Eurostat)Europe, country (euro countries and euro area), monthly or daily

The European Central Bank's data portal, with over a hundred dataflows: ECB policy rates, exchange rates, inflation (HICP), bank mortgage and savings rates, bank balance sheets, money supply and payments. For the Netherlands it holds figures that De Nederlandsche Bank reports to the ECB, always next to the other euro countries. All through an open SDMX API, no key needed. In September 2026 inflation was 3.0 percent in the Netherlands and 3.8 percent in the euro area.

OpenAPIDownloadFinanceEconomy
Behind schedule
updated in September 2026

CBS StatLine

CBSNetherlands, country to neighbourhood

The statistics database of Statistics Netherlands: almost 6,000 tables on population, economy, work, housing, energy, care and more, most with long annual, quarterly or monthly series.

OpenAPIDownloadPopulationEconomyWorkEnergy
Up to date
updated 13 hours ago

EurostatIn depth

Europese CommissieEurope, region (NUTS 3)

Thousands of tables that put the Netherlands next to other EU countries: prices, jobs, population, health, energy. Often down to regional level.

OpenAPIDownloadEconomyPopulationHousing and land
Up to date
updated 15 days ago

More to build