Skip to main content

Start here

This guide contains public integration notes for Italy. Use it for identifier formats, search behavior, and country-specific caveats. The live source of truth for coverage, pricing, data sources, documents, legal forms, roles, and status values is the pricing page.

Italy coverage, pricing, and sources

Open the current catalog for supported datapoints, documents, sources, identifiers, and availability.
Country details below are preserved as integration notes. If a table or example conflicts with the live pricing page, use the pricing page as the source of truth and contact support.

Table of Contents

Data Sources

Italy uses two data sources that both access the Registro Imprese (Italian Business Register), the official economic registry managed by the Italian Chambers of Commerce. For a given entity, data comes from a single primary source — the system does not merge attributes across sources. It follows a deterministic priority chain and returns data from the first source that provides complete information.

Commercial companies

  • Registro Imprese — The official economic register managed by the Italian Chambers of Commerce. This is the primary source for comprehensive company data: company name, legal form, status, identifiers, registered address, share capital, ATECO activity codes, legal representatives, shareholders, subsidiaries, employees, and financial information when available.
  • Fast profile source — Used for search operations and onboarding profiles when a faster response is required. See Verification vs onboarding mode for how to decide whether the fast response is sufficient for your use case.

Sole entrepreneurs

  • Sole proprietor records — For sole proprietorships (Impresa Individuale), query using the owner’s personal Codice Fiscale. The response contains business name, address, ATECO codes, and owner information when available.
Verification and onboarding may use different source paths. Use the authoritative flag in dataStatus to decide whether to trigger a verification follow-up after onboarding.

Data Source Priority & Routing

For a given company query, data comes from one source only (all-or-nothing model):
  1. Official register data is used for verification-mode company, legal representative, shareholder, establishment, and subsidiary datapoints.
  2. Fast-source data is used for onboarding where available.
  3. Sole proprietors must be queried with their personal Codice Fiscale.
Use Italy coverage, pricing, and sources for the live mode and data block catalog.

Company Identifiers

Query Identifiers

Primary Identifier: The system uses Codice Fiscale as the company ID for all Italian entities. For companies (SRL, SPA, etc.), the 11-digit Codice Fiscale is typically identical to their Partita IVA. For sole proprietors, the 16-character personal Codice Fiscale must be used — they cannot be queried by their 11-digit VAT number.
/v2/company accepts the Codice Fiscale only. The id must be either an 11-digit Codice Fiscale with a valid control digit (00484960588, optionally written IT00484960588), or a 16-character personal Codice Fiscale for a sole proprietor. Whitespace, dots and hyphens around an 11-digit number are accepted and stripped, and the value is stored and echoed back in its bare, uppercase form.Anything else is rejected immediately with 400 invalid_request, before any register lookup, and is not billed. That includes a REA or CCIAA + REA code (RM-1734032), a sole proprietor’s Partita IVA, and an 11-digit number whose control digit does not check out. Pass these to /v2/search instead: it resolves them to the Codice Fiscale to use here.

Identifiers in API Response

VAT (Partita IVA) Validation

For verification-mode company lookups, the response includes a taxId block: the Partita IVA plus a verification object that records how the number was checked and by which authority. The Partita IVA is taken from the official register (for sole proprietors, whose Partita IVA differs from their Codice Fiscale, it is resolved automatically), then validated in two steps:
  1. VIES (EU). The number is checked against the EU VAT Information Exchange System. If it is registered for intra-EU trade, VIES returns a consultation number that is legal proof of the check, and verification.source is vies.
  2. Agenzia delle Entrate (domestic). Most Italian VAT numbers are not enabled for intra-EU trade, so VIES reports them as not valid even when they are perfectly active in Italy. When VIES does not confirm a number, it is checked against the Italian Revenue Agency (Agenzia delle Entrate), the authoritative source for domestic VAT status. A number confirmed there has verification.source set to agenzia_entrate.
If neither source confirms the number, verification.status is unverified. A company being active in the business register is never treated as a substitute for validating its VAT number.
A vies result is the strongest proof for intra-EU transactions because it carries a consultation number. An agenzia_entrate result confirms the number is active for domestic purposes but has no intra-EU consultation number.

Search Capabilities

Search automatically detects the identifier type and routes to the appropriate endpoint:
REA numbers are unique within a province but can exist in multiple provinces. Searching by REA only (without CCIAA) performs both a cross-province REA search and a company name search simultaneously, then combines and deduplicates the results.
Search is powered by the OpenAPI IT-search and IT-name endpoints. Name searches use fuzzy matching with up to 10 results. ID searches (Codice Fiscale, Partita IVA) return exact matches. The IT prefix on identifiers is automatically stripped.

