GET
/v1/heatmap15 créditsStatistiques de prix agrégées par code postal (ou commune) pour un département ou une grande ville. Chaque zone inclut ses coordonnées centroïdes pour la cartographie. Résultats mis en cache 24h.
Au moins un des paramètres suivants est requis :
code_departement ou commune.Paramètres
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| code_departement | string | — | Code département (ex. '75', '69'). Requis si commune absent. |
| commune | string | — | Nom de ville (ex. 'PARIS'). Retourne tous les arrondissements. Requis si code_departement absent. |
| type_local | enum | — | Maison | Appartement |
| date_debut | string | 1 an ago | Date de début (YYYY-MM-DD) |
| date_fin | string | today | Date de fin (YYYY-MM-DD) |
| group_by | enum | code_postal | code_postal | commune — niveau d'agrégation |
| min_transactions | number | 10 | Nombre minimum de transactions pour inclure une zone |
Exemples
# Tous les arrondissements de Paris curl "https://mcp.normi.fr/v1/heatmap?code_departement=75&type_local=Appartement" \ -H "X-API-Key: normi_votre_token" # Toutes les communes du Rhône curl "https://mcp.normi.fr/v1/heatmap?code_departement=69&group_by=commune" \ -H "X-API-Key: normi_votre_token"
Réponse
{
"scope": { "department": "75" },
"property_type": "Appartement",
"period": { "start": "2025-03-11", "end": "2026-03-11" },
"zones": [
{
"code_postal": "75007",
"name": "75007 PARIS 07",
"centroid": { "lat": 48.8573, "lon": 2.3152 },
"stats": {
"transaction_count": 29,
"price_m2_median": 14055,
"price_m2_avg": 15121,
"price_median": 413790
},
"relative_position": "expensive"
},
{
"code_postal": "75019",
"name": "75019 PARIS 19",
"centroid": { "lat": 48.8828, "lon": 2.3839 },
"stats": {
"transaction_count": 45,
"price_m2_median": 7882,
"price_m2_avg": 7992,
"price_median": 262000
},
"relative_position": "affordable"
}
],
"scope_average": {
"price_m2_median": 9713,
"total_transactions": 1000
},
"cache": { "hit": false, "ttl_seconds": 86400 },
"_credits": { "used": 15, "remaining": 60 },
"query_time_ms": 1929
}Utilisation pour la cartographie
- Utilisez
centroid.lat/lonpour positionner chaque zone sur une carte (MapLibre GL, Leaflet, Mapbox). relative_position: expensive / average / affordable par rapport à la moyenne du scope.- Pour des polygones de zones, croisez les codes postaux avec l'API Cadastre (Phase 4).