Imprese

L'API è stata sostituita dai nuovi endpoint disponibili in Company

Per accedere a tutti i dati anagrafici, le informazioni sull'attività, i soci ed alcuni dati economici di un’impresa italiana scopri i nuovi servizi di Company.

Deprecated starting from 2025-12-31

Tutte le informazioni di cui hai bisogno

Qui trovi qualche consiglio da prendere in considerazione per approcciare a questa API. Se preferisci forniamo esempi di codice, documentazione in OAS3, la possibilità di provare l'API dal vivo con la Swagger UI oppure importare l'intera collezione in Postman. Offriamo inoltre un ambiente di Sandbox dove puoi sperimentare tutte le API gratuitamente.

Utili consigli per iniziare con Imprese

Prendi il token nell'apposita sezione prima di cominciare.

Usa lo strumento online o generalo via API. Imposta una data di scadenza e aggiungi una serie di Scopes per limitare le possibli azioni permesse al token.


Conosci già il numero di partita IVA o il codice fiscale?

Ottieni informazioni sull'azienda con un'unica richiesta utilizzando uno degli endpoint disponibili:
/base/pec/soci/closed e /gruppoiva. Ognuno di essi restituisce informazioni specifiche, in modo da poter pagare solo ciò di cui si ha bisogno.
Se vuoi disporre di tutte le informazioni contemporaneamente, puoi usare /advance.

Cerchi un'azienda?

Ci sono due modalità per trovare un'azienda. Se hai bisogno di effettuare una ricerca veloce su milioni di aziende, ti suggeriamo /autocompleteCon questo è possibile affinare i risultati georeferenziando la richiesta.
Se hai bisogno di migliori opzioni di filtro, ti proponiamo /advance. Ti permette di filtrare per: nome dell'azienda, provincia, codice ateco, codice cciaa, codice rea, fatturato annuo, dipendenti, latitudine, longitudine e raggio. Ogni risultato contiene tutti i dati di /base, a meno che non si utilizzi l'opzione "dry_run" che restituisce gratuitamente solo il conteggio dei record.

Imprese (1.0.0)

Questo servizio fornisce chiamate REST per estrarre informazioni su aziende e società a partire da semplici parametri come la denominazione o la partita IVA.

A questo link è possibile trovare un elenco di aziende che permettono di provare il servizio in un ambiente sandbox.

Company Information

Partendo dai dati di base di un'azienda, come il numero di partita IVA, il codice fiscale o la denominazione, vengono estratte informazioni dettagliate sull'azienda stessa

Dati di base

Questo enpoint restituisce le informazioni di base di un'azienda, come il nome e l'indirizzo.

Authorizations:
bearerAuth
path Parameters
piva_cf_or_id
required
string
Example: 12485671007

Numero di partita IVA, codice fiscale o identificativo dell'azienda

Responses

Response Schema: application/json
object (Base)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/base/%7Bpiva_cf_or_id%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Ricerca avanzata e dati

Con questo endpoint è possibile stilare un elenco di aziende che corrispondono a determinati parametri descritti di seguito. La chiamata restituisce un massimo di 100 risultati anche se si imposta un limite superiore.

Authorizations:
bearerAuth
query Parameters
denominazione
string
Example: denominazione=altravia

nome dell'azienda (è possibile cercare parti del nome, purché si tratti di parole intere)

provincia
string
Example: provincia=RM

il codice della regione in cui si desidera effettuare la ricerca

codice_ateco
string
Example: codice_ateco=6201

codice ateco

cciaa
string
Example: cciaa=RM

Camera di Commercio

rea
string
Example: rea=1378273

codice rea

fatturato_min
integer
Example: fatturato_min=100000

valore di ricavo minimo

fatturato_max
integer
Example: fatturato_max=1000000

valore massimo dei ricavi

dipendenti_min
integer
Example: dipendenti_min=1

valore minimo dei dipendenti

dipendenti_max
integer
Example: dipendenti_max=5

valore massimo dei dipendenti

skip
integer
Example: skip=50

per impostare il numero di record che si desidera saltare dal set di risultati

limit
integer [ 1 .. 100 ]
Example: limit=10

numero di risultati che si desidera ricevere; se non viene impostato, la chiamata restituirà un massimo di 100 risultati

dry_run
integer
Enum: 1 0
Example: dry_run=0

simula una richiesta restituendo solo il numero di record trovati e il prezzo

lat
number <double> [ -90 .. 90 ]
Example: lat=13.5478

latitudine

lng
number <double> [ -180 .. 180 ]
Example: lng=42.859

longitudine

radius
integer ( 0 .. 3000 ]
Example: radius=100

raggio in metri

Responses

Response Schema: application/json
Array of objects (BaseElenco)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/advance?denominazione=altravia&provincia=RM&codice_ateco=6201&cciaa=RM&rea=1378273&fatturato_min=100000&fatturato_max=1000000&dipendenti_min=1&dipendenti_max=5&skip=50&limit=10&dry_run=0&lat=13.5478&lng=42.859&radius=100");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Ricerca avanzata e dati

Questo endpoint permette di ottenere informazioni avanzate su un'azienda, come il codice ateco, il bilancio e la pec.

Authorizations:
bearerAuth
path Parameters
piva_cf_or_id
required
string
Example: 12485671007

Numero di partita IVA, codice fiscale o ID

Responses

Response Schema: application/json
object (Advance)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/advance/%7Bpiva_cf_or_id%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Cessazione dell'attività

Semplice endpoint per capire in tempo reale se una partita IVA è cessata o meno secondo l'Agenzia delle Entrate.

