Match DPE à une annonce immobilière
DPE
Match DPE à une annonce (V2 stable)
Retourne les DPE ADEME les plus similaires à une annonce immobilière, classés par score de similarité avec un niveau de confiance.
Match DPE à une annonce immobilière
À quoi ça sert
POST /v2/protected/opendata/dpe/match recherche, parmi les DPE de la base ADEME, les candidats les plus proches d’une annonce immobilière donnée. Contrairement à DPE Search qui renvoie une liste paginée et filtrée, Match renvoie les meilleurs candidats classés par similarité et accompagnés d’un score.
Le payload sépare deux notions à ne pas confondre :
filters(pré-filtre dur) — exclut les candidats qui ne correspondent pas (géographie, plage de surface, type de bâtiment, plage de dates, codes ADEME/BAN). Un candidat hors de ces bornes n’apparaît jamais dans la réponse.scoring_targets(ancres douces) — n’excluent rien. Elles influencent uniquement le classement : un candidat proche d’une ancre remonte dans le ranking, un candidat éloigné reste présent mais plus bas.
score normalisé de 0 à 100 et un confidence (HIGH, MEDIUM, LOW, REJECT). L’objet meta indique le nombre total de candidats trouvés et un drapeau ambiguous, vrai lorsque les deux premiers scores diffèrent de 5 points ou moins — utile pour signaler un match incertain à arbitrer manuellement.
Cas d’usage typiques : retrouver le DPE exact d’une annonce, rapprocher un lot d’annonces de leurs DPE pour enrichir un portefeuille, ou estimer l’étiquette énergétique probable d’un bien à partir de ses caractéristiques.
Payload
Le corps de requête est un objet JSON.| Champ | Type | Obligatoire | Sens |
|---|---|---|---|
filters | object | Non | Pré-filtre dur. Voir le détail ci-dessous. |
size | integer | Non | Nombre de candidats retournés (1–20, défaut 5). |
scoring_targets | object | Non | Ancres de scoring. Voir le détail ci-dessous. |
filters (pré-filtre dur)
| Champ | Type | Sens |
|---|---|---|
code_departement_ban | string | Code département BAN (2–3 caractères, ex. 75, 2A, 974). |
code_insee_ban | string | Code INSEE de la commune (5 caractères). |
code_postal_ban | string | Code postal (5 chiffres). |
numero_dpe | string | Numéro unique du DPE attribué par l’ADEME. Recherche par identifiant. |
type_batiment | string | appartement, maison ou immeuble. |
surface_habitable_logement | object | Plage de surface habitable en m² : { "min": number, "max": number }. |
date_etablissement_dpe | object | Plage de dates d’établissement : { "from": "YYYY-MM-DD", "to": "YYYY-MM-DD" }. |
location | object | Filtre géographique : { "lat": number, "lon": number, "distance": "10km" }. Unités acceptées : m, km, mi, ft, yd, nmi. |
scoring_targets (ancres douces)
| Champ | Type | Sens |
|---|---|---|
conso_5_usages_par_m2_ep | number | Consommation cible en kWh/m²/an. Rapproche les candidats à conso proche. |
emission_ges_5_usages_par_m2 | number | Émissions GES cibles en kgCO₂/m²/an. |
etiquette_dpe | string | Étiquette énergie cible (A–G). Bonus de score si correspondance. |
etiquette_ges | string | Étiquette GES cible (A–G). Bonus de score si correspondance. |
nombre_niveau_immeuble | number | Nombre de niveaux de l’immeuble (0–200). |
numero_etage_appartement | number | Étage de l’appartement (−10 à 200 ; valeur négative = sous-sol). |
periode_construction | string | Période de construction cible (ex. avant 1948, 1948-1974, après 2021). |
nombre_niveau_logement | number | Nombre de niveaux du logement (0–200). |
Réponse
L’API retourne un objet{ data, meta }.
data est un tableau de candidats classés par score décroissant. Chaque entrée contient :
| Champ | Type | Sens |
|---|---|---|
score | number | Score de similarité normalisé (0–100). |
confidence | string | Niveau de confiance : HIGH, MEDIUM, LOW ou REJECT. |
dpe | object | Champs clés du DPE retenu (projection Match). |
dpe expose notamment numero_dpe, adresse_ban, location ({ lat, lon }), etiquette_dpe, etiquette_ges, conso_5_usages_par_m2_ep, emission_ges_5_usages_par_m2, surface_habitable_logement, date_etablissement_dpe et date_fin_validite_dpe.
meta contient :
| Champ | Type | Sens |
|---|---|---|
total | number | Nombre total de candidats trouvés (au-delà de size). |
ambiguous | boolean | true si les deux premiers scores diffèrent de 5 points ou moins. |
POST /v2/protected/opendata/dpe/match).
Exemple
Recherche par numéro de DPE
Lookup direct par identifiant ADEME : la recherche court-circuite le scoring et retourne le DPE correspondant.Match multi-critères avec ancres de scoring
Pré-filtre dur sur la zone, le type et la plage de surface, puis classement affiné par quatre ancres douces.Liens utiles
- DPE Search — recherche paginée — liste filtrée de DPE, sans scoring.
- DVF vs Fluximmo — comprendre les sources de données open data.
Clé test gratuite — 1 semaine
Créez un compte sur my.fluximmo.io pour récupérer une clé API test gratuite (1 semaine, accès limité). Aucun paiement requis.
Authorizations
Body
application/json

