curl --request GET \
--url https://api.gabin.ai/v1/establishments \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gabin.ai/v1/establishments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gabin.ai/v1/establishments"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"siret": "99910001700011",
"siren": "999100017",
"headquarters": true,
"trade_name": null,
"address": "12 rue Émile Zola",
"postal_code": "69100",
"city": "Villeurbanne",
"insee": "69266",
"naf_code": "43.29A",
"created_on": "2014-03-12",
"closed_on": null,
"active": true,
"building_id": "bdnb-bg-CJ69-HW8G-PTTG",
"location": [
4.8795,
45.7665
],
"company_name": "Atelier Thermique du Rhône",
"legal_form": "SAS"
}
],
"meta": {
"page": {
"next_cursor": null,
"limit": 20
},
"total": 1,
"total_kind": "exact"
}
}List establishments in an area
Establishments (SIRET) in one area, ordered by SIRET: a city or arrondissement (insee; 75056, 69123, 13055 cover all arrondissements), a department (department), a district (iris), a bounding box (bbox, at most 4 km²) or a circle (lat, lon, radius up to 1,000 m). Filters: naf (activity of the establishment), headcount, headquarters_only, include_closed (default: open establishments only).
Each item is an establishment with its address, INSEE code, NAF code, location ([lon, lat], street level at least; null when only the city is known), building_id, and the name and legal form of its company. Positions are included: never geocode an establishment address. bbox, iris and circles list only establishments positioned at street level, never ones under partial diffusion.
format=geojson returns a GeoJSON FeatureCollection of points in data, ready for a map source, and lists only positioned establishments (in every area type; the total counts them only). The total is counted on the first page (up to 10,000) and carried by the cursor. A department or a large city with a rare filter can take too long (TIMEOUT): add headquarters_only=true with naf, or narrow the area.
Weight: 2 per page.
curl --request GET \
--url https://api.gabin.ai/v1/establishments \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gabin.ai/v1/establishments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.gabin.ai/v1/establishments"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": [
{
"siret": "99910001700011",
"siren": "999100017",
"headquarters": true,
"trade_name": null,
"address": "12 rue Émile Zola",
"postal_code": "69100",
"city": "Villeurbanne",
"insee": "69266",
"naf_code": "43.29A",
"created_on": "2014-03-12",
"closed_on": null,
"active": true,
"building_id": "bdnb-bg-CJ69-HW8G-PTTG",
"location": [
4.8795,
45.7665
],
"company_name": "Atelier Thermique du Rhône",
"legal_form": "SAS"
}
],
"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 <= 100INSEE code of a city or of a Paris, Lyon or Marseille arrondissement; the city code of Paris (75056), Lyon (69123) or Marseille (13055) covers all its arrondissements. Example: "69266".
^(\d{5}|2[AaBb]\d{3})$Department code. Example: "69", "2A", "974".
^(\d{2,3}|2[AaBb])$IRIS code of a district (9 characters). Example: "692660101".
^(\d{5}|2[AaBb]\d{3})\d{4}$Bounding box "minLon,minLat,maxLon,maxLat" (WGS84), at most 4 km² (2 km × 2 km). Example: "4.876,45.765,4.886,45.771".
120Latitude of the center of a circle (WGS84), with lon and radius.
-90 <= x <= 90Longitude of the center of a circle (WGS84), with lat and radius.
-180 <= x <= 180Radius of the circle, in meters, 1 to 1,000. Example: 300.
1 <= x <= 1000Activities of the establishment, 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".
200INSEE headcount range code of the establishment. 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 Registered offices only. Default false.
0, 1, true, false Include closed establishments. Default false: open establishments only.
0, 1, true, false json (default): a list of objects in data. geojson: data is a GeoJSON FeatureCollection (same pagination in meta).
json, geojson