Authorizations:
bearerAuth
path Parameters
piva_cf_or_id
required
string
Example: 12485671007

Numero di partita IVA, codice fiscale o ID

Responses

Response Schema: application/json
object
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/closed/%7Bpiva_cf_or_id%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Appartenenza a un gruppo IVA

Da questo endpoint è possibile capire se un'azienda fa parte di un gruppo IVA e se il codice fiscale è coerente con il numero di partita IVA preso come input.

Authorizations:
bearerAuth
path Parameters
piva_or_cf
required
string
Example: 12485671007

Numero di partita IVA o codice fiscale

query Parameters
cf
string
Example: cf=12345678910

se viene indicato un codice fiscale, questo servizio restituisce informazioni aggiuntive sulla relazione tra il gruppo IVA e il codice fiscale

Responses

Response Schema: application/json
object
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/gruppoiva/%7Bpiva_or_cf%7D?cf=12345678910");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Posta elettronica certificata

Partendo da un numero di partita IVA, estrae la pec dell'azienda.

Authorizations:
bearerAuth
path Parameters
piva_cf_or_id
required
string
Example: 12485671007

Numero di partita IVA, codice fiscale o ID

Responses

Response Schema: application/json
object
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/pec/%7Bpiva_cf_or_id%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{}

Ricerca per nome

Questo endpoint esegue una ricerca nell'elenco di tutte le aziende disponibili con la query indicata.

Authorizations:
bearerAuth
path Parameters
query
required
string
Examples:
  • altravia* - Inizia con
  • *altravia - Termina con
  • *altravia* - Contiene

Una query di ricerca; '*' può essere usato come carattere jolly per cercare le stringhe che iniziano, contengono o terminano con la query indicata.

query Parameters
lat
number <double> [ -90 .. 90 ]
Example: lat=13.5478

latitudine

lng
number <double> [ -180 .. 180 ]
Example: lng=42.859

longitudine

radius
integer ( 0 .. 3000 ]
Example: radius=100

raggio in metri

Responses

Response Schema: application/json
Array of objects (Autocomplete)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/autocomplete/%7Bquery%7D?lat=13.5478&lng=42.859&radius=100");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Tutti i moduli legali

Con questo endpoint è possibile vedere tutti i moduli legali registrati.

Authorizations:
bearerAuth

Responses

Response Schema: application/json
Array of objects (FormaGiuridica)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/forma_giuridica");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Forma giuridica specifica

Con questo endpoint è possibile vedere il valore del codice legale passato come parametro.

Authorizations:
bearerAuth
path Parameters
codice_natura_giuridica
required
string
Example: SP

codice legale

Responses

Response Schema: application/json
object (FormaGiuridica)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/forma_giuridica/%7Bcodice_natura_giuridica%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Un elenco di aziende aggiornate

Questo endpoint restituisce l'elenco di tutte le aziende (solo l'id).

Authorizations:
bearerAuth
query Parameters
lat
number <double> [ -90 .. 90 ]
Example: lat=13.5478

latitudine

lng
number <double> [ -180 .. 180 ]
Example: lng=42.859

longitudine

radius
integer ( 0 .. 3000 ]
Example: radius=100

raggio in metri

skip
integer
Example: skip=50

è possibile impostare un numero di record che si desidera saltare o l'id di un'azienda da cui si desidera partire

limit
integer
Example: limit=5000

viene utilizzato per impostare il numero massimo di risultati richiesti

dry_run
integer
Enum: 1 0
Example: dry_run=0

simula una richiesta restituendo solo il numero di record trovati

Responses

Response Schema: application/json
Array of objects
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/updates?lat=13.5478&lng=42.859&radius=100&skip=50&limit=5000&dry_run=0");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Un elenco di aziende aggiornate

Questo endpoint restituisce l'elenco di tutte le aziende che hanno avuto aggiornamenti dopo il superamento della soglia temporale tramite timestamp (solo l'id).

Authorizations:
bearerAuth
path Parameters
timestamp
required
integer
Example: 1645021792

timestamp

query Parameters
lat
number <double> [ -90 .. 90 ]
Example: lat=13.5478

latitudine

lng
number <double> [ -180 .. 180 ]
Example: lng=42.859

longitudine

radius
integer ( 0 .. 3000 ]
Example: radius=100

raggio in metri

skip
integer
Example: skip=50

è possibile impostare un numero di record che si desidera saltare o l'id di un'azienda da cui si desidera partire

limit
integer
Example: limit=5000

viene utilizzato per impostare il numero massimo di risultati richiesti

dry_run
integer
Enum: 1 0
Example: dry_run=0

simula una richiesta restituendo solo il numero di record trovati

Responses

Response Schema: application/json
Array of objects
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/updates/%7Btimestamp%7D?lat=13.5478&lng=42.859&radius=100&skip=50&limit=5000&dry_run=0");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Azionisti di una società

Questo endpoint restituisce l'elenco degli azionisti di una società che hanno una quota superiore al 10%.

Authorizations:
bearerAuth
path Parameters
piva_cf_or_id
required
string
Example: 12485671007

Numero di partita IVA, codice fiscale o identificativo dell'azienda

Responses

Response Schema: application/json
Array of objects (Soci)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/soci/%7Bpiva_cf_or_id%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Codice SDI di un'azienda

Questo endpoint restituisce il codice SDI dell'azienda aggiornato in tempo reale.

Authorizations:
bearerAuth
path Parameters
piva_cf_or_id
required
string
Example: 12485671007

Numero di partita IVA, codice fiscale o identificativo dell'azienda

Responses

Response Schema: application/json
object
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://imprese.openapi.it/codice_destinatario/%7Bpiva_cf_or_id%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}