> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gabin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Buildings and parcels

> Find buildings in an area, read a building profile and its sections, list the companies that occupy or own it, and find the buildings of a company.

Buildings come from the **BDNB** (Base de données nationale des bâtiments), the French national building database. It merges the cadastre, land files, energy certificates and other public sources around one object per building. A building id looks like `bdnb-bg-1M1D-U5N1-HH7E` and stays stable from one release to the next.

Gabin links each building to the companies around it: the establishments located there (from SIRENE) and the legal entities that own premises in it (from the land files). How the link is made is explained in [data sources](https://docs.gabin.ai/data.md#how-companies-are-linked-to-buildings).

## From an address to who occupies and owns the building

This example starts from a street address in Lyon and ends with the companies located in the building, its corporate owners and its property manager.

**1. Geocode the address**

`GET /v1/geocode` returns the normalized address and, for a house-number match, the BDNB building at that point.

```bash curl theme={null}
curl "https://api.gabin.ai/v1/geocode?q=20%20rue%20de%20la%20R%C3%A9publique%20Lyon&limit=2" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```javascript JavaScript theme={null}
const headers = { Authorization: `Bearer ${process.env.GABIN_API_KEY}` };
const params = new URLSearchParams({ q: "20 rue de la République Lyon", limit: "2" });
const geo = await fetch(`https://api.gabin.ai/v1/geocode?${params}`, { headers }).then((r) => r.json());
const buildingId = geo.data[0]?.building?.id;
```

```python Python theme={null}
import os
import requests

headers = {"Authorization": f"Bearer {os.environ['GABIN_API_KEY']}"}
geo = requests.get(
    "https://api.gabin.ai/v1/geocode",
    params={"q": "20 rue de la République Lyon", "limit": 2},
    headers=headers,
).json()
building_id = (geo["data"][0].get("building") or {}).get("id")
```

```json theme={null}
{
  "data": [
    {
      "label": "20 Rue de la République 69002 Lyon",
      "name": "20 Rue de la République",
      "postal_code": "69002",
      "city": "Lyon",
      "insee": "69382",
      "precision": "housenumber",
      "score": 0.969250909090909,
      "location": [4.835685, 45.763721],
      "building": {
        "id": "bdnb-bg-1M1D-U5N1-HH7E",
        "address": "20 Rue de la République",
        "name": "Republique",
        "gabin_url": "https://gabin.ai/batiment/republique-20-rue-de-la-republique-69002-lyon-2e-arrondissement-bdnb-bg-1M1D-U5N1-HH7E"
      }
    },
    {
      "label": "Rue de la République 69001 Lyon",
      "name": "Rue de la République",
      "postal_code": "69001",
      "city": "Lyon",
      "insee": "69381",
      "precision": "street",
      "score": 0.7809354545454544,
      "location": [4.836016, 45.76637],
      "building": null
    }
  ],
  "meta": { "page": { "next_cursor": null, "limit": 2 }, "total": 2, "total_kind": "exact" }
}
```

Only a `housenumber` match carries a `building`. A `street` match has none.

**2. Read the building profile**

```bash theme={null}
curl "https://api.gabin.ai/v1/buildings/bdnb-bg-1M1D-U5N1-HH7E" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": {
    "id": "bdnb-bg-1M1D-U5N1-HH7E",
    "gabin_url": "https://gabin.ai/batiment/republique-20-rue-de-la-republique-69002-lyon-2e-arrondissement-bdnb-bg-1M1D-U5N1-HH7E",
    "name": "Republique",
    "address": "20 Rue de la République, 69002 Lyon 2e Arrondissement",
    "other_addresses": [
      "22 Rue de la République, 69002 Lyon 2e Arrondissement",
      "43 Rue Grenette, 69002 Lyon 2e Arrondissement",
      "45 Rue Grenette, 69002 Lyon 2e Arrondissement",
      "44 Rue Henri Germain, 69002 Lyon 2e Arrondissement"
    ],
    "postal_code": "69002",
    "insee": "69382",
    "city": { "insee": "69382", "name": "Lyon 2e Arrondissement", "department": "69" },
    "district": { "iris": "693820101", "name": "La Bourse-Grenette" },
    "usage": "tertiary",
    "construction_year": 1860,
    "levels": 7,
    "housing_units": 39,
    "ground_area_m2": 1207,
    "dpe_class": "D",
    "height_m": 22,
    "heating_energy": "Électricité",
    "center": [4.835422063198483, 45.763636872794905],
    "footprint": {
      "type": "Polygon",
      "coordinates": [[[4.835285, 45.763474], [4.835409, 45.763481], …]]
    },
    "companies_count": 48,
    "companies_count_capped": false
  },
  "meta": {}
}
```

`companies_count` tells you how many companies are linked to the building before you list them.

**3. List the companies linked to the building**

```bash theme={null}
curl "https://api.gabin.ai/v1/buildings/bdnb-bg-1M1D-U5N1-HH7E/companies?limit=100" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": [
    {
      "company": {
        "siren": "777345323",
        "name": "AGENCE CENTRALE",
        "naf_code": "68.32A",
        "naf_label": "Administration d'immeubles et autres biens immobiliers",
        "legal_form": "SAS",
        "active": true,
        …
      },
      "roles": ["owner"],
      "establishment": null
    },
    {
      "company": {
        "siren": "443163993",
        "name": "GRANDE PHARMACIE LYONNAISE",
        "naf_code": "47.73Z",
        "legal_form": "SAS",
        …
      },
      "roles": ["occupant"],
      "establishment": {
        "siret": "44316399300019",
        "headquarters": true,
        "trade_name": null,
        "naf_code": "47.73Z",
        "naf_label": "Commerce de détail de produits pharmaceutiques en magasin spécialisé",
        "active": true
      }
    },
    {
      "company": {
        "siren": "990294969",
        "name": "PHILIPPINE RIVIERE-DUBOIS",
        "naf_code": "74.10Z",
        "naf_label": "Activités spécialisées de design",
        "legal_form": "Entrepreneur individuel",
        …
      },
      "roles": ["occupant"],
      "establishment": {
        "siret": "99029496900011",
        "headquarters": true,
        "trade_name": "ATELIER RIVIERE",
        "naf_code": "74.10Z",
        "naf_label": "Activités spécialisées de design",
        "active": true
      }
    },
    {
      "company": { "siren": "884335381", "name": "SCI AB REPUBLIQUE", "legal_form": "SCI", … },
      "roles": ["occupant", "owner"],
      "establishment": { "siret": "88433538100015", "headquarters": true, … }
    },
    …
  ],
  "meta": { "page": { "next_cursor": null, "limit": 100 }, "total": 48, "total_kind": "exact" }
}
```

Each entry has `roles`:

* `occupant`: an establishment of the company is located in the building, matched by address or position. `establishment` gives its SIRET, trade name and activity.
* `owner`: the company owns property in the building, according to the land files. `establishment` is `null` for an owner only.

A company that both occupies and owns appears once with both roles. Active companies come first, then by name.

**4. Read the corporate owners**

`GET /v1/buildings/{id}/owners` details the owners that are legal entities, the one holding the most premises first.

```bash theme={null}
curl "https://api.gabin.ai/v1/buildings/bdnb-bg-1M1D-U5N1-HH7E/owners" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": {
    "items": [
      {
        "siren": "777345323",
        "name": "AGENCE CENTRALE",
        "company": { "siren": "777345323", "name": "AGENCE CENTRALE", … },
        "units_owned": 2,
        "holdings": [
          { "type": "unit", "floor": "00", "entrance": "05", "right": "S", "owner_group": "0", "land_use": null },
          { "type": "parcel", "floor": null, "entrance": null, "right": "S", "owner_group": "0", "land_use": "S - Sols" }
        ],
        "property_manager": {
          "score": 100,
          "confidence": "confirmed",
          "signals": ["Syndic au registre des copropriétés"]
        },
        "likely_owner": null,
        "sources": ["bdnb", "majic"]
      },
      {
        "siren": "320252489",
        "name": "BPIFRANCE",
        "company": { "siren": "320252489", "name": "BPIFRANCE", … },
        "units_owned": 6,
        "holdings": [
          { "type": "unit", "floor": "00", "entrance": "01", "right": "B", "owner_group": "0", "land_use": null },
          …
        ],
        "property_manager": null,
        "likely_owner": null,
        "sources": ["bdnb", "majic"]
      },
      …
      {
        "siren": "988026696",
        "name": "SCI DU ROSAIRE",
        "company": { "siren": "988026696", "name": "SCI DU ROSAIRE", … },
        "units_owned": null,
        "holdings": [],
        "property_manager": null,
        "likely_owner": {
          "score": 95,
          "signals": [
            "NAF 68.20B : location de terrains et de biens",
            "Forme juridique : SCI",
            "Nom : SCI",
            "Siège dans le bâtiment",
            "Un seul établissement ici",
            "Établissement à cette adresse"
          ]
        },
        "sources": ["sirene"]
      }
    ],
    "parcels": ["69382000AB0105"]
  },
  "meta": {}
}
```

* `holdings` lists the premises (`unit`) and land (`parcel`) held, with the codes of the MAJIC land files: `floor` (`"00"` ground floor), `right` (`P` owner, `U` usufructuary, `N` bare owner…), `owner_group`.
* `property_manager` is set when the entity looks like a property manager (*régie*, *syndic*) rather than an owner. Here the first entry is the registered condominium manager.
* `likely_owner` is set for an occupant that looks like the owner without a land title, for example an SCI (real-estate holding company) registered at the building's address. Its `sources` is `["sirene"]`.

**5. Read the condominium**

```bash theme={null}
curl "https://api.gabin.ai/v1/buildings/bdnb-bg-1M1D-U5N1-HH7E/condominium" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": {
    "condominium": {
      "registration_number": "AB1259712",
      "name": "REPUBLIQUE",
      "address": "r de la republique, 69002 Lyon",
      "lots": 49,
      "housing_lots": 35,
      "parking_lots": null,
      "construction_period": "De 2006 à 2012",
      "manager_type": "professionnel",
      "mandate": "Mandat en cours",
      "manager": {
        "siret": "77734532300086",
        "company": { "siren": "777345323", "name": "AGENCE CENTRALE", … },
        "source": "rnic"
      },
      "volunteer_manager": false
    }
  },
  "meta": {}
}
```

`condominium` is `null` when the building is not a registered condominium. A volunteer manager is an individual and is never named: `manager` is `null` and `volunteer_manager` is `true`.

> [!TIP]
>
> If you start from a place name rather than an address ("hôpital Édouard Herriot"), use `GET /v1/places`. See [zones and addresses](https://docs.gabin.ai/guides/zones-and-addresses.md).

## Find buildings in an area

`GET /v1/buildings` lists the buildings of one area, ordered by id. Give exactly one area:

| Area | Parameters | Limit |
| - | - | - |
| Bounding box | `bbox=minLon,minLat,maxLon,maxLat` (WGS84) | 4 km² (2 km × 2 km) |
| Circle | `lat`, `lon` and `radius` (meters) | `radius` up to 1,000 |
| City | `insee` | |
| District | `iris` | |

Without an area, or with more than one, the API returns `400 INVALID`. A larger bounding box is refused:

```json theme={null}
{
  "error": {
    "code": "INVALID",
    "message": "bbox covers 20.6 km²; at most 4 km² (2 km × 2 km). Split the area, or use GET /v1/tiles for a map.",
    "docs_url": "https://docs.gabin.ai/errors#invalid"
  }
}
```

### Filters

**usage** `string`

Main uses, comma-separated: `residential`, `tertiary` (offices, shops, public facilities), `industrial` (industry, warehouses), `mixed`.

**built\_after** `integer`

Built in or after this year.

**built\_before** `integer`

Built in or before this year.

**dpe** `string`

Energy classes, comma-separated, for example `F,G`. The DPE (*diagnostic de performance énergétique*) is the French energy performance certificate, graded A (best) to G.

**min\_companies** `integer`

At least this many linked companies, counted as in `companies_count` of the list.

**format** `string` (default: json)

`json` returns a list of building summaries. `geojson` returns a GeoJSON FeatureCollection in `data`.

**geometry** `string` (default: point)

With `format=geojson`: `point` (the building center) or `footprint` (the polygon).

This request lists residential or mixed buildings with at least one company, within 150 m of the building above:

```bash curl theme={null}
curl "https://api.gabin.ai/v1/buildings?lat=45.7637&lon=4.8357&radius=150&usage=residential,mixed&min_companies=1&limit=2" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```javascript JavaScript theme={null}
const params = new URLSearchParams({
  lat: "45.7637",
  lon: "4.8357",
  radius: "150",
  usage: "residential,mixed",
  min_companies: "1",
  limit: "2",
});
const res = await fetch(`https://api.gabin.ai/v1/buildings?${params}`, {
  headers: { Authorization: `Bearer ${process.env.GABIN_API_KEY}` },
});
const { data: buildings, meta } = await res.json();
```

```python Python theme={null}
res = requests.get(
    "https://api.gabin.ai/v1/buildings",
    params={
        "lat": 45.7637,
        "lon": 4.8357,
        "radius": 150,
        "usage": "residential,mixed",
        "min_companies": 1,
        "limit": 2,
    },
    headers={"Authorization": f"Bearer {os.environ['GABIN_API_KEY']}"},
)
buildings = res.json()["data"]
```

```json theme={null}
{
  "data": [
    {
      "id": "bdnb-bg-18NG-4WTW-68RH",
      "gabin_url": "https://gabin.ai/batiment/23-rue-claudia-69002-lyon-2e-arrondissement-bdnb-bg-18NG-4WTW-68RH",
      "address": "23 Rue Claudia, 69002 Lyon 2e Arrondissement",
      "insee": "69382",
      "iris": "693820101",
      "usage": "residential",
      "construction_year": 1860,
      "levels": 6,
      "housing_units": 9,
      "ground_area_m2": 136,
      "dpe_class": "F",
      "companies_count": 2,
      "center": [4.837645800882633, 45.763878542742475]
    },
    …
  ],
  "meta": {
    "page": {
      "next_cursor": "eyJ2IjoxLCJhIjoiYmRuYi1iZy0xTTZKLU5aSDktU0FOWiIsIm8iOjIsImwiOjIs…",
      "limit": 2
    },
    "total": 59,
    "total_kind": "exact"
  }
}
```

The total is counted on the first page (up to 10,000) and carried by the cursor. A filtered search over a large city can take too long and return [`TIMEOUT`](https://docs.gabin.ai/errors#timeout): use a bounding box or a district instead.

> [!NOTE]
>
> `companies_count` in the list counts only legal entities whose establishment is matched to the building by exact address. The building profile and `GET /v1/buildings/{id}/companies` also count position matches, sole proprietorships and owners, so they can return more.

### GeoJSON for a map

`format=geojson` puts a FeatureCollection in `data`, ready to load as a map source. Pagination stays in `meta`. Each feature's `properties` is the building summary.

```bash theme={null}
curl "https://api.gabin.ai/v1/buildings?iris=692660101&built_before=1974&dpe=F,G&format=geojson&geometry=footprint&limit=2" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "id": "bdnb-bg-1QJM-KNQL-XAV3",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [[[[4.867478, 45.767473], [4.867298, 45.767474], …]]]
        },
        "properties": {
          "id": "bdnb-bg-1QJM-KNQL-XAV3",
          "gabin_url": "https://gabin.ai/batiment/81-rue-des-charmettes-69100-villeurbanne-bdnb-bg-1QJM-KNQL-XAV3",
          "address": "81 Rue des Charmettes, 69100 Villeurbanne",
          "insee": "69266",
          "iris": "692660101",
          "usage": "residential",
          "construction_year": 1900,
          "levels": 4,
          "housing_units": 11,
          "ground_area_m2": 294,
          "dpe_class": "F",
          "companies_count": 2,
          "center": [4.867391253084213, 45.76753387918232]
        }
      },
      …
    ]
  },
  "meta": {
    "page": { "next_cursor": "eyJ2IjoxLCJhIjoiYmRuYi1iZy0yNFlZLTJFREUtNlVLRyIs…", "limit": 2 },
    "total": 15,
    "total_kind": "exact"
  }
}
```

Footprints can be `Polygon` or `MultiPolygon`. To draw every building of a neighborhood, use the [vector tiles](https://docs.gabin.ai/guides/tiles.md) instead of paging through this endpoint.

## Building profile

`GET /v1/buildings/{id}` returns the name of the place, the addresses, the city and district, the use, construction year, levels, dwellings, footprint, height, energy class, heating energy and the number of linked companies. See step 2 of the [example above](#from-an-address-to-who-occupies-and-owns-the-building).

Find building ids with:

* `GET /v1/buildings` (area search, above),
* `GET /v1/geocode` (an address) and `GET /v1/places` (a named place), described in [zones and addresses](https://docs.gabin.ai/guides/zones-and-addresses.md),
* `building_id` on an establishment, or `headquarters.building_id` on a company profile,
* the `batiment_groupe_id` property of the `buildings` [tile layer](https://docs.gabin.ai/guides/tiles.md).

## Building sections

Each section is a separate request under the building path, so you only pay for what you read. Each one weighs 1.

| Section | Source | What it returns |
| - | - | - |
| `/energy` | DPE (ADEME), BDNB | Representative class, class distribution, housing and tertiary certificates (up to 60 of each, most recent first) with consumption, emissions, heating, insulation |
| `/transactions` | DVF (DGFiP) | Sales on the building's parcels since 2014 (up to 100): date, nature, price, lots, land, and the median price per m². DVF names no party to a sale |
| `/owners` | Land files (BDNB, MAJIC) | Corporate owners with their holdings, property-manager signals and likely owners |
| `/condominium` | RNIC (condominium register) | Lots, construction period, manager type, professional manager |
| `/parcels` | Cadastre (BDNB) | Cadastral parcels under the building, main one first, with area and boundary |
| `/parking` | RNIC, BDNB, OpenStreetMap, IRVE | Parking lots, OpenStreetMap parkings intersecting or within 50 m, EV charging stations nearby |
| `/permits` | Sitadel | Building permits on the building's parcels (up to 50): type, status, dates, dwellings and areas created |
| `/fiber` | Arcep | Fiber status, building access points (IMB), infrastructure operator, retail offers |
| `/planning` | Géoportail de l'Urbanisme | Local plan zone (PLU) with its regulation, safeguard plan (PSMV), heritage easements |
| `/market` | DVF, ANIL, INSEE | Median price per m² and its change, rents, population and income of the building's city and district |

Two short examples on the same building:

```bash theme={null}
curl "https://api.gabin.ai/v1/buildings/bdnb-bg-1M1D-U5N1-HH7E/market" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": {
    "city": "Lyon 2e Arrondissement",
    "district": "La Bourse-Grenette",
    "price": { "year": 2026, "city_median_m2": 5217, "district_median_m2": 5444, "change_pct": 5.4 },
    "rent": { "year": 2025, "apartment_m2": 17.61 },
    "population": { "year": 2023, "total": 29981, "managers_pct": 40.8 },
    "income": { "year": 2021, "median_disposable": 30320, "poverty_rate_pct": 11, "level": "district" }
  },
  "meta": {}
}
```

```bash theme={null}
curl "https://api.gabin.ai/v1/buildings/bdnb-bg-1M1D-U5N1-HH7E/transactions" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": {
    "total": 18,
    "median_price_m2": 5114,
    "items": [
      {
        "id": "R|2025-09-26|69382|655000,00",
        "date": "2025-09-26",
        "nature": "Vente",
        "price": 655000,
        "address": "22 RUE DE LA REPUBLIQUE 69002 LYON 2EME",
        "parcel_id": "69382000AB0105",
        "property_type": "Local industriel. commercial ou assimilé",
        "area_m2": 92,
        "rooms": 0,
        "lots_count": 1,
        "lots": [
          { "property_type": "Local industriel. commercial ou assimilé", "area_m2": 92, "rooms": 0, "parcel_id": "69382000AB0105" }
        ],
        "land": [],
        "other_parcels": []
      },
      …
    ]
  },
  "meta": {}
}
```

The full market series of a zone (prices by segment, rents, demography, income at every level) are at `GET /v1/zones/{level}/{code}/market`. See [zones and addresses](https://docs.gabin.ai/guides/zones-and-addresses.md#market-figures).

## Companies linked to a building

`GET /v1/buildings/{id}/companies` merges two sources by SIREN:

* **Occupants**: companies with an establishment located in the building, matched by address or position. Sole proprietorships (*entrepreneurs individuels*) are listed as occupants under their registered name.
* **Owners**: legal entities that own property in the building, from the land files.

Companies under SIRENE partial diffusion are never listed. Up to 500 companies can be reached by paging. Above about 100 linked companies, the address is usually a business domiciliation (a company that rents out its address as a registered office).

## Buildings of a company

`GET /v1/companies/{siren}/buildings` is the reverse view: the buildings a company occupies (its establishments matched to a building, open or closed) and owns (land files), merged by building. Buildings both occupied and owned come first, then by number of open establishments.

```bash theme={null}
curl "https://api.gabin.ai/v1/companies/552081317/buildings?limit=2" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": [
    {
      "building": {
        "id": "bdnb-bg-1BRF-RPFK-GQCT",
        "gabin_url": "https://gabin.ai/batiment/681-avenue-des-albaredes-82000-montauban-bdnb-bg-1BRF-RPFK-GQCT",
        "address": "681 avenue des albarèdes, 82000 Montauban",
        "insee": "82121",
        "iris": "821210301",
        "usage": "industrial",
        "construction_year": null,
        "levels": 1,
        "housing_units": 0,
        "ground_area_m2": 432,
        "dpe_class": null,
        "companies_count": 3,
        "center": [1.3371358061242886, 44.02049770201876]
      },
      "roles": ["occupant", "owner"],
      "establishments": ["55208131714225"],
      "active_establishments": 1,
      "units_owned": 54
    },
    {
      "building": {
        "id": "bdnb-bg-NV4M-1242-EA63",
        "address": "17 Place Des Reflets, 92400 Courbevoie",
        "usage": "tertiary",
        "levels": 29,
        "companies_count": 93,
        …
      },
      "roles": ["occupant"],
      "establishments": [
        "55208131700026",
        "55208131700042",
        "55208131703699",
        …
      ],
      "active_establishments": 9,
      "units_owned": null
    }
  ],
  "meta": {
    "page": { "next_cursor": "eyJ2IjoxLCJvIjoyLCJsIjoyLCJmIjoiNTUyMDgxMzE3In0.cBP4PaAb…", "limit": 2 },
    "total": 1280,
    "total_kind": "lower_bound"
  }
}
```

* `establishments` lists the SIRETs of the company's establishments in the building; `active_establishments` counts the open ones.
* `units_owned` is the number of premises owned according to the BDNB, or `null` when the company does not own or the count is unknown.
* Up to 1,000 buildings are read per role, so the total of a large company is a `lower_bound`.
* The list is empty for a sole proprietorship or a company under partial diffusion.

## Parcels

`GET /v1/parcels/{id}` returns a cadastral parcel: section, number, area, boundary, city, district and the buildings standing on it (up to 20). A parcel id has 14 characters: the city INSEE code, a 3-character prefix, the section and the plan number. Get ids from `GET /v1/buildings/{id}/parcels` or from the `parcels` [tile layer](https://docs.gabin.ai/guides/tiles.md).

```bash theme={null}
curl "https://api.gabin.ai/v1/parcels/69382000AB0105" \
  -H "Authorization: Bearer $GABIN_API_KEY"
