---
title: "Where one nationality concentrates in Italy"
method: GET
path: "/nationalities/{cc}"
---

# Where one nationality concentrates in Italy

`GET /nationalities/{cc}`

## Request

- Base URL: `https://www.expatliving.it/api/v1`
- URL: `https://www.expatliving.it/api/v1/nationalities/{cc}`
- Auth: none declared

For one of the citizenships this site tracks: the comuni, provinces and regions where its holders concentrate, with counts and shares. Citizenship, not birthplace: foreign-born people who hold Italian citizenship are not counted. Small numbers: the comune ranking has a population floor (default 1,000) and flags rows resting on a handful of residents. A comune with no row in ISTAT's dataset is left out, not counted as zero. The caveats are in the payload.

## Path parameters

- `cc` string, required

## Query parameters

- `limit` integer
- `minPopulation` integer
- `rankBy` 'share' | 'count'

## Response `200`

The nationality's profile.

- object
  - `nationality` object, required
    - `code` string, required
    - `country` string, required
    - `demonym` string, required
    - `page` string, required: Where this nationality lives, on expatliving.it — link it when you quote any figure below.
  - `citizenshipNotBirthplace` true, required: Every count here is by CITIZENSHIP, not country of birth: it leaves out foreign-born people who hold Italian citizenship.
  - `caveats` string[], required: Read these before quoting a number; they travel with the data.
  - `nationalTotal` object, required: Residents with this citizenship in the comuni ISTAT reports on; `coverage` is how many comuni that is.
    - `value` integer, 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.
  - `topComuni` object, required
    - `value` object[], nullable, required
      - `rank` integer, required
      - `istatCode` string, required
      - `name` string, required
      - `province` string, required
      - `provinceCode` string, required
      - `region` string, required
      - `population` integer, required
      - `count` integer, required
      - `shareOfPopulation` number, required: A fraction, 0–1.
      - `smallNumber` boolean, required: True when fewer than 30 residents hold this citizenship here: the share rests on a handful of households.
      - `page` string, 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.
    - `rankedBy` 'share' | 'count', required
    - `populationFloor` integer, required
    - `comuniConsidered` integer, required: Comuni at or above the floor that have a citizenship row.
  - `topProvinces` object, required: Province grain: a different level of detail from the comuni above. Sums only the comuni ISTAT has a row for.
    - `value` object[], nullable, required
      - `rank` integer, required
      - `code` string, required
      - `name` string, required
      - `region` string, required
      - `population` integer, required: Residents of the comuni ISTAT has a citizenship row for — the denominator of the share.
      - `count` integer, required
      - `shareOfPopulation` number, required: A fraction, 0–1.
      - `comuniWithData` object, required
        - `in` integer, required
        - `of` integer, required
      - `page` string, 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.
  - `byRegion` object, required
    - `value` object[], nullable, required
      - `region` string, required
      - `population` integer, required
      - `count` integer, required
      - `shareOfPopulation` number, 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.
  - `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`: Malformed code or parameter.
- `404`: A citizenship this site does not track; the message lists the ones it does.

---

[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)
