Skip to main content
Recherche DPE
curl --request POST \
  --url https://api.fluximmo.io/v2/protected/opendata/dpe/search \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "filters": {
    "numero_dpe": "2600E0590119C",
    "flx_id": {
      "min": 123456789
    },
    "date_etablissement_dpe": {
      "from": "2023-06-15"
    },
    "date_visite_diagnostiqueur": {
      "from": "2023-06-14"
    },
    "date_reception_dpe": {
      "from": "2023-06-16"
    },
    "date_derniere_modification_dpe": {
      "from": "2023-07-01"
    },
    "date_fin_validite_dpe": {
      "from": "2033-06-15"
    },
    "identifiant_ban": "75113_4649_00137",
    "numero_voie_ban": "32",
    "code_insee_ban": "75113",
    "code_postal_ban": "75013",
    "code_departement_ban": "75",
    "code_region_ban": "11",
    "location": {
      "lat": 48.8566,
      "lon": 2.3522,
      "distance": "10km"
    },
    "type_batiment": [
      "appartement"
    ],
    "periode_construction": [
      "avant 1948"
    ],
    "surface_habitable_logement": {
      "min": 57
    },
    "surface_habitable_immeuble": {
      "min": 5173
    },
    "surface_ventilee": {
      "min": 1040
    },
    "nombre_niveau_logement": {
      "min": 1
    },
    "nombre_niveau_immeuble": {
      "min": 7
    },
    "nombre_appartement": {
      "min": 26
    },
    "etiquette_dpe": [
      "D"
    ],
    "etiquette_ges": [
      "C"
    ],
    "conso_5_usages_ep": {
      "min": 23339
    },
    "conso_5_usages_ef": {
      "min": 17984
    },
    "conso_5_usages_par_m2_ep": {
      "min": 254
    },
    "conso_5_usages_par_m2_ef": {
      "min": 184
    },
    "emission_ges_5_usages": {
      "min": 3068
    },
    "emission_ges_5_usages_par_m2": {
      "min": 28.6
    },
    "qualite_isolation_enveloppe": [
      "insuffisante"
    ],
    "qualite_isolation_menuiseries": [
      "moyenne"
    ],
    "zone_climatique": [
      "H1a"
    ]
  },
  "sortBy": "numero_dpe",
  "sortOrder": "asc",
  "size": 20,
  "cursor": "<string>"
}
'
{
  "data": [
    {
      "numero_dpe": "2600E0590119C",
      "flx_id": 123456789,
      "date_etablissement_dpe": "2023-06-15",
      "date_visite_diagnostiqueur": "2023-06-14",
      "date_reception_dpe": "2023-06-16",
      "date_derniere_modification_dpe": "2023-07-01",
      "date_fin_validite_dpe": "2033-06-15",
      "version_dpe": "2.60",
      "modele_dpe": "DPE 3CL 2021 méthode logement",
      "methode_application_dpe": "dpe appartement individuel",
      "identifiant_ban": "75113_4649_00137",
      "adresse_ban": "<string>",
      "numero_voie_ban": "32",
      "nom_rue_ban": "<string>",
      "code_insee_ban": "75113",
      "code_postal_ban": "75013",
      "code_departement_ban": "75",
      "code_region_ban": "11",
      "nom_commune_ban": "<string>",
      "code_postal_brut": "75013",
      "location": {
        "lat": 48.8566,
        "lon": 2.3522
      },
      "type_batiment": "appartement",
      "periode_construction": "avant 1948",
      "surface_habitable_logement": 57,
      "surface_habitable_immeuble": 5173,
      "surface_ventilee": 1040,
      "nombre_niveau_logement": 1,
      "nombre_niveau_immeuble": 7,
      "nombre_appartement": 26,
      "numero_etage_appartement": 0,
      "appartement_non_visite": true,
      "etiquette_dpe": "D",
      "etiquette_ges": "C",
      "conso_5_usages_ep": 23339,
      "conso_5_usages_ef": 17984,
      "conso_5_usages_par_m2_ep": 254,
      "conso_5_usages_par_m2_ef": 184,
      "conso_chauffage_ef": 13611,
      "conso_ecs_ef": 3683,
      "conso_refroidissement_ef": 34.8,
      "conso_eclairage_ef": 196,
      "conso_auxiliaires_ef": 453,
      "emission_ges_5_usages": 3068,
      "emission_ges_5_usages_par_m2": 28.6,
      "emission_ges_chauffage": 2468,
      "emission_ges_ecs": 557,
      "emission_ges_refroidissement": 2.2,
      "emission_ges_eclairage": 13.5,
      "emission_ges_auxiliaires": 29,
      "ubat_w_par_m2_k": 1.4,
      "qualite_isolation_enveloppe": "insuffisante",
      "qualite_isolation_murs": "insuffisante",
      "qualite_isolation_plancher_bas": "très bonne",
      "qualite_isolation_plancher_haut_toit_terrasse": "insuffisante",
      "qualite_isolation_menuiseries": "moyenne",
      "zone_climatique": "H1a",
      "classe_altitude": "inférieur à 400m",
      "classe_inertie_batiment": "Lourde",
      "hauteur_sous_plafond": 2.6,
      "installations": {
        "conso_ecs_ep": 1919.4,
        "conso_chauffage_ep": 5158.3,
        "conso_eclairage_ep": 19.4,
        "conso_auxiliaires_ep": 0,
        "type_installation_ecs": "individuel",
        "conso_ecs_ef_energie_n1": 1010.2,
        "conso_refroidissement_ep": 0,
        "type_installation_ecs_n1": "installation individuelle",
        "type_generateur_n1_ecs_n1": "Ballon électrique à accumulation vertical Autres ou inconnue",
        "usage_generateur_n1_ecs_n1": "ecs",
        "type_installation_chauffage": "individuel",
        "conso_5_usages_ef_energie_n1": 3735.3,
        "conso_ef_installation_ecs_n1": 1010.2,
        "type_installation_solaire_n1": "Non affecté",
        "ventilation_posterieure_2012": 0,
        "conso_chauffage_ef_energie_n1": 2714.9,
        "conso_ef_generateur_n1_ecs_n1": 1010.2,
        "type_installation_chauffage_n1": "installation individuelle",
        "description_installation_ecs_n1": "Ballon électrique à accumulation vertical (autres catégorie ou inconnue), contenance ballon 50 L",
        "description_generateur_n1_ecs_n1": "Electrique - Ballon électrique à accumulation vertical (autres catégorie ou inconnue)",
        "configuration_installation_ecs_n1": "Un seul système d'ECS sans solaire",
        "type_generateur_n1_installation_n1": "radiateur électrique NFC, NF** et NF***",
        "type_generateur_chauffage_principal": "radiateur électrique NFC, NF** et NF***",
        "usage_generateur_n1_installation_n1": "chauffage",
        "volume_stockage_generateur_n1_ecs_n1": 50,
        "description_installation_chauffage_n1": "Radiateur électrique à inertie (modélisé comme un radiateur NFC, NF** et NF***) avec programmateur pièce par pièce (système individuel)",
        "configuration_installation_chauffage_n1": "Installation de chauffage simple",
        "type_emetteur_installation_chauffage_n1": "radiateur électrique NFC, NF** et NF***",
        "type_generateur_chauffage_principal_ecs": "Ballon électrique à accumulation vertical Autres ou inconnue",
        "conso_chauffage_installation_chauffage_n1": 2714.9,
        "surface_chauffee_installation_chauffage_n1": 5.4,
        "conso_chauffage_generateur_n1_installation_n1": 2714.9,
        "nombre_logements_desservis_par_installation_ecs_n1": 1,
        "description_generateur_chauffage_n1_installation_n1": "Electrique - Radiateur électrique à inertie (modélisé comme un radiateur NFC, NF** et NF***)",
        "surface_habitable_desservie_par_installation_ecs_n1": 5.4
      },
      "deperditions": {
        "deperditions_murs": 25.2,
        "deperditions_portes": 2.9,
        "deperditions_enveloppe": 90.6,
        "deperditions_baies_vitrees": 2.3,
        "deperditions_planchers_bas": 0,
        "deperditions_planchers_hauts": 52.9,
        "deperditions_ponts_thermiques": 1.6,
        "deperditions_renouvellement_air": 5.7
      },
      "couts": {
        "cout_ecs": 234.2,
        "cout_chauffage": 629.3,
        "cout_eclairage": 2.4,
        "cout_auxiliaires": 0,
        "cout_ecs_energie_n1": 234.2,
        "cout_total_5_usages": 865.8,
        "cout_refroidissement": 0,
        "cout_chauffage_energie_n1": 629.3,
        "cout_total_5_usages_energie_n1": 865.8
      },
      "apports_besoins": {
        "besoin_ecs": 654.6,
        "besoin_chauffage": 4762.3,
        "besoin_refroidissement": 0,
        "apport_interne_saison_froide": 0,
        "apport_solaire_saison_froide": 0,
        "apport_interne_saison_chauffe": 519.7,
        "apport_solaire_saison_chauffe": 117.8,
        "production_electricite_pv_kwhep_par_an": 0
      },
      "ids_externes": {
        "complement_adresse_batiment": "26/ABD/19153/SHA",
        "complement_adresse_logement": "Etage 5; Porte Unique"
      },
      "misc": {
        "_score": null,
        "inertie_lourde": 0,
        "type_energie_n1": "Électricité",
        "type_ventilation": "Ventilation par ouverture des fenêtres",
        "isolation_toiture": 0,
        "logement_traversant": 0,
        "presence_brasseur_air": 0,
        "indicateur_confort_ete": "insuffisant",
        "emission_ges_ecs_energie_n1": 65.7,
        "type_energie_principale_ecs": "Électricité",
        "protection_solaire_exterieure": 1,
        "coordonnee_cartographique_x_ban": 653339.79,
        "coordonnee_cartographique_y_ban": 6862364.67,
        "emission_ges_5_usages_energie_n1": 280.8,
        "emission_ges_chauffage_energie_n1": 214.5,
        "type_energie_generateur_n1_ecs_n1": "Électricité",
        "type_energie_principale_chauffage": "Électricité",
        "type_energie_generateur_n1_installation_n1": "Électricité",
        "qualite_isolation_plancher_haut_comble_amenage": "insuffisante"
      }
    }
  ],
  "total": 123,
  "size": 123,
  "hasMore": true,
  "cursor": "<string>",
  "from": 123
}