Quirks & Gotchas

Mappings

Company Status

Company status is determined deterministically from Italian registry status codes. No AI inference is involved.
Status codes come from two sources: InfoCamere provides a simple A (active) / C (ceased) classification, while OpenAPI provides more granular codes (CF, CS, I, IF, IS, S). The richer code set is used when available. Unknown codes default to UNKNOWN status.
Italy has 70+ official legal form classifications managed by the Chambers of Commerce. Legal form mapping uses a deterministic code-to-description lookup for Italian names and a static dictionary for English translations. When no deterministic match is found, AI enrichment is used to translate and standardize the legal form, and to assign the ISO 20275 (ELF) code.
ISO 20275 (ELF) codes are assigned via AI enrichment. The most common forms (SRL = V9QP, SPA = 8888) have well-established mappings. Less common forms may not have assigned ELF codes.
Legal representatives are extracted from InfoCamere (AMM/ALB XML blocks) and OpenAPI (IT-full endpoint with isLegalRepresentative: true). Role standardization uses AI enrichment — the local Italian role name is always preserved verbatim. Both individuals and corporate entities can hold legal representative roles.
Role mapping is AI-enriched. The local Italian role name from the registry is always preserved as localName. The englishTranslation and standardized fields are generated by AI. Since the Italian registry uses free-text role descriptions rather than a fixed codelist, the set of possible roles is open-ended.

Other Key Persons

Other key persons are extracted from the OpenAPI IT-full endpoint when the isLegalRepresentative flag is false. These are persons associated with the company who do not have statutory authority to bind the company.
Other key persons are only available through the OpenAPI IT-full data source (used for onboarding profiles). InfoCamere blocchi data returns all persons in a single list without the isLegalRepresentative distinction. Both individuals and corporate entities can appear as other key persons.

Shareholders

Shareholders are extracted from both InfoCamere (SOC block) and OpenAPI (IT-full endpoint). Both individual and corporate shareholders are supported. Extraction Logic: Ownership Fields:
The InfoCamere SOC block does not include birth date/place for shareholders. When a shareholder is also a legal representative (common in small Italian companies), the system cross-references by fiscal code and copies birth information from the legal representative record to enrich the shareholder data.
The SOC block can fail with a 400 error for certain company types (e.g., cooperatives). In this case, the company profile is returned without shareholder data rather than failing the entire request.

Subsidiaries

Subsidiaries are the inverse of shareholders: companies in which the queried company holds equity. For Italy they are extracted from the InfoCamere PAS block (“Storia delle partecipazioni in altre societa’”). Fields populated: The PAS block is skipped for sole proprietorships. Historical transfers are not surfaced in v1; only currently-held participations. See Subsidiaries for the universal contract.

Activity Code Mapping

Italy uses the ATECO (Attivita Economiche) classification system, maintained by ISTAT (Italian National Institute of Statistics). The ATECO 2025 classification, effective from April 1, 2025, aligns with the EU’s NACE Rev. 2.1 system and has 6 levels of classification depth. Classification pipeline:
Available classifications in API responses: ISIC/NACE Generation Priority:
  1. Primary ATECO2025 code (if available)
  2. Primary ATECO2022 code (if ATECO2025 unavailable)
  3. RAE code (if no ATECO codes available)
  4. SAE code (if no other codes available)
ATECO code lengths vary from 2 to 6 digits depending on the granularity of the registered activity. There is no universal logic for code length. InfoCamere (primary source) typically provides ATECO2025 codes with NACE derivations. OpenAPI (fallback) provides ATECO2022 codes.

Data Availability

Data Availability Matrix

Documents by Company Type

All Company Types

Documents are ordered from InfoCamere and generated asynchronously. The Visura Camerale is deduplicated for 24 hours; subsequent requests within this period return the deduplicated version. Financial statements are historical documents and are deduplicated permanently since historical filings never change. Bilancio documents are listed dynamically from the InfoCamere API per company, showing all available fiscal years.

Example API Responses

All examples use placeholder data. Query: POST /v2/company with { "id": "<id>", "countryCode": "IT", "dataPoints": ["company", "legalRepresentatives"] }
When OpenAPI is the fallback source, legal representatives and shareholders are not available. Use InfoCamere (primary) for the most complete data.
Documents are returned when "dataPoints": ["availableDocuments"] is requested.
This example shows a company with multiple ATECO codes and full classification chain:
In this example:
  • Primary activity: 1073 (Manufacture of farinaceous products) from ATECO2025
  • ISIC/NACE: AI-derived from primary ATECO2025 code
  • Secondary activities: Additional ATECO codes for installation services
  • Single-value codes: RAE (pasta manufacturing), SAE (productive enterprises), SIC