MIT selection Municipalities and addresses

Italian municipalities

Samurai016/Comuni-ITA

A Node.js REST API that provides the list of Italian municipalities, provinces and regions, including defunct municipalities, in JSON, XML or CSV format.

A sphere of coloured glass tiles, some breaking away and fading to bare outlines.
Author
Samurai016
Language
TypeScript
Licence
MIT
GitHub stars
62
Last activity
Category
Municipalities and addresses

Licence checked on 25/10/2026. Stars and last activity recorded on GitHub on the same date.

Overview

Comuni ITA is a Node.js API built with Fastify that gives access to Italy’s municipalities (comuni), provinces and regions. The data comes from ISTAT archives, completed with Wikidata; defunct municipalities come from the ANPR historical archive of comuni, published by the Ministry of the Interior.

The versioned endpoints (/v5/comuni, /v5/province, /v5/regioni, /v5/comuni/cessati) accept filters (ISTAT code, cadastral code, telephone prefix, postcode, name search), sorting, field selection, pagination and an output format. The README mentions a free public instance and the option of self-hosting the API with Docker or Node.js. The documentation is also published on readme.io, and the OpenAPI specification it is generated from lives in the repository.

Highlights

  • Endpoints for municipalities, provinces, regions and defunct municipalities, with filters by ISTAT code, cadastral code, telephone prefix, postcode and name.
  • The /v5/comuni/cessati endpoint lets you find the current municipality from a cadastral code, such as the one found in a codice fiscale.
  • Responses in JSON (default), XML or CSV, with sorting, field selection and pagination.
  • Versioned routes (v4 and v5); v5 supports several postcodes per municipality.
  • Usable through the project’s public instance or deployable with Docker Compose or Node.js; data collection lives in a separate repository (Comuni-ITA-updater).

Who it is for

For developers who need lists of Italian municipalities, provinces and regions (address forms, code matching, tracing a defunct municipality) without maintaining the data themselves.

Installation

No installation is needed to query the public instance given in the README. To self-host the API: Docker Compose (port 8080) or Node.js with npm install then npm start.

Commands

Read the project README before running these commands.

git clone https://github.com/Samurai016/Comuni-ITA
npm install
npm start

Read the README on GitHub

Points of attention

  • For suppressed municipalities, the source does not say which municipality absorbed the territory: comuneAttuale stays null in that case.
  • Some defunct municipalities have no province name or region (territories ceded after the war), or no cadastral code (very early cases).
  • The legacy unversioned routes respond with a Deprecation: true header; the README points to the versioned routes.

Can an agent use it?

A REST API (Fastify), not an MCP server. No SKILL.md, AGENTS.md, CLAUDE.md or Cursor rules found at the root. The README mentions an OpenAPI specification in docs/comuni-ita.yaml.

Likes and comments

No account needed: one like per browser, which you can remove. Comments are published after review.

This project is hosted by its author: your comments are about this page, not the code. To report an issue with the project, use its repository.

MIT selection

ISTAT data for your agent

ondata/istat_mcp_server

An MCP server that queries official Italian statistics, shipped with its SKILL.md.

MIT selection

SPID login in .NET

italia/spid-aspnetcore

SPID authentication for ASP.NET Core, published by Developers Italia.

Made by SOGNI DIGITALI

Complete design system

design-system-builder

One interactive multilingual page plus the design.md file your coding agents read.

A custom skill for your trade?

We also write private skills, in your name. Let's talk about it on a 30-minute call.

Book the free call (30 min)