IVASS APIruipubblico.ivass.it ↗
Search the Italian IVASS Single Register of Insurance Intermediaries (RUI) by name, registration number, or section. Returns paginated intermediary records.
What is the IVASS API?
The IVASS RUI API provides access to Italy's public Single Register of Insurance and Reinsurance Intermediaries through 1 endpoint, search_intermediaries, returning paginated records that include registration numbers, registry sections, and intermediary names. You can search by last name (nominativo), registration number (numero_iscrizione), or filter by one or more of the seven registry sections (A through G). Each response includes total_elements and total_pages for full pagination control.
curl -X GET 'https://api.parse.bot/scraper/87bfc75a-c861-429b-9459-ec4b97e0cda7/search_intermediaries?page=0&size=5&sezione=A&nominativo=Rossi&numero_iscrizione=A000752135' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace ruipubblico-ivass-it-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.ivass_insurance_intermediaries_registry_api import Ivass, Sezione
client = Ivass()
# Search intermediaries by last name in section A (Agenti)
for intermediary in client.intermediaries.search(nominativo="Rossi", sezione=Sezione.A, size=5, limit=10):
print(intermediary.nominativo, intermediary.numero_iscrizione, intermediary.descrizione_sezione, intermediary.codice_fiscale)
Search insurance intermediaries in the IVASS public registry (RUI). Returns paginated results matching the given criteria. At least one of nominativo or numero_iscrizione must be provided. Supports filtering by registry section (A through G). Pagination is zero-based. The search is case-insensitive and includes partial matches on nominativo.
| Param | Type | Description |
|---|---|---|
| page | integer | Zero-based page number for pagination. |
| size | integer | Number of results per page, between 1 and 100. |
| sezione | string | Comma-separated list of registry sections to search. Accepted individual values: A (Agenti), B (Broker), C (Produttori diretti), D (Banche, intermediari finanziari, SIM e Poste Italiane), E (Collaboratori), F (Operatori di bancassicurazione), G (Intermediari UE). |
| nominativo | string | Last name (cognome) of the intermediary to search for (e.g. Rossi). Case-insensitive, partial matches included. |
| numero_iscrizione | string | Registration number (matricola) of the intermediary (e.g. A000752135, E000752656). Alphanumeric identifier starting with a section letter. |
{
"type": "object",
"fields": {
"page": "integer, current zero-based page number",
"size": "integer, page size used",
"items": "array of intermediary records with fields: numero_iscrizione, sezione, descrizione_sezione, nominativo, cognome, nome, codice_fiscale, data_inizio, data_nascita, comune_nascita, sigla_nascita, ragione_sociale_compagnia, attivita_esercita, url_web_site",
"total_pages": "integer, total number of pages available",
"total_elements": "integer, total number of matching records"
},
"sample": {
"data": {
"page": 0,
"size": 10,
"items": [
{
"nome": "NICOLA",
"cognome": "ROSSI",
"sezione": "A",
"nominativo": "ROSSI NICOLA",
"data_inizio": "05/06/2024",
"data_nascita": "03/08/1998",
"url_web_site": "",
"sigla_nascita": "RO",
"codice_fiscale": "RSSNCL98M03L359J",
"comune_nascita": "TRECENTA",
"attivita_esercita": "Assicurativa",
"numero_iscrizione": "A000752135",
"descrizione_sezione": "Agenti",
"ragione_sociale_compagnia": ""
}
],
"total_pages": 1,
"total_elements": 1
},
"status": "success"
}
}About the IVASS API
What the API Returns
The search_intermediaries endpoint queries the IVASS RUI public registry and returns a paginated list of intermediary records. Each response envelope contains page, size, total_pages, and total_elements alongside an items array of matching intermediary records. At least one of nominativo or numero_iscrizione must be provided per request — the API will not return a full registry dump.
Search Parameters
You can narrow results using three main filters. nominativo accepts a partial, case-insensitive last name, so searching Rossi will return all registered intermediaries whose surname matches. numero_iscrizione accepts an alphanumeric registration number such as A000752135 or E000752656, where the leading letter corresponds to one of the seven registry sections. The optional sezione parameter accepts a comma-separated list of section codes (A, B, C, D, E, F, G), letting you restrict results to specific intermediary categories — for example, section A covers insurance agents and section B covers brokers.
Pagination
Results are paginated using zero-based page indexing. The size parameter controls how many records are returned per page, with a maximum of 100. Use total_pages and total_elements from the response to iterate through large result sets programmatically.
Registry Coverage
The RUI is maintained by IVASS (Istituto per la Vigilanza sulle Assicurazioni), Italy's insurance regulatory authority. The register covers all licensed insurance and reinsurance intermediaries authorized to operate in Italy, including individuals and companies across all seven sections of the register.
The IVASS API is a managed, monitored endpoint for ruipubblico.ivass.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ruipubblico.ivass.it changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official ruipubblico.ivass.it API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Verify whether a specific Italian insurance agent or broker holds a valid RUI registration before engaging their services
- Look up a registration number from a policy document to confirm the intermediary's section and authorization status
- Build a compliance workflow that cross-checks client-submitted intermediary credentials against the official IVASS register
- Enumerate all intermediaries in a specific RUI section (e.g., section B brokers) for market research or lead generation
- Integrate RUI validation into an insurance onboarding form to flag unregistered or incorrectly identified intermediaries
- Monitor the RUI for newly registered intermediaries matching a particular surname for due-diligence workflows
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does IVASS provide an official public developer API for the RUI registry?+
What does the `sezione` parameter control, and what are the valid values?+
sezione parameter filters results to one or more of the seven RUI sections: A (insurance agents), B (brokers), C (direct-writer employees), D (ancillary intermediaries), E, F, and G. Pass a comma-separated string such as A,B to include multiple sections in one request. If omitted, results span all sections.Is it possible to retrieve a full list of all registered intermediaries without a name or registration number?+
nominativo or numero_iscrizione to be provided; open-ended registry dumps are not supported. You can fork this API on Parse and revise it to add a broader listing endpoint if the underlying registry exposes one.Does the API return detailed intermediary profile data such as address, contact information, or authorization history?+
search_intermediaries endpoint returns the fields present in the registry search results: registration number, section, and intermediary name, wrapped in pagination metadata. Detailed profile pages — including address, appointment history, or sanctions — are not covered by this endpoint. You can fork the API on Parse and revise it to add a detail-lookup endpoint for that data.