Italy PEC Lookup - Certified Email & SDI Code by VAT
Pricing
from $6.00 / 1,000 pec lookups
Italy PEC Lookup - Certified Email & SDI Code by VAT
Resolve an Italian company's certified PEC email (domicilio digitale) and SDI e-invoicing code from a Partita IVA, Codice Fiscale or company name. For fatturazione elettronica, KYC and bulk enrichment. No official API.
Pricing
from $6.00 / 1,000 pec lookups
Rating
0.0
(0)
Developer
getregdata
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
7
Monthly active users
6 days ago
Last modified
Categories
Share
Italy Company Contact & E-Invoicing Lookup - PEC, SDI, VAT & Address
Resolve an Italian company's billing identity from a Partita IVA, Codice Fiscale, or company name - in bulk, one row per identifier. Legal name, VAT numbers, Codice Fiscale, registered office, certified email (PEC / domicilio digitale) and the SDI e-invoicing destination code: everything needed to raise a compliant Italian electronic invoice or verify a counterparty's contact details. Sourced from the official Camera di Commercio / Registro Imprese records. There is no official public API for this.
No login, no API key, nothing to configure - identifiers in, clean JSON out.
What data do you get?
One record per identifier:
| Field | Example |
|---|---|
query | 00159560366 |
denominazione | FERRARI S.P.A. |
partitaIVA | 00159560366 |
vatEuropeo (EU VAT) | IT00159560366 |
codiceFiscale | 00159560366 |
pec (certified email) | ferrari@pec.ferrari.com |
codiceDestinatarioSDI (e-invoicing) | M5UXCR1 |
indirizzo (registered office) | VIA EMILIA EST 1163 - 41122 - MODENA (MO) |
via | VIA EMILIA EST 1163 |
cap | 41122 |
comune | MODENA |
provincia | MO |
The address is returned both as the registry writes it and split into street, postcode, town and province, so you can filter or post to it without parsing.
If a company has not published a PEC, pec is returned as null. detailLevel is full for a complete record, or partial when the registry served a reduced page - on those the SDI code is unavailable rather than absent, so a null is never mistaken for "none on file".
Looking for REA, ATECO, legal form, share capital, profit or headcount? Those are the Italy Registro Imprese Scraper, which searches by company name and returns the full firmographic profile. This actor is the bulk, by-identifier contact resolver.
How much does it cost?
Pay per result - you are not charged for Apify platform usage, only per lookup. See the Pricing tab on this page for the current figure. The free Apify plan returns a small preview. No subscription, no minimum.
Is it legal, and where does the data come from?
Data originates from the Italian Camera di Commercio / Registro Imprese records, surfaced through a public portal - the same free public PEC / SDI data available on the registry layer. Extraction of this public data is permitted; you remain responsible for lawful use downstream.
How do I use it?
Click Try it and paste this input:
{ "identifiers": ["00159560366", "Barilla", "IT00789470519"] }
identifiers is a list of Partita IVA, Codice Fiscale, or company names - one result row per identifier.
What you can do with it
- Fatturazione elettronica - get the PEC, SDI destination code, VAT number and registered office needed to raise a compliant Italian electronic invoice.
- Supplier and customer onboarding - turn a list of VAT numbers into complete billing records for your AP/AR or ERP system.
- KYC contact verification - confirm a counterparty's official certified email and registered address.
- CRM enrichment - append legal name, EU VAT, Codice Fiscale and a split, filterable address to records you only have an identifier for.
Run it from code
# cURL - start a run and get the dataset backcurl -X POST "https://api.apify.com/v2/acts/regdata~italy-pec-lookup/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{ "identifiers": ["00159560366", "Barilla"] }'
// Node.js - apify-clientimport { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('regdata/italy-pec-lookup').call({ identifiers: ['00159560366', 'Barilla'] });const { items } = await client.dataset(run.defaultDatasetId).listItems();
# Python - apify-clientfrom apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("regdata/italy-pec-lookup").call(run_input={"identifiers": ["00159560366", "Barilla"]})items = client.dataset(run["defaultDatasetId"]).list_items().items
Integrations
Runs anywhere Apify does: call it from the REST API, schedule recurring enrichment, pipe results into n8n / Make / Zapier, or use it from any MCP client (Claude, Cursor) via mcp.apify.com.
FAQ
What is a PEC? Posta Elettronica Certificata - an Italian company's legally certified email (domicilio digitale), required for official correspondence and electronic invoicing.
What is the SDI code? The Codice Destinatario used to route Italian electronic invoices (fatturazione elettronica) through the Sistema di Interscambio.
What if a company has no PEC? pec is returned as null (the company has not published one).
Do I need an account, API key, or proxy? No - none of them. Just an Apify account.
Do you have the full company profile too? For REA, camera di commercio, legal form, registration date, ATECO, share capital, profit and employees, use the Italy Registro Imprese Scraper. It searches by company name; this actor takes a list of identifiers and returns the contact and billing set.
Which of the two should I use? If you already know the identifier and need to invoice or contact the company, use this one - it takes a batch and returns one row each. If you are researching or segmenting companies and need firmographics, use the Registro Imprese scraper.
Why is a field empty? A null means the registry publishes nothing there. Share capital and profit are not published for every company, and neither is a PEC. Identifiers we could not check at all are never reported as "no PEC" - they are listed in an UNVERIFIED record in the run's key-value store so you can re-run exactly those.
What export formats are supported? JSON, CSV, Excel, or XML, or read live via the API.
Related actors
Part of a suite of official government registry actors - no public API to build or maintain, pay per result, nothing to configure.
| Country | Actors |
|---|---|
| Poland | BDO · CRBR · KRS (financials) · EKW · KNF · KRS (board) · KRZ · MSiG · KYB check · PEP (Sejm) · REGON (sites) · REGON · UOKiK |
| Germany | Insolvenzbekanntmachungen · Handelsregister |
| Spain | BORME · Registro Mercantil · Registro Público Concursal |
| Italy | Contact & e-invoicing (this actor) · Registro Imprese |
| Austria | Ediktsdatei · WKO |
| France | Societe.com |
| Belgium | KBO / BCE |
| Czechia | ISIR |
| Slovakia | RPVS |
| Cyprus | DRCOR |
| Ireland | CRO |
| Portugal | Publicações MJ |
| Nigeria | CAC |
| Colombia | RUES |
| USA | California SoS · California UCC |
| UAE | ADGM |
| Global | Adverse media |
Common combinations: company register -> UBO -> insolvency/debtors -> adverse media is the standard KYB/onboarding chain.
For Poland that whole chain is one call: Poland KYB Risk Check takes a NIP or KRS and returns identity, beneficial owners and insolvency - screened against the company and every beneficial owner - as a single verdict. The component registry lookups it runs bill as usual, plus a small orchestration fee.
Full suite: apify.com/regdata · Callable from any MCP client via mcp.apify.com