Documentation Index

Fetch the complete documentation index at: https://doc.fluximmo.io/llms.txt

Use this file to discover all available pages before exploring further.

À quoi ça sert

POST /v2/protected/opendata/dpe/search interroge le jeu de DPE (Diagnostic de Performance Énergétique) de l’open-data ADEME, enrichi du géocodage BAN et de champs internes Fluximmo. Vous passez un objet filters, un tri et une pagination, l’endpoint retourne la liste des DPE correspondants. Les filtres couvrent l’identité (numero_dpe, flx_id), la géographie (département, commune, code postal, recherche par rayon), le type de bâtiment, la période de construction, les surfaces, les étiquettes énergie et GES, la qualité d’isolation, la zone climatique et plusieurs plages de dates. Contrairement à /dpe/match, cet endpoint n’effectue aucun scoring ni rapprochement avec une annonce : il renvoie simplement les DPE qui satisfont vos critères, triés et paginés.

Payload

Le corps de la requête est un objet { filters, sortBy, sortOrder, size, cursor }.
ChampTypeObligatoireSens
filtersobjectNonCritères de recherche en snake_case (voir ci-dessous). Vide ⇒ aucun filtre.
sortByenumNonChamp de tri : numero_dpe, date_etablissement_dpe, type_batiment, surface_habitable_logement, etiquette_dpe, conso_5_usages_par_m2_ep, emission_ges_5_usages, emission_ges_5_usages_par_m2, zone_climatique.
sortOrderenumNonasc ou desc.
sizeintegerNonTaille de page, entre 1 et 100. Défaut 20.
cursorstringNonCurseur de pagination renvoyé par la réponse précédente.

