Evitalya open data · CC BY 4.0
Official figures for every Italian municipality, from the bodies that publish them: ISTAT, Agenzia delle Entrate (OMI), ISPRA, Protezione Civile and INGV. An empty value means the source publishes nothing — it is never a zero.
7,896 municipalities 16 columns 338 without a published OMI price
Loading 7,896 municipalities…
Rendered into this page, so the figures are readable without running any script.
| Municipality | Residents | Price /m² | Rent /m² | Landslide | Flood | Seismic |
|---|---|---|---|---|---|---|
| RomaRM | 2.751.747 | € 3.032 | € 12.20 | 0.1% | 1.6% | 2 |
| MilanoMI | 1.371.499 | € 4.854 | € 15.95 | 0.0% | 2.4% | 3 |
| NapoliNA | 913.704 | € 2.377 | € 7.90 | 4.6% | 0.6% | 2 |
| TorinoTO | 851.199 | € 2.072 | € 7.90 | 0.1% | 0.2% | 3 |
| PalermoPA | 630.427 | € 1.370 | € 4.60 | 0.9% | 7.0% | 2 |
| GenovaGE | 562.422 | € 1.807 | € 7.40 | 5.4% | 8.3% | 3 |
| BolognaBO | 390.098 | € 2.935 | € 11.85 | 0.1% | 1.1% | 3 |
| FirenzeFI | 362.613 | € 3.003 | € 10.25 | 0.8% | 2.4% | 3 |
| BariBA | 316.226 | € 1.775 | € 6.45 | 0.2% | 0.5% | 3 |
| CataniaCT | 298.680 | € 1.279 | € 4.55 | 0.2% | 2.9% | 2 |
| VeronaVR | 255.298 | € 2.083 | € 8.90 | 0.0% | 7.2% | 2 |
| VeneziaVE | 250.290 | € 2.434 | € 9.95 | 0.0% | 24.3% | 3 |
| MessinaME | 217.959 | € 969 | € 4.90 | 0.5% | 1.7% | 1 |
| PadovaPD | 207.502 | € 1.518 | € 6.95 | 0.0% | 19.9% | 3 |
| TriesteTS | 198.843 | € 2.070 | € 7.65 | 0.3% | 0.1% | 3 |
| BresciaBS | 198.259 | € 1.829 | € 7.35 | 0.0% | 3.2% | 2 |
| ParmaPR | 198.121 | € 1.616 | € 7.30 | 0.0% | 1.4% | 3 |
| PratoPO | 197.088 | € 1.794 | € 8.30 | 0.2% | 11.9% | 3 |
| TarantoTA | 187.025 | € 862 | € 4.55 | 1.1% | 1.3% | 3 |
| ModenaMO | 184.597 | € 1.779 | € 7.95 | 0.0% | 0.3% | 3 |
Both bite any consumer of this file, and neither is a flaw in the data. NA is the province of Napoli, not a missing value, and None is a municipality in the province of Turin with 7,688 residents. Read with a library’s default missing-value list and 93 municipalities vanish.
# keeps the leading zero in 001001
# "NA" is Napoli, "None" is a comune
# only a blank cell is missing
df = pd.read_csv(
"comuni-italia-evitalya.csv",
dtype={"codice_istat": str},
keep_default_na=False,
na_values=[""])
A whole municipality is the coarse view. A single address is scored on 111 official metrics — environment, mobility, natural risk, real estate, safety, services — at evitalya.com, which produced this dataset. Interactive map with one page per municipality: evitalya.com/it/mappa-comuni/. Method and full source list: evitalya.com/dati.html.
Dataset: Evitalya/italian-municipalities-prices-risk · DOI 10.5281/zenodo.22832829 · licence CC BY 4.0 · full attribution evitalya.com/attribution.html. Reuse is free, as long as the credit carries a working link.