This page covers every dataset behind Expat Living Italy’s data tools — the ISTAT-derived comune-level demographics map and profile pages, the BES (Benessere Equo e Sostenibile) province comparison, and residential purchase/rent prices from Agenzia delle Entrate’s OMI (Osservatorio del Mercato Immobiliare), used in the cost vs. quality of life tool. Our editorial commitment is that every number is traceable to a source and a date — provenance is a feature, not a footnote. Data as of 2026-10-13.
All the published files below are also mirrored, with licences and a changelog, in a public repository on GitHub, refreshed weekly from this site. The site stays the source of truth.
Two different questions, and the answers often disagree. Describes is the period the data covers — the one that decides whether a number is any use to you. Last checked is when we went and got it. A dataset fetched this month can describe 2018, and one of ours does.
| Dataset | Describes | Last checked | Status |
|---|---|---|---|
Foreign-born population share, by NUTS 2 region (2019) | 2019 | 2026-10-03 | Stale |
Indice di vecchiaia (2019) | 2019 | 2026-10-13 | |
Median age (2019) | 2019 | 2026-10-13 | |
Median age and indice di vecchiaia (2019) | 2019 | 2026-10-13 | |
Disposable household income per capita, by NUTS 2 region (2021) | 2021 | 2026-10-03 | Stale |
Rooms per person, by NUTS 2 region (2021) | 2021 | 2026-10-03 | Stale |
Old-age dependency ratio, by NUTS 3 region (2022) | 2022 | 2026-10-03 | Stale |
Active physicians per 1,000 population, by NUTS 2 region (2023) | 2023 | 2026-10-03 | Stale |
GDP per capita, by NUTS 3 region (2023) | 2023 | 2026-10-03 | Stale |
Intentional homicide rate, by NUTS 3 region (2023) | 2023 | 2026-10-03 | Stale |
Life expectancy at birth, by NUTS 2 region (2023) | 2023 | 2026-10-03 | Stale |
Population, by NUTS 3 region (2023) | 2023 | 2026-10-03 | Stale |
Vehicle theft rate, by NUTS 3 region (2023) | 2023 | 2026-10-03 | Stale |
Air quality: PM10 by province (2024) | 2024 | 2026-09-25 | Ageing |
Air quality: PM2.5 by province (2024) | 2024 | 2026-09-25 | Ageing |
At-risk-of-poverty rate, by NUTS 2 region (2024) | 2024 | 2026-10-03 | Ageing |
Average annual days above 30C (2015-2024) | 2024 | 2026-09-22 | Ageing |
Average annual days above 30C (2015-2024) | 2024 | 2026-10-03 | Ageing |
Average annual days with measurable rain (2015-2024) | 2024 | 2026-09-28 | Ageing |
Average annual rainfall (2015-2024) | 2024 | 2026-09-28 | Ageing |
Average January daily minimum temperature (2015-2024) | 2024 | 2026-09-22 | Ageing |
Average January daily minimum temperature (2015-2024) | 2024 | 2026-10-03 | Ageing |
Average July daily maximum temperature (2015-2024) | 2024 | 2026-09-22 | Ageing |
Average July daily maximum temperature (2015-2024) | 2024 | 2026-10-03 | Ageing |
Citizenship acquisitions (2024) | 2024 | 2026-10-13 | Ageing |
Healthcare quality: community & district care by region (2024) | 2024 | 2026-09-25 | Ageing |
Healthcare quality: hospital care by region (2024) | 2024 | 2026-09-25 | Ageing |
Healthcare quality: prevention by region (2024) | 2024 | 2026-09-25 | Ageing |
Home burglary rate, by province (2024) | 2024 | 2026-09-25 | Ageing |
Hotel share of tourist accommodation (2024) | 2024 | 2026-09-29 | Ageing |
Housing cost overburden rate, by NUTS 2 region (2024) | 2024 | 2026-10-03 | Ageing |
Peak-month visitors per resident (2024) | 2024 | 2026-09-28 | Ageing |
Reported crime rate, by province (2024) | 2024 | 2026-09-25 | Ageing |
Residents by country-of-birth group | 2024 | 2026-10-13 | Ageing |
Tertiary education attainment, by NUTS 2 region (2024) | 2024 | 2026-10-03 | Ageing |
Tourism seasonality index (2024) | 2024 | 2026-09-28 | Ageing |
Tourist accommodation bed capacity (2024) | 2024 | 2026-09-29 | Ageing |
Tourist beds per resident (2024) | 2024 | 2026-09-29 | Ageing |
Well-being (BES) — map layer | 2024 | 2026-08-19 | Ageing |
BES (Benessere Equo e Sostenibile) dei territori | 2025 | 2026-08-09 | Current |
Change in foreign share (2019–2025) | 2025 | 2026-10-13 | Current |
Detached house purchase price by comune (2025H2) | 2025 H2 | 2026-09-12 | Current |
Foreign residents by citizenship | 2025 | 2026-10-13 | Current |
Foreign residents, all citizenships | 2025 | 2026-10-13 | Current |
Foreign-born share of the working-age population, by NUTS 2 region (2025) | 2025 | 2026-10-15 | Current |
House vs apartment price by comune (2025H2) | 2025 H2 | 2026-09-12 | Current |
IMU rate on a luxury (cat. A/1, A/8, A/9) primary residence | 2025 | 2026-09-14 | Current |
IMU rate on non-primary, non-category-D buildings (altri fabbricati) | 2025 | 2026-09-14 | Current |
Municipal IRPEF surcharge (addizionale comunale) | 2025 | 2026-09-14 | Ageing |
New foreign registrations from abroad | 2025 | 2026-10-13 | Current |
Population change (2019–2025) | 2025 | 2026-10-13 | Current |
Premium for refurbished housing by comune (2025H2) | 2025 H2 | 2026-09-12 | Current |
Property purchase price by comune (2025H2) | 2025 H2 | 2026-09-12 | Current |
Property purchase price by province (2025H2) | 2025 H2 | 2026-09-12 | Current |
Property rent by comune (2025H2) | 2025 H2 | 2026-09-12 | Current |
Property rent by province (2025H2) | 2025 H2 | 2026-09-12 | Current |
Residential property prices (OMI, 2025H2) | 2025 H2 | 2026-09-12 | Current |
Seismic hazard class, by comune (2025) | 2025 | 2026-10-15 | Current |
Unemployment rate, by NUTS 2 region (2025) | 2025 | 2026-10-03 | Current |
Years of rent to equal the purchase price by comune (2025H2) | 2025 H2 | 2026-09-12 | Current |
Years of rent to equal the purchase price by province (2025H2) | 2025 H2 | 2026-09-12 | Current |
7% pensioner regime — population share by province | checked 2026-08-23 | 2026-10-03 | Current |
7% pensioner regime — qualifying comuni | checked 2026-08-23 | 2026-10-03 | Current |
Drive time to the nearest airport with passenger traffic, by comune (minutes) | 2026 | 2026-10-22 | Current |
Drive time to the nearest DEA (level I or II) emergency department, by comune (minutes) | 2026 | 2026-10-27 | Current |
Drive time to the nearest emergency department, by comune (minutes) | 2026 | 2026-10-27 | Current |
Drive time to the nearest hospital with inpatient beds, by comune (minutes) | 2026 | 2026-10-22 | Current |
Drive time to the nearest pharmacy, by comune (minutes) | 2026 | 2026-10-27 | Current |
Drive time to the nearest railway station with passenger service (OpenStreetMap), by comune (minutes) | 2026 | 2026-10-27 | Current |
Drive time to the nearest supermarket (OpenStreetMap), by comune (minutes) | 2026 | 2026-10-27 | Current |
Fibre to the home (FTTH) availability, by comune (Q3 2026) | 2026 | 2026-10-16 | Current |
National IRPEF brackets (2026) | 2026 | 2026-08-24 | Current |
Regional IRPEF surcharge (addizionale regionale) | 2026 | 2026-09-14 | Current |
Per-capita shares are meaningless in very small comuni — four foreign residents in a village of sixty is not a finding. We apply a default population floor of 1,000 residents to rankings, and the map lets you move it with a slider to see how the picture changes.
ISTAT publishes residents by citizenship at comune level broken down by specific nationality — that’s the map and the per-nationality tables on this site. It does not publish comune-level population by specific country of birth: that cut is only available in three broad groups (Italy / other EU / non-EU), almost certainly statistical disclosure control — a comune-by-200-country cross-tab would produce disclosive near-zero cells for most small comuni. We show that broad-group breakdown on every comune page, but it isn’t comparable per-nationality to the citizenship figures: a comune’s number of Americans by citizenship can’t be checked against its number of people born in the United States, because the latter isn’t published.
Comune codes change over time as comuni merge (fusioni). ISTAT does not publish a flat, per-comune successor mapping for these mergers, so a merged comune’s historical values simply won’t join to a current comune id — the year in question is quietly absent from that comune’s trend rather than shown as a wrong number.
Each comune has a stable URL slug, persisted across rebuilds so links from the newsletter and elsewhere never break.
ISTAT’s BesT publishes 67 territorial well-being indicators; the BES comparison tool shows a curated 15 of them, picked for relevance to someone weighing where to live rather than comprehensive coverage. Its percentile ranks are polarity-aware: a higher percentile always means “better”, whether the underlying indicator’s own direction is higher- is-better (e.g. life expectancy) or lower-is-better (e.g. hospital waiting times) — so ranks are comparable across indicators without having to remember each one’s polarity.
The cost side of the cost vs. quality of life tool comes from Agenzia delle Entrate’s OMI, for “Abitazioni civili” in normal condition. It is published twice a year and about nine months in arrears: the file describing the second half of 2025 was issued in September 2026. Agenzia Entrate’s bulk download needs a Fisconline/Entratel login, so this is the one dataset here that can’t refresh itself on a schedule — it is fetched by hand, and the freshness panel above shows how far behind it currently is.
Prices exist at two grains and they are different measurements, kept separate rather than blended: the comune figure is an unweighted mean across that comune’s own OMI micro-zones, and the province figure is a population-weighted mean across the comuni OMI covers in it (not the capoluogo alone). A comune OMI didn’t survey is absent from both, never filled in with a zero or a provincial average.
A third figure is derived rather than published: dividing the purchase price by twelve months’ rent gives how many years of rent equal the purchase price, which is the buy-or-rent comparison neither price answers alone. It is not a yield or a payback period — it ignores purchase taxes, IMU, maintenance, financing and the months a property sits empty, all of which push the real number up. It exists for 7,091 comuni, the ones with both a purchase and a rent figure; the rest are absent from it rather than estimated.
Sixteen comuni are absent for a different reason: OMI records a price of zero for every zone in them, meaning there is no market to survey. Fifteen are in the belt destroyed by the 2016 Central Italy earthquake — Amatrice, Accumoli, Arquata del Tronto, Norcia, Cascia, Preci among them — and the sixteenth is Gibellina, destroyed in the 1968 Belice earthquake. Reading those zeros as prices would list the most devastated towns in Italy as its cheapest, so they are excluded and named here instead.