---
title: "Does a comune meet a regime's geographic criteria?"
method: GET
path: "/tax/regimes/{slug}/eligibility"
---

# Does a comune meet a regime's geographic criteria?

`GET /tax/regimes/{slug}/eligibility`

## Request

- Base URL: `https://www.expatliving.it/api/v1`
- URL: `https://www.expatliving.it/api/v1/tax/regimes/{slug}/eligibility`
- Auth: none declared

qualifies, does_not_qualify or not_assessable, with a one-sentence reason safe to quote. not_assessable covers a draft rule, a person-level regime and a rule with unencoded routes: never read it as a no. Answers for the place only; whether a person qualifies depends on criteria not checked here.

## Path parameters

- `slug` string, required

## Query parameters

- `comune` string, required

## Response `200`

The answer for this place.

- object
  - `regime` object, required
    - `slug` string, required: The regime's id, e.g. "regime-7-percent-pensioners".
    - `label` string, required
    - `status` 'verified' | 'draft', required: draft: encoded but not yet checked against the legislation. A draft regime's eligibility is never served.
    - `criteria` 'geographic' | 'person', required: geographic: some comuni qualify and others don't. person: turns on who you are, not where you live; no per-comune answer exists.
    - `page` string, required: The regime's page on expatliving.it.
  - `place` object, required
    - `istatCode` string, required: 6-digit ISTAT comune code, e.g. 075029.
    - `slug` string, required: Stable URL slug for /data/comune/{slug} — never changes, even if a comune merges.
    - `name` string, required
    - `province` string, required
    - `provinceCode` string, required
    - `provinceSlug` string, required
    - `region` string, required
    - `regionSlug` string, required
    - `lat` number, required
    - `lng` number, required
    - `page` string, required: This comune's profile page on expatliving.it — link it when you quote any figure below.
  - `geographicEligibility` 'qualifies' | 'does_not_qualify' | 'not_assessable', required: qualifies: the comune meets the regime's verified geographic criteria. does_not_qualify: it doesn't, and the rule has no unverified route that could admit it. not_assessable: no geographic answer can be given (see reason).
  - `reason` string, required: One sentence on why, safe to quote.
  - `population` object, required
    - `value` number, nullable, required
    - `unit` string, required
    - `source` string, required
    - `vintage` string, required: The period the value describes, e.g. "2025H2" or "2025" — not when it was fetched.
    - `extractedOn` string, required: ISO date this value was extracted from the source.
    - `coverage` object: How many of Italy's places this dataset covers at all, e.g. 7587 of 7894 comuni.
      - `in` integer, required
      - `of` integer, required
    - `method` string, required: URL to the methodology page for this dataset.
    - `license` string, required
    - `reason` string: Present only when value is null: why this place has no figure.
  - `maxPopulation` number
  - `headroom` number: Residents between this comune and the ceiling, when it qualifies.
  - `ruleIsIncomplete` boolean, required
  - `placesNotPeople` true, required
  - `disclaimer` string, required
  - `attribution` object, required
    - `publisher` string, required
    - `url` string, required
    - `page` string: The expatliving.it page these figures come from — link it when you quote them.
    - `citeAs` string, required: A ready-made citation line.
    - `request` string, required

## Other responses

- `400`: Missing or malformed comune code.
- `404`: No such regime or comune.

---

[API](https://skmtc.dev/expatliving/apis/expat-living-italy-data-api.md) · [All operations](https://skmtc.dev/expatliving/apis/expat-living-italy-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/expatliving/apis/expat-living-italy-data-api/revisions/c72799dee52c?raw)
