foncier_beges
Declared greenhouse-gas inventories (BEGES, ADEME open data), keyed by SIREN.
~11,800 published inventories, ~7,000 of them from organisations under the legal obligation (art. L229-25: companies over 500 staff, communes over 50,000 inhabitants, the State). Each carries emissions per category, the reporting year, headcount band, and a link to the full report.
WHY THIS EXISTS ALONGSIDE foncier_conso_elec. Consumption data is indexed by
ADDRESS or by IRIS: it describes a SITE that still has to be resolved to a
company, and it does not locate everything — on one métropole, 25 rows and
10,621 MWh carry no usable address at all. Here the key IS the SIREN, so the
inventory joins straight to the organisation. It reports DECLARED energy and
emissions rather than metered consumption: a different fact, not a better one.
⚠️ The reporting year is not the publication year — an inventory published in
2026 may cover 2015. annee filters on the reporting year, which is the one
that makes two organisations comparable.
⚠️ A missing emission post is not a zero. Totals sum only what was declared, and
each category carries postes_declares / postes_absents so a low total can be
told apart from a partial declaration.
Beyond emissions, each inventory carries contact (the declared energy
officer — name, role, phone, e-mail; absent means MASKED at source, not
unlisted), entites_consolidees (the SIREN of the declared consolidation
perimeter — neither ownership nor directorships) and electricite, a MWh
figure DERIVED from post 2.1 with the French average factor, marked
certitude: "infere" and returned with that factor. It is the only public
route to a consumption tied to a NAMED legal entity — grid data (Enedis by
address, RTE by IRIS) is anonymous on both tiers.
⚠️ total is the number of inventories RETURNED, not how many exist: it
saturates on limit (department 59 at limit=5 reports total 5, at limit=1000
reports 504). When it does, tronque is true and avertissement_troncature
says so — never read a saturated total as a count.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "foncier_beges"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| naf | No | a full code ("8610Z") or a division prefix ("86"), which then covers all its sub-classes. | |
| _org | No | Org (id) de CET APPEL. `oto_list_orgs()`. | |
| annee | No | reporting year. | |
| limit | No | max inventories RETURNED (default 100); `limit=-1` means no ceiling and lands on the source's hard cap of 10,000. | |
| siren | No | 9 digits. The source stores it as a NUMBER, so 150 rows lost their leading zero — this is handled on both sides, pass the real SIREN. | |
| _group | No | Équipe (id) de CET APPEL, sous son org parente. | |
| _run_id | No | OBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas. | |
| obligee | No | True keeps only organisations under the legal obligation. | |
| _project | No | Projet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`. | |
| _instance | No | Instance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`. | |
| departement | No | INSEE department code. |