DVF — Demandes de Valeurs Foncières
Source des données, couverture, champs disponibles et limites connues.
Source et provenance
Les données DVF (Demandes de Valeurs Foncières) sont publiées par la Direction Générale des Finances Publiques (DGFiP) sous Licence Ouverte 2.0 (Etalab). Elles sont disponibles librement sur data.gouv.fr.
Normi ingère, nettoie et enrichit ces données semi-annuellement (nouvelles données publiées en avril et octobre) et les expose via API REST et serveur MCP.
Couverture géographique
Les données couvrent toute la France métropolitaine et les DOM (Guadeloupe, Martinique, Guyane, La Réunion, Mayotte). Toutes les transactions immobilières déclarées aux services fiscaux sont incluses : ventes de maisons, appartements, terrains, locaux commerciaux et industriels.
Dictionnaire des champs
Les champs marqués d'un • sont ajoutés ou enrichis par Normi.
| Champ | Description |
|---|---|
| id | Identifiant unique de la transaction DVF |
| date_mutation | Date de l'acte de vente (YYYY-MM-DD) |
| nature_mutation | Nature de l'acte (ex. 'Vente', 'Vente en l'état futur d'achèvement') |
| valeur_fonciere | Prix de vente total en euros |
| adresse_numero | Numéro de la rue |
| adresse_nom_voie | Nom de la voie |
| adresse_code_voie | Code de voie (FANTOIR) |
| code_postal | Code postal à 5 chiffres |
| commune | Nom de la commune en majuscules (ex. 'PARIS 01', 'LYON') |
| •commune_base | Commune de base sans arrondissement (ex. 'PARIS', 'MARSEILLE') |
| code_departement | Code département (ex. '75', '69', '13') |
| type_local | Type de bien original DVF (Maison / Appartement / Dépendance / Local industriel / Terrain) |
| •computed_type_local | Type normalisé par Normi (plus fiable que type_local brut) |
| surface_reelle_bati | Surface réelle bâtie en m² |
| •surface_normalized | Surface Carrez si disponible, sinon surface réelle bâtie |
| nombre_pieces_principales | Nombre de pièces principales |
| surface_terrain | Surface du terrain en m² (maisons et terrains) |
| nombre_de_lots | Nombre de lots dans la transaction |
| •prix_m2 | Prix au m² calculé (valeur_fonciere / surface_normalized) |
| •latitude | Latitude géocodée par l'API Adresse (BAN / IGN) |
| •longitude | Longitude géocodée par l'API Adresse (BAN / IGN) |
| •is_bulk_sale | Vrai si la transaction inclut plusieurs lots (vente en lot) |
| •is_price_outlier | Vrai si le prix/m² est statistiquement aberrant pour la zone |
| section | Section cadastrale (référence parcellaire) |
| no_plan | Numéro de plan cadastral |
Particularités à connaître
PARIS 01, PARIS 02… Pour requêter tout Paris, utilisez commune=PARIS (qui utilise commune_base en interne). Même logique pour Lyon et Marseille.date_debut, la requête peut timeout (limite de 8s PostgREST). Ajoutez toujours date_debut sur ces zones.exclude_bulk_sales=true et exclude_outliers=true filtrent les données statistiquement aberrantes. Ces filtres donnent des prix représentatifs du marché résidentiel standard. Désactivez-les si vous analysez des investisseurs en lots ou des transactions atypiques.surface_normalized = surface Carrez si disponible, sinon surface réelle bâtie. Le champ prix_m2 utilise toujours cette surface normalisée.Licence des données
Les données DVF sont publiées sous Licence Ouverte 2.0 (Etalab). Cette licence est compatible avec les standards Open Data internationaux (ODbL, Creative Commons). L'utilisation commerciale est autorisée sous réserve de citer la source : DGFiP / data.gouv.fr.
Normi ajoute une couche de valeur (nettoyage, géocodage, enrichissement) à ces données. L'accès à l'API Normi est régi par les Conditions Générales d'Utilisation de Normi.