API REST / Historique d'un bien
Historique d'un bien
Retrouvez toutes les transactions enregistrées pour une adresse ou une parcelle cadastrale depuis 2014.
GET
/v1/property-history20 créditsRetourne l'historique complet des mutations DVF pour un bien immobilier, avec l'évolution du prix quand deux ventes portent sur le même bien (même type, surface à 5 % près). Non facturé si aucune vente n'est trouvée.
Deux modes de recherche
- Par adresse :
address+code_postal— numéro exact (bis/ter compris), nom de rue approché. Sans numéro : toute la rue, 50 ventes au plus. - Par parcelle cadastrale :
section+no_plan+code_commune— correspondance exacte, plus précise pour les immeubles multi-lots.
Paramètres
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
| address | string | — | Adresse avec numéro (ex. 4 rue de Rivoli, 49 cours Richard Vitton, 12 bis avenue Foch). Sans numéro, renvoie les ventes de toute la rue. Utilisez avec code_postal. |
| code_postal | string | — | Code postal (ex. 75004). Requis avec address. |
| section | string | — | Section cadastrale (ex. AB). Utilisez avec no_plan et code_commune. |
| no_plan | string | — | Numéro de plan cadastral (ex. 0042). Utilisez avec section et code_commune. |
| code_commune | string | — | Code INSEE de la commune à 5 chiffres (ex. 75102). Requis pour la recherche cadastrale. |
Exemple — recherche par adresse
curl "https://mcp.normi.fr/v1/property-history?address=4+rue+de+Rivoli&code_postal=75004" \ -H "X-API-Key: normi_votre_token"
Exemple — recherche cadastrale
# Recherche par parcelle cadastrale (plus précise) curl "https://mcp.normi.fr/v1/property-history?section=AB&no_plan=0017&code_commune=75102" \ -H "X-API-Key: normi_votre_token"
Réponse
{
"scope": "address",
"address_normalized": "4 RUE DE RIVOLI, 75004 PARIS 04",
"cadastral": { "section": "AD", "no_plan": "12", "code_commune": "104" },
"transactions": [
{
"id": 17998412,
"date": "2024-03-12",
"address": "4 RUE DE RIVOLI",
"price": 1110000,
"price_per_m2": 11822,
"surface": 93.89,
"type": "Appartement",
"rooms": 4,
"buyer_type": "unknown",
"nature": "Vente"
},
{
"id": 9012377,
"date": "2015-06-30",
"address": "4 RUE DE RIVOLI",
"price": 774000,
"price_per_m2": 8323,
"surface": 93,
"type": "Appartement",
"rooms": 4,
"buyer_type": "unknown",
"nature": "Vente"
}
],
"price_evolution": {
"basis": "repeat_sale",
"description": "Same type (Appartement) and surface within 5% (93 m² → 93.89 m²), treated as the same property",
"appreciation_pct": 43.4,
"annualized_return_pct": 4.3,
"period_years": 8.7,
"first_sale": { "date": "2015-06-30", "price": 774000, "surface": 93 },
"last_sale": { "date": "2024-03-12", "price": 1110000, "surface": 93.89 }
},
"note": "Found 2 transaction(s) at this address. A building can hold several units: compare surface and type before treating two sales as the same property.",
"_credits": { "used": 20, "remaining": 40 },
"query_time_ms": 178
}20 crédits — endpoint le plus coûteux
- Préférez la recherche cadastrale quand vous avez le numéro de parcelle : elle est plus précise et évite les faux positifs.
- La recherche par adresse utilise une correspondance floue sur le nom de voie (type de voie ignoré).
- Voir aussi lookup_property_history pour l'équivalent MCP.