This service provides REST calls to extract information on businesses and companies from simple parameters such as denomination or VAT number.
At this link you can find a list of companies that allow you to try the service in a sandbox environment.
Starting from basic data of a company such as VAT number, tax code or denomination, detailed information on the company itself is extracted
This enpoint returns basic information of a company such as company name and address.
piva_cf_or_id required | string Default: "<string>" Example: 12485671007 VAT number, tax code or company ID |
object (Base) | |
success | boolean |
message | string |
error | integer |
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);
{- "data": {
- "cf": "12485671007",
- "denominazione": "OPENAPI S.R.L.",
- "piva": "12485671007",
- "toponimo": "VIALE",
- "via": "F TOMMASO MARINETTI",
- "civico": "221",
- "indirizzo": "VIALE F TOMMASO MARINETTI 221",
- "comune": "ROMA",
- "frazione": null,
- "provincia": "RM",
- "stato_attivita": "ATTIVA",
- "timestamp": 1622452306,
- "timestamp_creation": 1622452306,
- "timestamp_last_update": 1622452306,
- "cap": "00143",
- "codice_destinatario": "MJ1OYNU",
- "timestamp_codice_destinatario": 1622452306,
- "id": "60b4a85585e34e615c569ef5",
- "gps": {
- "coordinates": [
- 12.47843,
- 41.8071
]
}, - "data_iscrizione": "2013-07-19"
}, - "success": true,
- "message": "",
- "error": null
}
With this endpoint we can draw up a list of companies that correspond to certain parameters described below. The call returns a maximum of 100 results even if you set a higher limit.
denominazione | string Default: "<string>" Example: denominazione=altravia name of the company (you can search for parts of the name as long as they are whole words) |
provincia | string Default: "<string>" Example: provincia=RM the code of the region you want to search in |
codice_ateco | string Default: "<string>" Example: codice_ateco=6201 ateco code |
cciaa | string Default: "<string>" Example: cciaa=RM Chamber of Commerce |
rea | string Default: "<string>" Example: rea=1378273 rea code |
fatturato_min | integer Default: "<integer>" Example: fatturato_min=100000 minimum revenue value |
fatturato_max | integer Default: "<integer>" Example: fatturato_max=1000000 maximum revenue value |
dipendenti_min | integer Default: "<integer>" Example: dipendenti_min=1 minimum value of employees |
dipendenti_max | integer Default: "<integer>" Example: dipendenti_max=5 maximum value of employees |
skip | integer Default: "<integer>" Example: skip=50 to set the number of records you want to skip from the result set |
limit | integer [ 1 .. 100 ] Default: "<integer>" Example: limit=10 number of results you want to receive; if not set, the call will return a maximum of 100 results |
dry_run | integer Default: "<integer>" Enum: 1 0 Example: dry_run=0 simulates a request by returning only the number of records found and the price |
lat | number <double> [ -90 .. 90 ] Default: "<double>" Example: lat=13.5478 latitude |
lng | number <double> [ -180 .. 180 ] Default: "<double>" Example: lng=42.859 longitude |
radius | integer ( 0 .. 3000 ] Default: "<integer>" Example: radius=100 radius in meters |
Array of objects (BaseElenco) [ items ] | |
success | boolean |
message | string |
error | integer |
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);
{- "data": [
- {
- "cf": "12485671007",
- "denominazione": "OPENAPI S.R.L.",
- "piva": "12485671007",
- "toponimo": "VIALE",
- "via": "F TOMMASO MARINETTI",
- "civico": "221",
- "indirizzo": "VIALE F TOMMASO MARINETTI 221",
- "comune": "ROMA",
- "frazione": null,
- "provincia": "RM",
- "stato_attivita": "ATTIVA",
- "timestamp": 1622452306,
- "timestamp_creation": 1622452306,
- "timestamp_last_update": 1622452306,
- "cap": "00143",
- "id": "60b4a85585e34e615c569ef5",
- "gps": {
- "coordinates": [
- 12.47843,
- 41.8071
]
}, - "dettaglio": {
- "codice_natura_giuridica": "SR"
}, - "data_iscrizione": "2013-07-19"
}, - {
- "cf": "00291570844",
- "denominazione": "COM.MAR SRL",
- "piva": "00291570844",
- "toponimo": "VIA",
- "via": "OLIMPICA",
- "indirizzo": "VIA OLIMPICA",
- "comune": "RAVANUSA",
- "frazione": null,
- "provincia": "AG",
- "stato_attivita": "INATTIVA",
- "timestamp": 1643049486,
- "timestamp_creation": 1643049486,
- "timestamp_last_update": 1643049486,
- "cap": null,
- "id": "61f2c4d69fb8571d19235463",
- "gps": {
- "coordinates": [
- 13.9730583,
- 37.2627218
]
}, - "dettaglio": {
- "codice_natura_giuridica": "SR"
}, - "data_iscrizione": "1979-04-05"
}
], - "success": true,
- "message": "",
- "error": null
}
This endpoint gets advanced information about a company such as ateco code, balance sheet and pec.
piva_cf_or_id required | string Default: "<string>" Example: 12485671007 VAT number, tax code or ID |
object (Advance) | |
success | boolean |
message | string |
error | integer |
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);
{- "data": {
- "cf": "12485671007",
- "denominazione": "OPENAPI S.R.L.",
- "piva": "12485671007",
- "toponimo": "VIALE",
- "via": "F TOMMASO MARINETTI",
- "civico": "221",
- "indirizzo": "VIALE F TOMMASO MARINETTI 221",
- "comune": "ROMA",
- "frazione": null,
- "provincia": "RM",
- "stato_attivita": "ATTIVA",
- "timestamp": 1622452306,
- "timestamp_creation": 1622452306,
- "timestamp_last_update": 1622452306,
- "dettaglio": {
- "rea": "1378273",
- "cciaa": "RM",
- "codice_natura_giuridica": "SR",
- "descrizione_ateco": "Produzione di software non connesso all'edizione",
- "codice_ateco": "6201",
- "data_inizio_attivita": "2013-10-20",
- "bilanci": {
- "2017": {
- "data_chiusura_bilancio": "2017-12-31",
- "fatturato": 1120176,
- "utile": 2928
}, - "2018": {
- "data_chiusura_bilancio": "2018-12-31",
- "fatturato": 1325358,
- "utile": 826
}, - "2019": {
- "data_chiusura_bilancio": "2019-12-31",
- "fatturato": 1799587,
- "utile": 11309,
- "dipendenti": 14,
- "capitale_sociale": 10000
}
}, - "gruppo_iva": {
- "partecipazione": false,
- "piva_capogruppo": false,
- "anagrafica_ok": true
}, - "cessata": false,
- "timestamp_cessata": 1622452306,
- "soci": [
- {
- "denominazione": "OPEN HOLDING S.R.L.",
- "nome": null,
- "cognome": null,
- "cf_socio": "16935371001",
- "quota": 100
}
]
}, - "cap": "00143",
- "codice_destinatario": "MJ1OYNU",
- "timestamp_codice_destinatario": 1622452306,
- "id": "60b4f9c914e27c27d12a9d67",
- "gps": {
- "coordinates": [
- 12.47843,
- 41.8071
]
}, - "data_iscrizione": "2013-07-19"
}, - "success": true,
- "message": "",
- "error": null
}
Simple endpoint to understand in real time if a VAT number has ceased or not according to the Tax Office.
piva_cf_or_id required | string Default: "<string>" Example: 12485671007 VAT number, tax code or ID |
object | |
success | boolean |
message | string |
error | integer |
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);
{- "data": {
- "cessata": false
}, - "success": true,
- "message": "",
- "error": null
}
From this endpoint you can understand if a company is part of a VAT group and if the tax code is consistent with the VAT number taken as input.
piva_or_cf required | string Default: "<string>" Example: 12485671007 VAT number or tax code |
cf | string Default: "<string>" Example: cf=12345678910 if a tax code is given, this service will return additional information about the relationship between the VAT group and the tax code |
object | |
success | boolean |
message | string |
error | integer |
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);
{- "data": {
- "gruppo_iva": {
- "partecipazione": false,
- "piva_capogruppo": false,
- "anagrafica_ok": true
}
}, - "success": true,
- "message": "",
- "error": null
}
Starting from a VAT number it extracts the pec of the company.
piva_cf_or_id required | string Default: "<string>" Example: 12485671007 VAT number, tax code or ID |
object | |
success | boolean |
message | string |
error | integer |
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);
{- "success": true,
- "message": "",
- "error": null
}
This endpoint performs a search on the list of all the available companies with the given query.
query required | string Default: "<string>" Examples:
A search query; '*' can be used as a wildcard to search for strings that start, contain or end with the given query. |
lat | number <double> [ -90 .. 90 ] Default: "<double>" Example: lat=13.5478 latitude |
lng | number <double> [ -180 .. 180 ] Default: "<double>" Example: lng=42.859 longitude |
radius | integer ( 0 .. 3000 ] Default: "<integer>" Example: radius=100 radius in meters |
Array of objects (Autocomplete) [ items ] | |
success | boolean |
message | string |
error | integer |
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);
{- "data": [
- {
- "id": "60b4a85585e34e615c569ef5",
- "denominazione": "ALTRAVIA SERVIZI SOCIETA' A RESPONSABILITA' LIMITATA"
}
], - "success": true,
- "message": "",
- "error": null
}
With this endpoint you can see all the legal forms registered.
Array of objects (FormaGiuridica) [ items ] | |
success | boolean |
message | string |
error | integer |
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);
{- "data": [
- {
- "codice_natura_giuridica": "AA",
- "valore": "SOCIETA' IN ACCOMANDITA PER AZIONI"
}, - {
- "codice_natura_giuridica": "AN",
- "valore": "SOCIETA' CONSORTILE IN NOME COLLETTIVO"
}, - {
- "codice_natura_giuridica": "EI",
- "valore": "ENTE IMPRESA"
}, - {
- "codice_natura_giuridica": "RR",
- "valore": "SOCIETA' A RESPONSABILITA' LIMITATA A CAPITALE RIDOTTO"
}
], - "success": true,
- "message": "",
- "error": null
}
With this endpoint you can see the value of the legal code passed as a parameter.
codice_natura_giuridica required | string Default: "<string>" Example: SP legal code |
object (FormaGiuridica) | |
success | boolean |
message | string |
error | integer |
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);
{- "data": {
- "codice_natura_giuridica": "SP",
- "valore": "SOCIETA' PER AZIONI"
}, - "success": true,
- "message": "",
- "error": null
}
This endpoint returns the list of all companies (just the id).
lat | number <double> [ -90 .. 90 ] Default: "<double>" Example: lat=13.5478 latitude |
lng | number <double> [ -180 .. 180 ] Default: "<double>" Example: lng=42.859 longitude |
radius | integer ( 0 .. 3000 ] Default: "<integer>" Example: radius=100 radius in meters |
skip | integer Default: "<integer>" Example: skip=50 you can set a number of records you want to skip or the id of a company you want to start from |
limit | integer Default: "<integer>" Example: limit=5000 is used to set the maximum number of results required |
dry_run | integer Default: "<integer>" Enum: 1 0 Example: dry_run=0 simulates a request by returning only the number of records found |
Array of objects[ items ] | |
success | boolean |
message | string |
error | integer |
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);
{- "data": [
- {
- "id": "61f2c4d69fb8571d19235463"
}, - {
- "id": "61f4r5y69fb8571d19237859"
}, - {
- "id": "61f2f6t09fb8571d19237773"
}
], - "success": true,
- "message": "",
- "error": null
}
This endpoint returns the list of all companies that have had updates after the time threshold passed via timestamp (just the id).
timestamp required | integer Default: "<integer>" Example: 1645021792 timestamp |
lat | number <double> [ -90 .. 90 ] Default: "<double>" Example: lat=13.5478 latitude |
lng | number <double> [ -180 .. 180 ] Default: "<double>" Example: lng=42.859 longitude |
radius | integer ( 0 .. 3000 ] Default: "<integer>" Example: radius=100 radius in meters |
skip | integer Default: "<integer>" Example: skip=50 you can set a number of records you want to skip or the id of a company you want to start from |
limit | integer Default: "<integer>" Example: limit=5000 is used to set the maximum number of results required |
dry_run | integer Default: "<integer>" Enum: 1 0 Example: dry_run=0 simulates a request by returning only the number of records found |
Array of objects[ items ] | |
success | boolean |
message | string |
error | integer |
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);
{- "data": [
- {
- "id": "61f2c4d69fb8571d19235463"
}, - {
- "id": "61f4r5y69fb8571d19237859"
}
], - "success": true,
- "message": "",
- "error": null
}
This endpoint returns the list of shareholders of a company who have a share of the company greater than 10 percent.
piva_cf_or_id required | string Default: "<string>" Example: 12485671007 VAT number, tax code or company ID |
Array of objects (Soci) [ items ] | |
success | boolean |
message | string |
error | integer |
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);
{- "data": [
- {
- "denominazione": "OPEN HOLDING S.R.L.",
- "nome": null,
- "cognome": null,
- "cf_socio": "16935371001",
- "quota": 100
}
], - "success": true,
- "message": "",
- "error": null
}
This endpoint returns the company's SDI code updated in real time.
piva_cf_or_id required | string Default: "<string>" Example: 12485671007 VAT number, tax code or company ID |
object | |
success | boolean |
message | string |
error | integer |
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);
{- "data": {
- "codice_destinatario": "MJ1OYNU"
}, - "success": true,
- "message": "",
- "error": null
}