Principaux filtres (filters)

FiltreTypeSens
code_departement_banstringCode département BAN (ex : 75, 2A, 974).
code_insee_banstringCode INSEE de la commune (5 caractères).
code_postal_banstringCode postal BAN (5 chiffres).
locationobjectRecherche par rayon : { lat, lon, distance }, distance au format 10km, 500m, 2mi… (les trois champs sont requis).
type_batimentstring[]Valeurs : appartement, maison, immeuble.
periode_constructionstring[]Tranches : avant 1948, 1948-1974, 1975-1977, 1978-1982, 1983-1988, 1989-2000, 2001-2005, 2006-2012, 2013-2021, après 2021.
etiquette_dpestring[]Étiquette énergie : A à G.
etiquette_gesstring[]Étiquette GES : A à G.
surface_habitable_logementobjectPlage { min, max } en m².
qualite_isolation_enveloppestring[]insuffisante, moyenne, bonne, très bonne.
qualite_isolation_menuiseriesstring[]insuffisante, moyenne, bonne, très bonne.
zone_climatiquestring[]H1a, H1b, H1c, H2b, H2c, H2d, H3.
date_etablissement_dpeobjectPlage de dates { from, to } (format ISO).
Les filtres numériques (flx_id, surface_habitable_logement, conso_5_usages_*, emission_ges_*, nombre_*…) acceptent un objet { min, max } ; les filtres de date (date_etablissement_dpe, date_visite_diagnostiqueur, date_reception_dpe, date_fin_validite_dpe…) acceptent un objet { from, to }. Le contrat complet est documenté par le bloc OpenAPI ci-dessous.

