303,525 datasets indexed1,419 publishers
Open Data IndexThe index of open data about the Netherlands
Open Data Index›Worked-out question
Worked out · 2 sources · 2 steps

Did house prices rise faster here than elsewhere in Europe?

Yes, and Eurostat shows exactly how much. In 2025 the house price index stood at 215 for the Netherlands and 162 for the EU as a whole (2015 = 100): in ten years homes here became 115% more expensive, against 62% on average in the EU. Only in 2023 did Dutch prices fall (1.9%); in the second quarter of 2026 they rose slightly less than in the EU (4.3% against 4.7% year on year). An index only measures change. Whether a home here costs more than one in Spain, it does not say.

Short answerYes. From 2015 to 2025 house prices rose 115% in the Netherlands and 62% in the EU. That puts the Netherlands 9th of the 26 EU countries with a figure; Hungary (367) and Portugal (264) are at the top. Greece is not in the table.

House prices: 215 index points (2015 = 100) in 2025, 2 times as much as in 2005

House prices, 2005 – 2025, in index points (2015 = 100). That is the highest point in the series. EU average in 2025: 162.

Source: Eurostat, dataset prc_hpi_a (House price index - annual data) · opgehaald 25 oktober 2026Open the table Single block

Step by step

  1. 1

    Fetch Eurostat's house price index for NL and the EU.

  2. 2

    For your own neighbourhood: average property value from the key figures.

Join on landcode, buurtcode

Start with AI

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

Make an interactive chart (one HTML file, D3 or Chart.js) that compares house prices in the Netherlands with the EU and with a country I choose.

Data: Eurostat, table prc_hpi_a (annual), no key, CORS is open:
https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_hpi_a?purchase=TOTAL&unit=I15_A_AVG&sinceTimePeriod=2015&format=JSON

What you need to know:
- The format is JSON-stat: all values in one flat object 'value' ({"0": 100.0, …}). The position follows from the order in 'id' (freq, purchase, unit, geo, time) and the sizes in 'size'. Missing cells are left out.
- unit=I15_A_AVG is an index (2015 = 100); RCH_A_AVG is the percentage change on the previous year. Quarters: table prc_hpi_q with unit=RCH_A.
- purchase=TOTAL is all dwellings; DW_NEW is new builds, DW_EXST existing dwellings.
- geo also holds groups (EU27_2020, EA20 …) and countries outside the EU (IS, NO, CH, UK, TR). Filter on the 27 EU codes. Greece (EL) is not in the table.
- The 'updated' field says when Eurostat last updated the table: show it under the chart.
- An index says nothing about price levels. Never write 'homes are more expensive here than in X'.

Output: lines for the Netherlands (orange), the EU-27 (grey, dotted) and the chosen country; next to it a sorted bar chart of the EU countries for the newest year with the Netherlands highlighted, and a sentence computed from the data, like 'Since 2015 prices rose 115% in the Netherlands and 62% in the EU'.
For your own neighbourhood: the average WOZ (assessed) value from CBS 86358NED (key figures 2026), but that is an assessed value, not a sale price.

Try it yourself

A small script that answers the core of the question. Needs: Python 3.10+ en requests. Tested on 2026-10-15; below is the real output of that run.

# Stegen de huizenprijzen in Nederland harder dan in de rest van Europa? Eurostat-huizenprijsindex (2015 = 100).
# Bron: Eurostat, tabel prc_hpi_a (jaarcijfers). Geen sleutel nodig. Antwoord in JSON-stat.
import requests

URL = "https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_hpi_a"
j = requests.get(URL, params={"purchase": "TOTAL", "unit": "I15_A_AVG", "sinceTimePeriod": "2015", "format": "JSON"},
                 headers={"User-Agent": "opendataindex-voorbeeld/0.2 (+https://opendataindex.nl)"}, timeout=60).json()

# JSON-stat: alle waarden in één platte lijst; de positie volgt uit de dimensies (hier geo x time).
geo = j["dimension"]["geo"]["category"]["index"]     # {"BE": 0, "BG": 1, ...}
tijd = j["dimension"]["time"]["category"]["index"]   # {"2015": 0, ...}
namen = j["dimension"]["geo"]["category"]["label"]
def waarde(land, jaar):
    return j["value"].get(str(geo[land] * len(tijd) + tijd[jaar]))   # ontbrekende cellen staan er niet in

laatste = max(tijd, key=tijd.get)
print(f"Huizenprijsindex {laatste} (2015 = 100), bijgewerkt {j['updated'][:10]}\n")
nl, eu = waarde("NL", laatste), waarde("EU27_2020", laatste)
print(f"Nederland: {nl:.1f}   EU-27: {eu:.1f}")

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()
landen = [(waarde(g, laatste), namen[g]) for g in EU27 if g in geo and waarde(g, laatste)]
landen.sort(reverse=True)
plek = [n for _, n in landen].index(namen["NL"]) + 1
print("Geen cijfer:", ", ".join(g for g in EU27 if not (g in geo and waarde(g, laatste))))
print(f"Nederland staat op plek {plek} van {len(landen)} EU-landen met een cijfer\n")
for v, n in landen[:10]:
    print(f"  {n[:22]:22} {v:6.1f}{'  <- Nederland' if n == namen['NL'] else ''}")
print("  …")

print("\nStijging per jaar, Nederland tegen de EU-27:")
jaren = sorted(tijd, key=tijd.get)
for a, b in zip(jaren, jaren[1:]):
    pn = waarde("NL", b) / waarde("NL", a) - 1; pe = waarde("EU27_2020", b) / waarde("EU27_2020", a) - 1
    print(f"  {b}: NL {pn:+6.1%}   EU {pe:+6.1%}")
Output
Huizenprijsindex 2025 (2015 = 100), bijgewerkt 2026-10-01

Nederland: 215.2   EU-27: 161.9
Geen cijfer: EL
Nederland staat op plek 9 van 26 EU-landen met een cijfer

  Hungary                 366.6
  Portugal                263.9
  Lithuania               258.1
  Bulgaria                249.2
  Czechia                 245.4
  Croatia                 227.1
  Estonia                 220.7
  Poland                  216.8
  Netherlands             215.2  <- Nederland
  Slovenia                214.9
  …

Stijging per jaar, Nederland tegen de EU-27:
  2016: NL  +5.3%   EU  +4.3%
  2017: NL  +8.1%   EU  +4.8%
  2018: NL  +9.3%   EU  +5.0%
  2019: NL  +7.2%   EU  +4.9%
  2020: NL  +8.0%   EU  +5.6%
  2021: NL +14.5%   EU  +8.4%
  2022: NL +13.3%   EU  +8.0%
  2023: NL  -1.9%   EU  -0.3%
  2024: NL  +8.2%   EU  +3.4%
  2025: NL  +8.5%   EU  +5.5%

The sources2

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

Key figures for districts and neighbourhoods

CBSNetherlands, neighbourhood

Over a hundred figures per neighbourhood: residents by age, households, property values, income, benefits, cars and distance to amenities. A new table every year.

OpenAPIDownloadPopulationHousing and landEconomy
Up to date
updated yesterday

How the sources fit together

More examples with this data

Also in the indexes

Datasets from data.overheid.nl, the National Georegister, CBS, Eurostat and city portals that fit this question.

Other worked-out questions