curl --request GET \
--url https://api.gabin.ai/v1/companies \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gabin.ai/v1/companies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gabin.ai/v1/companies"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"siren": "999100017",
"name": "Atelier Thermique du Rhône",
"naf_code": "43.29A",
"naf_label": "Travaux d'isolation",
"sector": "renovation-energetique",
"created_on": "2014-03-12",
"active": true,
"partial_diffusion": false,
"gabin_url": "https://gabin.ai/entreprise/atelier-thermique-du-rhone-999100017",
"legal_form": "SAS, société par actions simplifiée",
"headcount_range": "11",
"headquarters": {
"address": "12 rue Émile Zola",
"postal_code": "69100",
"city": "Villeurbanne"
},
"latest_revenue": null,
"latest_revenue_year_end": null
}
],
"meta": {
"page": {
"next_cursor": null,
"limit": 20
},
"total": 1,
"total_kind": "exact"
}
}Search companies
Companies matching a name and/or filters (activity, location, size, legal form, revenue, creation date).
With a location (insee, iris, department), a company matches when it has an establishment there, open or closed (headquarters_only=true for the registered office only); results come newest first in a city, in index order in a department. With a name (q), exact names come first. With neither, the largest active companies by latest revenue are returned (latest_revenue filled); a rare activity can take too long and answers ZONE_REQUIRED.
Returns company summaries; call GET /v1/companies/ for a full profile.
curl --request GET \
--url https://api.gabin.ai/v1/companies \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gabin.ai/v1/companies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gabin.ai/v1/companies"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"siren": "999100017",
"name": "Atelier Thermique du Rhône",
"naf_code": "43.29A",
"naf_label": "Travaux d'isolation",
"sector": "renovation-energetique",
"created_on": "2014-03-12",
"active": true,
"partial_diffusion": false,
"gabin_url": "https://gabin.ai/entreprise/atelier-thermique-du-rhone-999100017",
"legal_form": "SAS, société par actions simplifiée",
"headcount_range": "11",
"headquarters": {
"address": "12 rue Émile Zola",
"postal_code": "69100",
"city": "Villeurbanne"
},
"latest_revenue": null,
"latest_revenue_year_end": null
}
],
"meta": {
"page": {
"next_cursor": null,
"limit": 20
},
"total": 1,
"total_kind": "exact"
}
}Authorizations
API key gab_live_… or OAuth access token gat_….
Query Parameters
Cursor returned in meta.page.next_cursor by the previous page. Keep the same filters; the page size is the one of the first page.
300Results per page, 1 to 100. Default 20.
1 <= x <= 100Company name (prefix or contained words), SIREN or SIRET. Example: "atelier thermique".
120Activities, comma-separated, up to 20: NAF rev. 2 sub-classes ("43.29A"), divisions ("47") or sections ("G"). See GET /v1/naf. Example: "43.22A,43.22B".
200Gabin sector: a named group of NAF sub-classes. Example: plomberie-chauffage.
renovation-energetique, plomberie-chauffage, electricite, maconnerie-gros-oeuvre, menuiserie-charpente, second-oeuvre, promotion-immobiliere, immobilier, foncieres, architecture-ingenierie, services-aux-batiments, restauration, hebergement, commerce-alimentaire, commerce-de-detail, automobile, sante, medico-social, enseignement, informatique, telecoms, energie, conseil, juridique-comptable, banque-assurance, transport-logistique, industrie, agriculture, associations-culture-sport, services-personnels INSEE code of a city or of a Paris, Lyon or Marseille arrondissement. Example: "69266".
^(\d{5}|2[AaBb]\d{3})$IRIS code of a district (9 characters, starts with its city INSEE code). Implies insee. Example: "692660101".
^(\d{5}|2[AaBb]\d{3})\d{4}$Department code. Example: "69", "2A", "974".
^(\d{2,3}|2[AaBb])$INSEE headcount range code of the company. See GET /v1/headcount-ranges. Example: "11" (10 to 19 employees).
11, 12, 21, 22, 31, 32, 41, 42, 51, 52, 53, NN, 00, 01, 02, 03 Legal form families, comma-separated: sas, sarl, sa, sci, scpi, association, public. See GET /v1/legal-forms. Example: "sas,sarl".
80Minimum latest reported revenue, in euros. Example: 1000000.
0 <= x <= 9007199254740991Maximum latest reported revenue, in euros.
0 <= x <= 9007199254740991Include ceased companies. Default false: active companies only.
0, 1, true, false With a location filter: match on the registered office only. Default false: any company with an establishment (open or closed) in the area.
0, 1, true, false Companies created on or after this date (YYYY-MM-DD). Requires insee, iris or department.
^\d{4}-\d{2}-\d{2}$