Este artículo aún no se ha traducido al Español: estás leyendo el original en English. También disponible en:Deutsch, English, Українська
The Registry That Does Not Exist
For years our notes on Italy said the same thing: there is no name registry. No frequency table of Italian surnames, no frequency table of Italian given names, nothing usable. Italy went into the "modelled" column beside a handful of countries that genuinely publish nothing.
Half of that note was correct, rigorously and provably so. The other half was wrong, and had been wrong the whole time. The data existed, was published by the national statistics institute, was free, covered 1999 to 2024 and 10.6 million births — and it was invisible to every search anybody had run, because it does not live in a data catalogue. It lives behind an interactive widget on a web page, and it has a product name instead of a descriptive one.
This article is about that failure mode, because it is not an Italian problem. "There is no source for country X" almost always decomposes into one of three very different statements, and only one of them is a fact.
First, prove the negative properly
Before claiming that a source does not exist, you have to have looked in the one place where its absence is meaningful. For a national statistics institute that place is the machine catalogue, not a search engine.
ISTAT publishes its statistical holdings as SDMX. The full dataflow list is one HTTP request:
https://esploradati.istat.it/SDMXWS/rest/dataflow/IT1
That returns 13.6 MB of XML listing 4,887 dataflows — the complete published inventory of what ISTAT disseminates as structured data. Re-downloaded on 21 July 2026 and searched:
| Search term | Occurrences in the full catalogue |
|---|---|
cognom (surname) | 0 |
surname | 0 |
nome / nomi (name) | 3, none of them name statistics |
That is a real negative finding, and it is worth much more than "I could not find it." It says: across the entire structured output of the Italian national statistics institute, surname frequency is not a published product. Not thresholded, not restricted, not behind a login — absent.
The reason is documented and structural. Italian census microdata on surnames is treated as dati sensibili: a rare surname identifies a person by itself, so ISTAT does not disseminate the distribution. Italian onomastic scholarship historically worked around this by mining the SEAT telephone directory, which is a sample of subscribers, not a register.
So for surnames, the original note was right, and now it is right for a reason we can show rather than assert. The correct phrasing is narrower than we had it: there is no national surname register. Municipal ones exist, and we will get to them.
Then notice what the negative did not cover
The same catalogue query that proves surnames are absent proves nothing at all about given names — and this is where the note went wrong. "No surname table in the SDMX catalogue" got remembered as "no Italian name data", which is a different sentence.
Given-name data is published. It is called Contanomi — literally "name-counter" — and it is presented as an interactive toy on the ISTAT site: pick a name, see its curve. Underneath it is a JSONP endpoint that returns absolute birth counts. It takes two kinds of request — one that reports which years are available, and one that returns a list for a given year up to a row limit — and answers with a callback wrapping one JSON object per name: the year, the name, the count, the sex and the name's percentage share of that year. No URL is reproduced here; the shape is what matters, and it is the shape of every widget backend.
Checked again on 21 July 2026: still live, still returning 1999 through 2024.
What comes back is not an index, not a percentage and not a model. It is the number of children registered with that name in that year, by sex, from the Iscritti in anagrafe per nascita survey — since 2020 sourced through ANPR, the national resident population register.
Pulled across all 26 years and aggregated:
| Quantity | Male | Female | Total |
|---|---|---|---|
| Distinct names | 2,278 | 2,051 | 4,329 |
| Births carrying them | 5,489,051 | 5,123,931 | 10,612,982 |
| Years covered | 1999–2024 | 1999–2024 | 26 |
Ten and a half million births, name by name, year by year, with sex, from a country the notes had filed under "no data."
And because it is per-year rather than a lump total, it shows things a single frequency table cannot. The top name changes completely across the window:
| Year | Top male name | Top female name |
|---|---|---|
| 1999 | Andrea (10,336) | Martina (8,773) |
| 2024 | Leonardo (6,580) | Sofia (4,636) |
Aggregated over the whole 1999–2024 window the leaders are Francesco (217,368) and Giulia (196,243) — neither of which is the leader in either endpoint year. A generation-blind frequency list would have reported both and been describing nobody.
Why nobody found it
Six reasons, and every one of them generalises to other countries:
1. It is not in the catalogue. The SDMX inventory is where a data professional looks, and Contanomi is not there. It is a website feature, maintained by whoever maintains the website.
2. It has a brand name, not a descriptive one. Searching an agency site for nomi, anagrafe, frequenza nomi does not surface a page called "Contanomi" with the same reliability that searching for cognomi fails to surface anything. Agencies name interactive tools the way marketing departments name things.
3. The word is generic. Filtering a catalogue for nome in Italian, or voornaam in Dutch, returns dozens of false positives — nome appears inside denominazione, and in the Dutch statistics catalogue voornaam also means "principal", as in voornaamste bron van inkomen, "principal source of income". Substring search on a common word is not a search; it is noise generation.
4. The endpoint is undocumented. There is no data dictionary, no license file at the URL, no versioning. You find its shape by reading the page's JavaScript.
5. It is unstable in a way that hides its own depth. Ask it for too many rows and it returns an empty callback rather than an error. Our pull got 2,000 rows for most years — and 600 for 1999, 400 for 2018 and 2019, and 240 for 2021. The per-year depth is a property of what the endpoint tolerated on the day, not of the data. That is normal for a UI backend and disqualifying for anything that needs to be reproducible.
6. The negative was remembered more broadly than it was established. This is the expensive one, and it is ours, not Italy's. Somebody checked surnames, found nothing, and the note that survived said "Italy". Negative findings need the same precision as positive ones: what exactly was checked, and what exactly did the absence cover.
A checklist for hunting a national registry
Ordered by how often each one has actually worked:
- Query the agency's machine catalogue, not the agency's website. SDMX (
/rest/dataflow/), OData, or a CKANpackage_searchendpoint. This is the only search whose negative result means something, because it enumerates everything rather than ranking it. - Search the catalogue in the local language, and check what your substring also matches. Then search the English term too — agencies translate inconsistently.
- Open the agency's interactive pages and read their network traffic. Name explorers, population pyramids, "how popular is your name" toys. Every one of them is a public API with the documentation removed. Contanomi was found exactly this way.
- Query the national open-data portal separately. It aggregates ministries, regions and municipalities that never appear in the statistics institute's own catalogue.
- Then go down a level: municipalities. In several countries a national register is legally impossible while municipal ones are routine — see below for what they are and are not good for.
- Check whether the negative is structural or incidental. "No dataflow contains this word" plus a documented legal reason (dati sensibili) is a durable negative you can stop rechecking. "The site was down" is not.
- Write the negative finding down with its scope attached. Which query, which catalogue, which date, and — critically — which entity it covered. Surnames, not names. Our whole Italian mistake lives in that missing distinction.
The municipal detour, and the number that kills it
Italy's national open-data portal, dati.gov.it, answers a CKAN query for cognomi with 95 datasets — re-verified on 21 July 2026. These are real surname frequency tables from municipal population registers, several of them under CC0, which is a cleaner license than most national registries offer.
They are also, as a national distribution, useless. Here is the evidence, measured rather than asserted.
| City | Publisher | License | Rows | Floor | Top surnames |
|---|---|---|---|---|---|
| Bergamo | Regione Lombardia | CC0 1.0 | 1,750 (2021) | ≥11 | ROTA 845, LOCATELLI 744, ROSSI 407 |
| Brescia | Regione Lombardia | CC0 1.0 | 545 | ≥50 | SINGH 1,420, FERRARI 1,032, KAUR 877 |
| Pescara | Comune di Pescara | CC BY 4.0 | 2,077 | ≥11 | DI GIOVANNI 426, SPINELLI 400, MANCINI 396 |
Three Italian cities. Three completely different countries, as far as the surname distribution is concerned. Bergamo's leaders (ROTA, LOCATELLI, CATTANEO, MAZZOLENI) are Bergamasque and thin out within a hundred kilometres. Pescara's (DI GIOVANNI, CAMPLONE, RENZETTI) are Abruzzese. Brescia's number one surname is SINGH and its number three is KAUR, because Brescia has a large Punjabi community — a fact about one province that says nothing whatever about Italy.
Now the number that settles it. Take the top 200 surnames from each of the three cities and intersect them:
| Pair | Shared in top 200 |
|---|---|
| Bergamo ∩ Brescia | 49 |
| Brescia ∩ Pescara | 13 |
| Bergamo ∩ Pescara | 11 |
| All three | 7 |
Seven. ROSSI, ROMANO, MARTINELLI, CONTI, RUSSO, ESPOSITO, PELLEGRINI. Bergamo and Brescia are 50 km apart in the same region and share a quarter of their top 200. Add a third city 600 km south and the common core collapses to seven surnames.
So a national list cannot be assembled by stacking municipal ones unless you have all of them, weighted by population, across all twenty regions. Available coverage is a scatter of volunteers skewed to the north. These files are excellent for validating a corpus you already have, and disqualified for building one.
There is a bonus hiding in the Brescia file, and it is the most interesting column in this whole article. Brescia splits each count into italiani and stranieri — citizens and non-citizens:
| Surname | Total | Citizens | Non-citizens | Non-citizen share |
|---|---|---|---|---|
SINGH | 1,420 | 359 | 1,061 | 75% |
KAUR | 877 | 142 | 735 | 84% |
HU | 360 | 32 | 328 | 91% |
FERRARI | 1,032 | 1,032 | 0 | 0% |
ROSSI | 525 | 525 | 0 | 0% |
SAVOLDI | 334 | 334 | 0 | 0% |
That column measures, from inside a municipal spreadsheet, exactly what a much more famous registry measures with a completely different mechanism — how long a surname has been in the country. Spain's registry does it with the second-surname column; Brescia does it with a citizenship flag. Neither agency built the column for that purpose. We look at the Spanish version in detail in Rooted or Imported?.
Finding it is not the same as being able to use it
Two things stop this from being a happy ending, and both are worth saying because they are the usual shape of the problem.
The license. ISTAT's open data are CC BY — commercial reuse explicitly permitted, attribution mandatory. That is a generous license and it is also a constraint: attribution is not optional, and it has to be satisfied somewhere a reasonable person would look. This is where a surprising number of data projects stall. Attribution is an editorial decision, not a technical one, and it collides with product habits that have nothing to do with licensing — a house style that keeps sources out of the user-facing surface, a design with no room for a credits line, a fear that naming a national statistics institute implies its endorsement. None of those are reasons the license recognises. Where a project's output genuinely has nowhere to put a credit, the constraint has to be resolved before the file is used, not after. Finding data does not create the right to use it silently.
The cohort. Contanomi is births 1999–2024. Everybody in it is under 27. Italy has one of the oldest populations in Europe, so a name list built from that window describes a small and unrepresentative slice of living Italians. Leonardo and Mattia top the recent years; the men currently in their fifties and sixties are Giuseppe, Giovanni and Antonio, and Contanomi barely sees them. Swapping a whole-population list for a birth-cohort list because the birth-cohort list is bigger and better sourced would be a straightforward regression.
The right use is the one the shape of the data suggests: per-year data becomes per-decade cohorts, and the aggregate becomes a source for names the existing list is missing, not a replacement for it. A frequency table without a date is a photograph with no caption, and the caption is what tells you who is in it.
What the note should have said
The original entry read: "no name registry for Italy."
What it should have read, and now does:
Surnames. No national register exists. Verified against the full ISTAT SDMX dataflow catalogue (4,887 flows, zero matches for
cognom/surname), with a documented legal reason. Municipal registers exist — 95 datasets ondati.gov.it, several CC0 — but the three sampled cities share only 7 surnames in their respective top 200, so they cannot be aggregated into a national distribution. Useful for validation, not construction. Given names. A register exists. ISTAT Contanomi, 1999–2024, absolute birth counts by name, year and sex; 2,278 male and 2,051 female names over 10,612,982 births. Delivered by an undocumented JSONP endpoint behind an interactive widget, not through the data catalogue. Licensed CC BY (attribution mandatory). Covers a birth cohort, not the living population.
The second version is four times as long and every clause in it is load-bearing. That is the actual lesson. "There is no source" is not a finding. It is a summary of a finding, and summarising is where the information was lost.
Data as of 2026-07-21
Every figure in this article was measured on 21 July 2026 from the files and endpoints named below. The two live checks — the ISTAT SDMX catalogue and the dati.gov.it dataset count — were re-run on the day of writing rather than taken from earlier notes.
Sources:
- Italy — ISTAT, SDMX dataflow catalogue for agency
IT1. Downloaded 21 July 2026: 13,597,821 characters, 4,887 dataflow entries, zero matches forcognomorsurname. <esploradati.istat.it/SDMXWS/rest/dataflow/I…; - Italy — ISTAT, Contanomi, based on the survey Iscritti in anagrafe per nascita (sourced via ANPR from 2020). Years 1999–2024. Our pull: 2,278 male and 2,051 female distinct names, 10,612,982 births in total; smallest count present in the retrieved slices is 8. Licensed CC BY — source acknowledgement is required by the license and is given here. <istat.it/it/dati/contenuti-inte…; · license terms: <istat.it/note-legali/> ⚠ Per-year depth is uneven because the endpoint returns an empty response above a year-dependent row limit: 2,000 rows for most years, 600 for 1999, 400 for 2018 and 2019, 240 for 2021. The 10.6 million figure is therefore a floor on the births covered, not a census total.
- Italy —
dati.gov.it, CKANpackage_search?q=cognomi. Re-queried 21 July 2026: 95 datasets. <dati.gov.it/> - Bergamo — Regione Lombardia, municipal surname frequencies, series 1987–2021 (65,565 rows total; 1,750 rows and 59,652 bearers for 2021; suppression floor 11). CC0 1.0.
- Brescia — Regione Lombardia, graduatoria cognomi (545 rows, 58,181 bearers, floor 50, split into citizens 89.4% / non-citizens 10.6%). CC0 1.0.
- Pescara — Comune di Pescara, cognomi più diffusi 2025 (2,077 rows, 73,839 bearers, floor 11). CC BY 4.0.
- Treccani, Perché non possiamo contare i cognomi italiani — the documented account of ISTAT declining to release census surname data as dati sensibili. Cited as the source of the legal reason, not of any figure.
On the municipal figures. Individual top-of-list surnames are quoted as facts about three specific published datasets, together with their publishers and licenses. No substantial portion of any register is reproduced here, and the overlap statistic was computed locally rather than transcribed.
What is not in this article. No claim is made about what any project should load into any corpus. The licensing discussion describes a constraint, not a decision.