Réponse

L’API retourne une enveloppe paginée :
ChampTypeSens
dataobject[]Liste des DPE correspondants (champs en snake_case : numero_dpe, flx_id, date_etablissement_dpe, etiquette_dpe, etiquette_ges, location…).
totalintegerNombre total de DPE correspondant aux filtres.
sizeintegerTaille de page effective.
hasMorebooleantrue s’il reste des pages à parcourir.
cursorstringCurseur à renvoyer dans la requête suivante pour obtenir la page suivante. Présent uniquement quand hasMore vaut true.
Pour une pagination déterministe, triez sur un champ unique (numero_dpe) et propagez le cursor de page en page.

Exemple

Recherche simple — DPE d’un département

curl -X POST https://api.fluximmo.io/v2/protected/opendata/dpe/search \
  -H "x-api-key: $FLUXIMMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filters": { "code_departement_ban": "75" }
  }'

Recherche multi-critères — appartements parisiens étiquettes C/D

curl -X POST https://api.fluximmo.io/v2/protected/opendata/dpe/search \
  -H "x-api-key: $FLUXIMMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filters": {
      "code_departement_ban": "75",
      "type_batiment": ["appartement"],
      "etiquette_dpe": ["C", "D"],
      "etiquette_ges": ["C"],
      "surface_habitable_logement": { "min": 40, "max": 90 },
      "date_etablissement_dpe": { "from": "2023-01-01" }
    },
    "sortBy": "date_etablissement_dpe",
    "sortOrder": "desc",
    "size": 50
  }'

Recherche par rayon — autour d’un point

curl -X POST https://api.fluximmo.io/v2/protected/opendata/dpe/search \
  -H "x-api-key: $FLUXIMMO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filters": {
      "location": { "lat": 48.8592, "lon": 2.3789, "distance": "2km" },
      "type_batiment": ["appartement"]
    },
    "sortBy": "numero_dpe",
    "sortOrder": "asc",
    "size": 20
  }'

Liens utiles

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

x-api-key
string
header
required

Body

application/json
filters
object
sortBy
enum<string>

Sort field

Available options:
numero_dpe,
date_etablissement_dpe,
type_batiment,
surface_habitable_logement,
etiquette_dpe,
conso_5_usages_par_m2_ep,
emission_ges_5_usages,
emission_ges_5_usages_par_m2,
zone_climatique
sortOrder
enum<string>

Sort order

Available options:
asc,
desc
size
integer
default:20

Page size

Required range: 1 <= x <= 100
cursor
string

Cursor for pagination

Response

data
object[]
required
total
integer
required
size
integer
required
hasMore
boolean
required
cursor
string
from
integer