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.
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.housenumber match carries a building. A street match has none.2
Read the building profile
companies_count tells you how many companies are linked to the building before you list them.3
List the companies linked to the building
roles:occupant: an establishment of the company is located in the building, matched by address or position.establishmentgives its SIRET, trade name and activity.owner: the company owns property in the building, according to the land files.establishmentisnullfor an owner only.
4
Read the corporate owners
GET /v1/buildings/{id}/owners details the owners that are legal entities, the one holding the most premises first.holdingslists the premises (unit) and land (parcel) held, with the codes of the MAJIC land files:floor("00"ground floor),right(Powner,Uusufructuary,Nbare owner…),owner_group.property_manageris 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_owneris 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. Itssourcesis["sirene"].
5
Read the condominium
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.Find buildings in an area
GET /v1/buildings lists the buildings of one area, ordered by id. Give exactly one area:
Without an area, or with more than one, the API returns
400 INVALID. A larger bounding box is refused:
Filters
string
Main uses, comma-separated:
residential, tertiary (offices, shops, public facilities), industrial (industry, warehouses), mixed.integer
Built in or after this year.
integer
Built in or before this year.
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.integer
At least this many linked companies, counted as in
companies_count of the list.string
default:"json"
json returns a list of building summaries. geojson returns a GeoJSON FeatureCollection in data.string
default:"point"
With
format=geojson: point (the building center) or footprint (the polygon).TIMEOUT: use a bounding box or a district instead.
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.
Polygon or MultiPolygon. To draw every building of a neighborhood, use the vector tiles 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.
Find building ids with:
GET /v1/buildings(area search, above),GET /v1/geocode(an address) andGET /v1/places(a named place), described in zones and addresses,building_idon an establishment, orheadquarters.building_idon a company profile,- the
batiment_groupe_idproperty of thebuildingstile layer.
Building sections
Each section is a separate request under the building path, so you only pay for what you read. Each one weighs 1.
Two short examples on the same building:
GET /v1/zones/{level}/{code}/market. See zones and addresses.
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.
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.
establishmentslists the SIRETs of the company’s establishments in the building;active_establishmentscounts the open ones.units_ownedis the number of premises owned according to the BDNB, ornullwhen 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.
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.