Find comuni by criteria
find_comuniWhich Italian comuni match: region, province, population range, purchase-price and rent ranges (OMI), population change 2019–2025, and/or the verified comuni of a tax regime. Paged (max 100) and sortable. A comune with no price, rent or population-change figure is left out of the filter on it and COUNTED in missingData — never treated as cheap, free or stable; say how many were left out. The taxRegime filter lists only comuni on the regime's verified routes: a comune missing from it is NOT a 'no' (the response says so in taxRegime.note). Rows carry plain numbers; their source and vintage are in figures. Use search_comuni to turn a town name into a code, get_comune for one town's full profile.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Only comuni whose name contains this (case- and accent-insensitive). | |
| sort | No | Sort key. A comune without a figure for the sort key always sorts last. | population |
| limit | No | Rows per page, 1–100. Default 25. | |
| order | No | Default: desc for population and populationChange, asc for name, purchasePrice and rent. | |
| offset | No | Rows to skip, for the next page. | |
| region | No | A region name or slug, e.g. "Abruzzo" or "valle-d-aosta". | |
| province | No | A province's two-letter code ("AQ") or slug ("l-aquila"). | |
| taxRegime | No | A verified geographic regime slug from /tax/regimes. Lists only comuni on the regime's verified routes; a comune missing from the list is NOT a "no" (the rule may admit comuni by routes not yet encoded). | |
| maxPopulation | No | Residents, inclusive. | |
| minPopulation | No | Residents, inclusive. | |
| maxRentEurM2Month | No | Rent in EUR/m2 per month, inclusive. A comune with no rent figure is left out. | |
| minRentEurM2Month | No | Rent in EUR/m2 per month, inclusive. A comune with no rent figure is left out. | |
| maxPurchasePriceEurM2 | No | Purchase price in EUR/m2, inclusive. A comune with no price is left out, never treated as cheap. | |
| minPurchasePriceEurM2 | No | Purchase price in EUR/m2, inclusive. A comune with no price is left out, never treated as cheap. | |
| maxPopulationChangePct | No | Population change 2019 to 2025, in percent, inclusive. | |
| minPopulationChangePct | No | Population change 2019 to 2025, in percent, inclusive. A negative value means decline. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | ||
| total | Yes | Comuni matching every filter, before paging. | |
| offset | Yes | ||
| applied | Yes | The filters and sort as understood, with region and province resolved to their canonical names. | |
| figures | Yes | ||
| hasMore | Yes | ||
| results | Yes | ||
| returned | Yes | ||
| taxRegime | No | Present only when taxRegime was filtered on. | |
| nextOffset | Yes | Pass as offset for the next page; null on the last page. | |
| attribution | Yes | ||
| missingData | Yes | One entry per figure you filtered on: how many comuni were left out for having no figure. |