Run with Postman

Imprese (1.0.0)

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.

Company Information

Starting from basic data of a company such as VAT number, tax code or denomination, detailed information on the company itself is extracted

Basic data

This enpoint returns basic information of a company such as company name and address.

Authorizations:
path Parameters
piva_cf_or_id
required
string
Default: "<string>"
Example: 12485671007

VAT number, tax code or company ID

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
}

Advanced search and data

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.

Authorizations:
query Parameters
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

Responses

Response Schema: application/json
Array of objects (BaseElenco) [ items ]
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
}

Advanced search and data

This endpoint gets advanced information about a company such as ateco code, balance sheet and pec.

Authorizations:
path Parameters
piva_cf_or_id
required
string
Default: "<string>"
Example: 12485671007

VAT number, tax code or 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
}

Cessation of activity

Simple endpoint to understand in real time if a VAT number has ceased or not according to the Tax Office.

Authorizations:
path Parameters
piva_cf_or_id
required
string
Default: "<string>"
Example: 12485671007

VAT number, tax code or 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
}

Membership of a VAT group

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.

Authorizations:
path Parameters
piva_or_cf
required
string
Default: "<string>"
Example: 12485671007

VAT number or tax code

query Parameters
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

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
}

Certified e-mail

Starting from a VAT number it extracts the pec of the company.

Authorizations:
path Parameters
piva_cf_or_id
required
string
Default: "<string>"
Example: 12485671007

VAT number, tax code or 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
{}

Search by name

This endpoint performs a search on the list of all the available companies with the given query.

Authorizations:
path Parameters
query
required
string
Default: "<string>"
Examples:
  • altravia* - Starts with
  • *altravia - Ends with
  • *altravia* - Contains

A search query; '*' can be used as a wildcard to search for strings that start, contain or end with the given query.

query Parameters
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

Responses

Response Schema: application/json
Array of objects (Autocomplete) [ items ]
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
}

All legal forms

With this endpoint you can see all the legal forms registered.

Authorizations:

Responses

Response Schema: application/json
Array of objects (FormaGiuridica) [ items ]
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
}

Specific legal form

With this endpoint you can see the value of the legal code passed as a parameter.

Authorizations:
path Parameters
codice_natura_giuridica
required
string
Default: "<string>"
Example: SP

legal code

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
}

A list of updated companies

This endpoint returns the list of all companies (just the id).

Authorizations:
query Parameters
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

Responses

Response Schema: application/json
Array of objects[ items ]
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
}

A list of updated companies

This endpoint returns the list of all companies that have had updates after the time threshold passed via timestamp (just the id).

Authorizations:
path Parameters
timestamp
required
integer
Default: "<integer>"
Example: 1645021792

timestamp

query Parameters
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

Responses

Response Schema: application/json
Array of objects[ items ]
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
}

Shareholders of a company

This endpoint returns the list of shareholders of a company who have a share of the company greater than 10 percent.

Authorizations:
path Parameters
piva_cf_or_id
required
string
Default: "<string>"
Example: 12485671007

VAT number, tax code or company ID

Responses

Response Schema: application/json
Array of objects (Soci) [ items ]
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
}

SDI code of a company

This endpoint returns the company's SDI code updated in real time.

Authorizations:
path Parameters
piva_cf_or_id
required
string
Default: "<string>"
Example: 12485671007

VAT number, tax code or company 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/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
}