Italy Company Registry Scraper - Registro Imprese, PEC, Bilanci
Pricing
from $1.50 / 1,000 company record scrapeds
Italy Company Registry Scraper - Registro Imprese, PEC, Bilanci
Scrape Italian company data from ufficiocamerale.it (Registro Imprese): VAT, tax code, REA, legal form, ATECO, registered address, revenue, profit, share capital, employees, SDI code and PEC certified email. Search by name, VAT or REA, or paste direct URLs. Cloudflare handled. JSON/CSV.
Pricing
from $1.50 / 1,000 company record scrapeds
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
4
Monthly active users
5 days ago
Last modified
Categories
Share
Italy Company Registry Scraper — Registro Imprese, PEC, Bilanci
Turn any Italian company name, VAT number, or REA code into structured registry data. This scraper pulls company records from ufficiocamerale.it, the public gateway to Italy's Camera di Commercio (Registro Imprese). Get VAT, REA, legal form, ATECO code, registered address, revenue, profit, share capital, employees, SDI e-invoicing code, and the PEC certified email — one clean row per company.
Search by name, VAT (Partita IVA), or REA — or paste direct company page URLs. Cloudflare and Italy-geolocated proxies are handled for you. JSON or CSV out.

Why Use This Scraper?
- Authoritative source. Data comes straight from ufficiocamerale.it — the public window onto Italy's official Camera di Commercio registry — not a stale data reseller.
- Financials included, for free. Revenue (Fatturato), profit (Utile), and share capital (Capitale sociale) are captured directly from the company page, each with its filing year.
- PEC certified email, decoded. The PEC address is pulled straight from the page (and de-obfuscated from Cloudflare's email protection) — no separate INI-PEC round-trip required.
- SDI e-invoicing code. The
codice destinatario(Codice Destinatario / SDI) is captured when the company publishes it — ready for electronic invoicing. - Cloudflare handled automatically. The site sits behind Cloudflare bot management; the scraper routes through Italy-exit residential proxies so you never touch proxy or CAPTCHA settings.
- Pay per result. One dataset row per company. No padding rows.
Overview
The Italy Company Registry Scraper is for anyone who needs authoritative Italian company data at scale: KYC/KYB teams, B2B lead generation, credit and due-diligence analysts, and data-enrichment pipelines keyed on VAT.
Each run returns a flat list of company records. You choose companies three ways:
- Search by company name, VAT number, or REA code.
- Province filter (name mode) to narrow results to a single Camera di Commercio.
- Direct URLs — paste exact company page links to skip discovery entirely.
The dataset shape is one JSON object per company, with 25+ fields spanning identity, address, activity classification, financials, certified contact, and e-invoicing.
Supported Inputs
The actor accepts either a search (mode + query) or a list of direct company URLs.
Search modes:
by_name— matches the company name against company page slugs (e.g.BCC Felsinea).by_vat_number— matches companies whose VAT (Partita IVA) appears in the page slug (e.g.00159560366).by_rea_number— matches companies whose REA number appears in the slug (e.g.MO-187940).
Direct company URLs look like:
https://www.ufficiocamerale.it/1295/bcc-felsinea-banca-di-credito-cooperativo-dal-1902-sc
Not supported: login-gated visura/bilancio PDFs, the paid "ACQUISTA VISURA / ACQUISTA BILANCIO" reports, and any data behind purchase (directors list, shareholder breakdown, insolvency detail). Those fields are returned as null — see the FAQ.
Use Cases
| Team | What they build |
|---|---|
| KYC / KYB compliance | Verify company identity, legal form, VAT, and registration before onboarding |
| B2B sales & lead gen | Prospect lists filtered by ATECO industry code, province, and company size |
| Credit & risk analysts | Screen revenue, profit, share capital, and filing status before extending credit |
| Due diligence & legal | Pull authoritative registry identifiers (VAT, REA, CCIAA) for entity mapping |
| Accounting & tax | Bulk-retrieve PEC certified emails and SDI codes for invoicing and correspondence |
| Data enrichment | Append Italian company attributes to CRM records using VAT as the join key |
How It Works
- Provide a query or direct URLs. Enter a company name, VAT, or REA code — or paste exact company page URLs to skip discovery.
- Company URLs are discovered. The scraper resolves your query to company page URLs using a public index of the site, then caps the candidate list to your
maxItems. - Each page is fetched through an Italy residential proxy. ufficiocamerale.it is behind Cloudflare; the scraper uses Italy-geolocated residential IPs so requests pass, with no proxy setup on your side.
- Fields are parsed. Registry fields (VAT, REA, ATECO, financials, capital, SDI code) come from the server-rendered page and JSON-LD; the PEC certified email is decoded from the page.
- One row per company is pushed to the dataset, honouring your province filter and item cap.
Input Configuration
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | No | by_name | Search mode: by_name, by_vat_number, or by_rea_number |
query | string | * | — | Company name, VAT number, or REA code, matching mode |
province | string | No | — | Two-letter CCIAA province code to filter name-search results (e.g. MI, RM, BO) |
directUrls | array | * | — | Exact ufficiocamerale.it company page URLs. Overrides mode/query |
maxItems | integer | No | 10 | Maximum companies to return (1–10,000) |
maxConcurrency | integer | No | 8 | Company pages fetched in parallel |
* Provide either query or directUrls.
Search by name, filtered by province:
{"mode": "by_name","query": "BCC Felsinea","province": "BO","maxItems": 10}
Direct URL — when you already have the company link:
{"directUrls": ["https://www.ufficiocamerale.it/1295/bcc-felsinea-banca-di-credito-cooperativo-dal-1902-sc"],"maxItems": 1}
Lookup by VAT number:
{"mode": "by_vat_number","query": "00602670556","maxItems": 1}
Output Overview
Each company is one flat JSON object. Fields group into: identity (VAT, tax code, REA, legal name/form, status), address (registered address plus structured locality/province/postal code), classification (ATECO code and description), financials (revenue, profit, share capital, employees — each with its year), and contact & e-invoicing (PEC certified email, SDI codice destinatario). Fields not published on the free page (or behind the paid visura) are returned as null.
Output Samples
Sample row from a direct-URL run on TERNINOX S.P.A.:
{"vat_number": "00602670556","tax_code": "00602670556","rea_number": "TR-63492","cciaa_chamber": "TR","legal_name": "TERNINOX S.P.A.","trade_name": null,"legal_form": "SOCIETA' PER AZIONI","status": "attiva","incorporation_date": "15/10/1991","cessation_date": null,"share_capital_eur": 20800000,"share_capital_year": 2024,"registered_address": "VIALE B. BRIN 218 - 05100 - TERNI (TR)","address_locality": "TERNI","address_province": "TR","address_postal_code": "05100","ateco_code": "241","ateco_description": "SIDERURGIA","employees_count": 54,"employees_year": 2024,"revenue_eur": 124885370,"revenue_year": 2023,"profit_eur": -17218371,"profit_year": 2023,"pec_email": "terninox@pec.acciaiterni.info","phone": null,"website": null,"codice_destinatario": "YZW23AT","amministratori": null,"soci": null,"has_filed_bilancio": true,"latest_bilancio_year": 2023,"bilancio_xbrl_url": null,"has_insolvency": null,"last_modification_date": null,"source_url": "https://www.ufficiocamerale.it/4527/terninox-spa","scraped_at": "2026-07-22T22:41:53.000Z"}
Key Output Fields
Identity
| Field | Type | Description |
|---|---|---|
vat_number | string | Partita IVA (Italian VAT number) |
tax_code | string | Codice Fiscale (tax code) |
rea_number | string | REA number with province prefix (e.g. TR-63492) |
cciaa_chamber | string | Camera di Commercio province code |
legal_name | string | Denominazione sociale (official legal name) |
trade_name | string | Trading name if different (often null) |
legal_form | string | Forma giuridica (SRL, SPA, SNC, cooperativa, …) |
status | string | attiva or cessata |
incorporation_date | string | Registration date (DD/MM/YYYY) |
cessation_date | string | Cessation date if any |
Address
| Field | Type | Description |
|---|---|---|
registered_address | string | Sede legale as a formatted string |
address_locality | string | City / comune |
address_province | string | Province code |
address_postal_code | string | CAP (postal code) |
Classification & financials
| Field | Type | Description |
|---|---|---|
ateco_code | string | Codice ATECO (Italian activity code) |
ateco_description | string | ATECO activity description |
employees_count | number | Number of employees |
employees_year | number | Year the employee count refers to |
revenue_eur | number | Fatturato (revenue) in EUR |
revenue_year | number | Year of the revenue figure |
profit_eur | number | Utile (net profit) in EUR |
profit_year | number | Year of the profit figure |
share_capital_eur | number | Capitale sociale in EUR |
share_capital_year | number | Year of the capital figure |
has_filed_bilancio | boolean | Whether a bilancio (annual accounts) figure is on record |
latest_bilancio_year | number | Most recent bilancio year seen |
Contact & e-invoicing
| Field | Type | Description |
|---|---|---|
pec_email | string | PEC (Posta Elettronica Certificata) certified email |
codice_destinatario | string | SDI Codice Destinatario for electronic invoicing |
phone | string | Phone if published (often null) |
website | string | Website if published (often null) |
source_url | string | The company page the data came from |
scraped_at | string | ISO timestamp of extraction |
FAQ
How do I search Italian companies by name?
Set mode to by_name and put the company name in query. Add a province code to narrow results to one Camera di Commercio. Short or common names may match several companies — use province or switch to directUrls.
Can I look up a company by VAT number (Partita IVA)?
Yes, via by_vat_number mode — with a caveat: most companies use their name (not their VAT) in the page URL, so VAT lookup only finds companies whose VAT appears in the slug. For guaranteed hits, use by_name or supply directUrls.
What is PEC email and why does it matter? PEC (Posta Elettronica Certificata) is Italy's certified email system — legally equivalent to registered post for official communications and invoicing. The scraper reads it directly from the company page (decoding Cloudflare's email obfuscation), so you get it without a separate lookup.
Which fields does the scraper NOT return?
The full directors list (amministratori), shareholder breakdown (soci), insolvency detail (has_insolvency), and the XBRL bilancio file (bilancio_xbrl_url) sit behind ufficiocamerale.it's paid "ACQUISTA VISURA / ACQUISTA BILANCIO" wall and are returned as null. Everything on the free public page is captured.
Do I need to configure proxies? No. ufficiocamerale.it is behind Cloudflare, so the scraper uses Italy-geolocated residential proxies automatically. There is nothing to set up.
How many companies can I scrape per run?
Up to 10,000 via maxItems. Discovery caps the candidate list to what you need.
Support
Need a field we don't yet capture, a different Italian registry source, or a bulk export? Open an issue on the actor's Issues tab or get in touch — feature requests go straight to the backlog, usually answered within 24 hours.
Additional Services
We build custom scrapers and data pipelines: tailored fields, scheduled bulk runs, CRM enrichment, and delivery to your warehouse or webhook. Ask about custom Italian company-data feeds keyed on VAT.
Explore More Scrapers
Browse our other actors on Apify: memo23 on Apify.
🤖 For AI Agents & LLM Apps
This actor is MCP-friendly. Quick reference for agents calling it via the Apify MCP server or API:
- Purpose: Fetch Italian company registry data (VAT, REA, ATECO, financials, PEC) from ufficiocamerale.it.
- Minimal input that runs:
{ "mode": "by_name", "query": "BCC Felsinea", "maxItems": 5 }
- Or, if you already have the page URL:
{ "directUrls": ["https://www.ufficiocamerale.it/1295/bcc-felsinea-banca-di-credito-cooperativo-dal-1902-sc"], "maxItems": 1 }
- Output: flat JSON rows. Key fields:
vat_number,tax_code,rea_number,cciaa_chamber,legal_name,legal_form,status,registered_address,ateco_code,ateco_description,employees_count,revenue_eur,profit_eur,share_capital_eur,pec_email,codice_destinatario,source_url. - Billing: pay per result (one row per company). Proxies included.
- Behaviors to know:
by_vat_number/by_rea_numberonly match when the identifier is in the page slug — preferby_nameordirectUrlsfor reliability. Paywalled fields (amministratori,soci,has_insolvency,bilancio_xbrl_url) are alwaysnull.
⚠️ Disclaimer
This actor is not affiliated with, endorsed by, or sponsored by ufficiocamerale.it, Openapi S.p.A., or the Italian Camere di Commercio / Unioncamere. All product names, trademarks, and registered trademarks are the property of their respective owners and are used here only to describe the data source.
The scraper collects only publicly available information published on ufficiocamerale.it. It does not bypass authentication, purchase paywalled documents, or access private data. Users are responsible for complying with the website's Terms of Service, applicable data-protection law (including GDPR), and any restrictions on the use of company and personal data. Use the extracted data lawfully and responsibly.
SEO Keywords
Italy company registry scraper, Registro Imprese scraper, ufficiocamerale scraper, Camera di Commercio data, Partita IVA lookup, Italian VAT number scraper, REA number lookup, PEC email scraper, codice destinatario SDI, ATECO code data, Italian company data API, visura camerale data, bilancio aziendale data, KYC KYB Italy, B2B lead generation Italy, Italian business directory scraper, company financials Italy, Italian company enrichment, due diligence Italy data, share capital revenue profit Italy