# Italy Registro Imprese Scraper - Company Data & PEC (`regdata/italy-registro-imprese-scraper`) Actor

Search Italy's official Registro Imprese (InfoCamere) by company name and extract free-tier company data: name, registered office, PEC (certified email), legal form, ATECO activity and business description. No official API - structured JSON.

- **URL**: https://apify.com/regdata/italy-registro-imprese-scraper.md
- **Developed by:** [getregdata](https://apify.com/regdata) (community)
- **Categories:** Lead generation, Automation, Agents
- **Stats:** 16 total users, 9 monthly users, 82.2% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 company records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Italy Registro Imprese Scraper - Company Data, PEC & ATECO

Look up **Italian companies** by name or VAT number (Partita IVA) and get structured company data from the official **Camera di Commercio / Registro Imprese** records - identity, REA, legal form, ATECO industry code, address, share capital, the certified email (PEC), and the e-invoicing SDI code. Beyond what the registry's manual search allows, and there is no official public API for this.

**No login, no API key, nothing to configure** - a query in, clean JSON out.

### What data do you get?

One record per company:

| Field | Example |
|---|---|
| `denominazione` (legal name) | FERRARI S.P.A. |
| `partitaIVA` / `vatEuropeo` | 00159560366 / IT00159560366 |
| `codiceFiscale` | 00159560366 |
| `rea` (+ `cameraCommercio`) | 88683 (MO) |
| `formaGiuridica` (legal form) | SOCIETA' PER AZIONI |
| `dataIscrizione` | 23/05/1960 |
| `atecoCode` / `atecoDescription` | 291 - Fabbricazione di autoveicoli |
| `indirizzo` (+ `via`, `cap`, `comune`, `provincia`) | VIA EMILIA EST 1163 - 41122 - MODENA (MO) |
| `capitaleSociale` (where filed) | € 20.260.000,00 |
| `utile` (profit, where filed) | € 1.619.983.155,00 |
| `dipendenti` (employees) | 5186 |
| `pec` (certified email, if published) | ferrari@pec.ferrari.com |
| `codiceDestinatarioSDI` (e-invoicing, if published) | returned when the firm has one |

**Field availability varies by company.** Identity fields (name, P.IVA, Codice Fiscale, REA, chamber, legal form) are returned for every company. Financials, ATECO, PEC, and the SDI code are returned where the company has published them - large firms are typically complete; sole traders and micro-firms publish less. Fields not on file return `null`.

### How much does it cost?

**Pay per result** - you are not charged for Apify platform usage, only per company record. See the **Pricing** tab on this page for the current figure. The free Apify plan returns a small preview; upgrade for full use. 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. It is the same identity, REA, ATECO, address, capital, and PEC you would see on the free 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:

```json
{ "query": "Ferrari S.p.A.", "maxResults": 5 }
```

`query` is a company name **or** a Partita IVA (VAT). Optionally pass `startUrls` (direct company-page URLs) to skip the name lookup, and `maxResults` (1-30, default 5).

### Input options

| Parameter | Type | Description |
|---|---|---|
| `query` | string | Company name or Partita IVA (VAT). Optional if `startUrls` is provided. |
| `startUrls` | array | Direct company-page URLs (skips the name lookup). |
| `maxResults` | integer | Max companies for a name search (1-30, default 5). |

### Scope

- Returns the **free public layer** of Italian company data.
- Directors/shareholders, insolvency events (Procedure e Pregiudizievoli), and full official *bilanci* / *visure* are **paid InfoCamere products** and are **not** included.
- For the certified email only (cheaper, bulk), see the **[Italy PEC Lookup](https://apify.com/regdata/italy-pec-lookup)** actor.

### What you can do with it

- **KYB / onboarding** - verify an Italian counterparty's identity, VAT, legal form, REA, and status before onboarding.
- **B2B lead generation** - build prospect lists with PEC, ATECO industry code, province, and size.
- **Credit & supplier risk** - check share capital, profit, and registration age.
- **E-invoicing / accounting** - pull the certified PEC address and the SDI destination code for fatturazione elettronica.
- **CRM enrichment** - append authoritative Italian company attributes, using the VAT number as a stable join key.

### Run it from code

```bash
## cURL - start a run and get the dataset back
curl -X POST "https://api.apify.com/v2/acts/regdata~italy-registro-imprese-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "query": "Ferrari S.p.A.", "maxResults": 5 }'
```

```javascript
// Node.js - apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('regdata/italy-registro-imprese-scraper').call({ query: 'Ferrari S.p.A.', maxResults: 5 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

```python
## Python - apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("regdata/italy-registro-imprese-scraper").call(run_input={"query": "Ferrari S.p.A.", "maxResults": 5})
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](https://mcp.apify.com).

### FAQ

**Is the data official?** Yes. It originates from the Italian Camera di Commercio / Registro Imprese records - the same identity, REA, ATECO, address, capital, and PEC you would see on the free registry layer.

**Do I need an account, API key, or proxy?** No - none of them. Just provide a query and run it; you only need an Apify account.

**Why not directors, shareholders, or full bilanci?** Those are sold as paid *visura* / *bilancio* products by InfoCamere. This actor returns the genuinely free public layer only - no paywalled documents, no surprises.

**How fresh is it?** Lookups hit the live public company pages at run time, so you get current data, not a stale cached index.

**Can I bulk-enrich?** Yes. Pass company names or VAT numbers (or `startUrls`), run on a schedule, and use the Partita IVA as a stable join key for your CRM.

**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](https://apify.com/regdata/bdo-waste-registry-scraper) · [CRBR](https://apify.com/regdata/crbr-beneficial-owners-scraper) · [KRS (financials)](https://apify.com/regdata/poland-krs-financial-scraper) · [EKW](https://apify.com/regdata/ekw-ksiegi-wieczyste-scraper) · [KNF](https://apify.com/regdata/knf-registry-scraper) · [KRS (board)](https://apify.com/regdata/krs-fullnames-scraper) · [KRZ](https://apify.com/regdata/krz-debtor-scraper) · [MSiG](https://apify.com/regdata/msig-scraper) · [KYB check](https://apify.com/regdata/poland-kyb-check) · [PEP (Sejm)](https://apify.com/regdata/poland-parliamentary-pep-scraper) · [REGON (sites)](https://apify.com/regdata/polish-premises-prospector) · [REGON](https://apify.com/regdata/polish-regon-scraper) · [UOKiK](https://apify.com/regdata/uokik-clauses-scraper) |
| Germany | [Insolvenzbekanntmachungen](https://apify.com/regdata/germany-insolvency-scraper) · [Handelsregister](https://apify.com/regdata/germany-handelsregister-scraper) |
| Spain | [BORME](https://apify.com/regdata/borme-corporate-acts-scraper) · [Registro Mercantil](https://apify.com/regdata/spain-company-directory-scraper) · [Registro Público Concursal](https://apify.com/regdata/spain-concursal-scraper) |
| Italy | [INI-PEC](https://apify.com/regdata/italy-pec-lookup) · **Registro Imprese (this actor)** |
| Austria | [Ediktsdatei](https://apify.com/regdata/austria-ediktsdatei-scraper) · [WKO](https://apify.com/regdata/wko-business-directory-scraper) |
| France | [Societe.com](https://apify.com/regdata/societe-com-scraper) |
| Belgium | [KBO / BCE](https://apify.com/regdata/belgium-kbo-company-scraper) |
| Czechia | [ISIR](https://apify.com/regdata/czech-isir-insolvency-scraper) |
| Slovakia | [RPVS](https://apify.com/regdata/slovakia-rpvs-ubo-scraper) |
| Cyprus | [DRCOR](https://apify.com/regdata/cyprus-drcor-company-scraper) |
| Ireland | [CRO](https://apify.com/regdata/ireland-cro-company-scraper) |
| Portugal | [Publicações MJ](https://apify.com/regdata/portugal-corporate-acts-scraper) |
| Nigeria | [CAC](https://apify.com/regdata/nigeria-cac-company-scraper) |
| Colombia | [RUES](https://apify.com/regdata/colombia-rues-company-scraper) |
| USA | [California SoS](https://apify.com/regdata/california-sos-business-scraper) · [California UCC](https://apify.com/regdata/california-ucc-lien-scraper) |
| UAE | [ADGM](https://apify.com/regdata/uae-adgm-public-register-scraper) |
| Global | [Adverse media](https://apify.com/regdata/adverse-media-screener) |

**Common combinations:** company register -> [UBO](https://apify.com/regdata/crbr-beneficial-owners-scraper) -> [insolvency/debtors](https://apify.com/regdata/krz-debtor-scraper) -> [adverse media](https://apify.com/regdata/adverse-media-screener) is the standard KYB/onboarding chain.

For Poland that whole chain is one call: [Poland KYB Risk Check](https://apify.com/regdata/poland-kyb-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](https://apify.com/regdata) · Callable from any MCP client via [mcp.apify.com](https://mcp.apify.com)

# Actor input Schema

## `query` (type: `string`):

Company name (denominazione) or Italian VAT number (Partita IVA) to look up, e.g. "Ferrari S.p.A." or "00159560366".

## `startUrls` (type: `array`):

Optional. Direct ufficiocamerale.it company-page URLs to scrape, skipping the name lookup. Use when you already have the page URLs.

## `maxResults` (type: `integer`):

Maximum number of matching companies to return for a name search (1-30).

## Actor input object example

```json
{
  "query": "Ferrari S.p.A.",
  "maxResults": 5
}
```

# Actor output Schema

## `companies` (type: `string`):

One record per Italian company: denominazione, partitaIVA, codiceFiscale, rea, formaGiuridica, atecoCode, address, capitaleSociale, dipendenti, pec and codiceDestinatarioSDI. `detailLevel` is 'full' for a complete registry record, or 'partial' when the source served a reduced page - REA, legal form, share capital and SDI are then unavailable rather than absent.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "query": "Ferrari S.p.A."
};

// Run the Actor and wait for it to finish
const run = await client.actor("regdata/italy-registro-imprese-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "query": "Ferrari S.p.A." }

# Run the Actor and wait for it to finish
run = client.actor("regdata/italy-registro-imprese-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "query": "Ferrari S.p.A."
}' |
apify call regdata/italy-registro-imprese-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=regdata/italy-registro-imprese-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/V4iPB4ow1gOU0wKL7/builds/51QMglEDSKHPADfwS/openapi.json
