Rechercher des Diagnostics de Performance Énergétique (DPE)
L'API Infoparcelle donne accès à la base de données complète des Diagnostics de Performance Énergétique (DPE) de l'ADEME. Ce guide vous explique comment rechercher et analyser les performances énergétiques des logements français.
Vue d'ensemble
L'endpoint /api/v1/dpes permet de rechercher des DPE par différents critères : localisation, étiquettes énergétiques, type de bâtiment, année de construction, consommation, etc.
Fonctionnalités principales
- ✅ Accès à tous les DPE officiels (ADEME)
- ✅ Filtrage par étiquettes énergétiques (A à G)
- ✅ Filtrage par étiquettes GES (A à G)
- ✅ Filtrage par type de bâtiment (maison, appartement, immeuble)
- ✅ Filtrage par performances énergétiques
- ✅ Données de consommation et coûts détaillés
- ✅ Format JSON ou GeoJSON
- ✅ Pagination par curseur
Qu'est-ce qu'un DPE ?
Le DPE (Diagnostic de Performance Énergétique) est un document qui évalue :
- 🔥 Consommation énergétique : Chauffage, eau chaude, refroidissement, éclairage
- 🌍 Émissions de gaz à effet de serre (GES) : Impact environnemental
- 💰 Coûts énergétiques annuels : Estimation des dépenses
- 📊 Étiquettes énergétiques : De A (excellent) à G (passoire thermique)
Recherche basique
Par code postal
- cURL
- JavaScript
- PHP
- Python
curl -X GET \
"https://app.infoparcelle.fr/api/v1/dpes?code_postal=75008&limite=10" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_postal: '75008',
limite: '10',
}),
{
headers: {
'Authorization': `Bearer ${apiKey}`,
},
}
);
const dpes = await response.json();
console.log(dpes);
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_postal' => '75008',
'limite' => '10'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);
print_r($data);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_postal': '75008',
'limite': 10
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes = response.json()
print(dpes)
Par commune
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_municipalite=69123&limite=20" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_municipalite: '69123',
limite: '20',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const dpes = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_municipalite' => '69123',
'limite' => '20'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_municipalite': '69123',
'limite': 20
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes = response.json()
Par coordonnées GPS
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?lat=48.8566&lon=2.3522&limite=15" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
lat: '48.8566',
lon: '2.3522',
limite: '15',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const dpesProximite = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'lat' => '48.8566',
'lon' => '2.3522',
'limite' => '15'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$dpesProximite = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'lat': '48.8566',
'lon': '2.3522',
'limite': 15
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes_proximite = response.json()
Filtrer par étiquette énergétique
Trouver les passoires thermiques
Les passoires thermiques sont les logements avec étiquettes F ou G (forte consommation énergétique).
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_postal=13001&etiquette_dpe=F,G&limite=30" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_postal: '13001',
etiquette_dpe: 'F,G',
limite: '30',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const passoiresThermiques = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_postal' => '13001',
'etiquette_dpe' => 'F,G',
'limite' => '30'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$passoiresThermiques = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_postal': '13001',
'etiquette_dpe': 'F,G',
'limite': 30
},
headers={'Authorization': f'Bearer {api_key}'}
)
passoires_thermiques = response.json()
Étiquettes DPE énergie :
A- ≤ 70 kWh/m²/an (Très performant)B- 71-110 kWh/m²/an (Performant)C- 111-180 kWh/m²/an (Assez performant)D- 181-250 kWh/m²/an (Moyennement performant)E- 251-330 kWh/m²/an (Peu performant)F- 331-420 kWh/m²/an (Très peu performant)G- > 420 kWh/m²/an (Passoire thermique)
Trouver les logements performants
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_postal=33000&etiquette_dpe=A,B,C&limite=20" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_postal: '33000',
etiquette_dpe: 'A,B,C',
limite: '20',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const logementsPerformants = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_postal' => '33000',
'etiquette_dpe' => 'A,B,C',
'limite' => '20'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$logementsPerformants = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_postal': '33000',
'etiquette_dpe': 'A,B,C',
'limite': 20
},
headers={'Authorization': f'Bearer {api_key}'}
)
logements_performants = response.json()
Filtrer par émissions de GES
Les émissions de gaz à effet de serre mesurent l'impact environnemental du logement.
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_municipalite=69123&etiquette_ges=F,G&limite=25" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_municipalite: '69123',
etiquette_ges: 'F,G',
limite: '25',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const logementsPolluants = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_municipalite' => '69123',
'etiquette_ges' => 'F,G',
'limite' => '25'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$logementsPolluants = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_municipalite': '69123',
'etiquette_ges': 'F,G',
'limite': 25
},
headers={'Authorization': f'Bearer {api_key}'}
)
logements_polluants = response.json()
Étiquettes GES :
A- ≤ 6 kg CO2/m²/an (Très faible émission)B- 7-11 kg CO2/m²/an (Faible émission)C- 12-30 kg CO2/m²/an (Émission modérée)D- 31-50 kg CO2/m²/an (Émission moyenne)E- 51-70 kg CO2/m²/an (Émission importante)F- 71-100 kg CO2/m²/an (Émission très importante)G- > 100 kg CO2/m²/an (Émission extrêmement importante)
Filtrer par type de bâtiment
Appartements
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_postal=06000&type_batiment=appartement&limite=20" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_postal: '06000',
type_batiment: 'appartement',
limite: '20',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const dpes = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_postal' => '06000',
'type_batiment' => 'appartement',
'limite' => '20'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_postal': '06000',
'type_batiment': 'appartement',
'limite': 20
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes = response.json()
Maisons
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_municipalite=31555&type_batiment=maison&limite=30" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_municipalite: '31555',
type_batiment: 'maison',
limite: '30',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const dpesMaisons = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_municipalite' => '31555',
'type_batiment' => 'maison',
'limite' => '30'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$dpesMaisons = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_municipalite': '31555',
'type_batiment': 'maison',
'limite': 30
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes_maisons = response.json()
Types de bâtiments :
appartement- Logement dans un immeuble collectifmaison- Logement individuelimmeuble- Bâtiment collectif complet
Filtrage détaillé par type de bâti
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_postal=44000&bati_type=10&limite=20" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_postal: '44000',
bati_type: '10', // Appartement 3 pièces
limite: '20',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const dpes3Pieces = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_postal' => '44000',
'bati_type' => '10', // Appartement 3 pièces
'limite' => '20'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$dpes3Pieces = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_postal': '44000',
'bati_type': '10', # Appartement 3 pièces
'limite': 20
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes_3_pieces = response.json()
Codes de bâti détaillés :
Maisons :
1- Maison (indéterminé)2- Maison 1 pièce/studio3- Maison 2 pièces4- Maison 3 pièces5- Maison 4 pièces6- Maison 5 pièces et plus
Appartements :
7- Appartement (indéterminé)8- Appartement 1 pièce/studio9- Appartement 2 pièces10- Appartement 3 pièces11- Appartement 4 pièces12- Appartement 5 pièces et plus
Filtrer par consommation énergétique
Par consommation totale
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_postal=59000&conso_energie_min=150&conso_energie_max=250&limite=25" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_postal: '59000',
conso_energie_min: '150',
conso_energie_max: '250',
limite: '25',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const dpesConsoMoyenne = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_postal' => '59000',
'conso_energie_min' => '150',
'conso_energie_max' => '250',
'limite' => '25'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$dpesConsoMoyenne = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_postal': '59000',
'conso_energie_min': 150,
'conso_energie_max': 250,
'limite': 25
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes_conso_moyenne = response.json()
Par émissions de GES
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_postal=67000&emission_ges_max=30&limite=20" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_postal: '67000',
emission_ges_max: '30',
limite: '20',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const dpesFaibleEmission = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_postal' => '67000',
'emission_ges_max' => '30',
'limite' => '20'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$dpesFaibleEmission = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_postal': '67000',
'emission_ges_max': 30,
'limite': 20
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes_faible_emission = response.json()
Filtrer par coût énergétique
- cURL
- JavaScript
- PHP
- Python
curl "https://app.infoparcelle.fr/api/v1/dpes?code_municipalite=34172&cout_total_max=1500&limite=20" \
-H "Authorization: Bearer VOTRE_CLE_API"
const apiKey = process.env.INFOPARCELLE_API_KEY;
const response = await fetch(
'https://app.infoparcelle.fr/api/v1/dpes?' +
new URLSearchParams({
code_municipalite: '34172',
cout_total_max: '1500',
limite: '20',
}),
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
const dpesEconomiques = await response.json();
<?php
$apiKey = getenv('INFOPARCELLE_API_KEY');
$url = 'https://app.infoparcelle.fr/api/v1/dpes?' . http_build_query([
'code_municipalite' => '34172',
'cout_total_max' => '1500',
'limite' => '20'
]);
$options = [
'http' => [
'header' => "Authorization: Bearer $apiKey\r\n",
'method' => 'GET'
]
];
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
$dpesEconomiques = json_decode($response, true);
?>
import os
import requests
api_key = os.getenv('INFOPARCELLE_API_KEY')
response = requests.get(
'https://app.infoparcelle.fr/api/v1/dpes',
params={
'code_municipalite': '34172',
'cout_total_max': 1500,
'limite': 20
},
headers={'Authorization': f'Bearer {api_key}'}
)
dpes_economiques = response.json()