```

```json theme={null}
{
  "data": {
    "id": "69382000AB0105",
    "label": "Parcelle AB 105",
    "insee": "69382",
    "prefix": null,
    "section": "AB",
    "number": "0105",
    "area_m2": 1183,
    "center": [4.835469469998139, 45.763634734790536],
    "geometry": { "type": "MultiPolygon", "coordinates": [ … ] },
    "city": { "insee": "69382", "name": "Lyon 2e Arrondissement", "department": "69" },
    "district": { "iris": "693820101", "name": "La Bourse-Grenette" },
    "buildings": [
      {
        "id": "bdnb-bg-1M1D-U5N1-HH7E",
        "address": "20 Rue de la République",
        "name": "Republique",
        "gabin_url": "https://gabin.ai/batiment/republique-20-rue-de-la-republique-69002-lyon-2e-arrondissement-bdnb-bg-1M1D-U5N1-HH7E"
      }
    ],
    "gabin_url": "https://gabin.ai/parcelle/69382000AB0105"
  },
  "meta": {}
}
```

Owners are not listed on a parcel. For corporate owners, read `GET /v1/buildings/{id}/owners`.

## Personal data

* Owners, condominium managers and permit applicants are legal entities only. A volunteer condominium manager is never named, and a permit applicant is given only when it is a legal entity.
* Sole proprietorships appear under their registered name among the occupants, and can appear as likely owners.
* Companies under SIRENE partial diffusion are never linked to a building.
* DVF transactions name no party.

See [data sources](https://docs.gabin.ai/data.md#personal-data).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.