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.

17M+
Transactions
2014–présent
Période
Semi-annuelle
Mise à jour

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.

Exclusions légales
Certaines transactions ne figurent pas dans DVF : les mutations à titre gratuit (donations, successions), les ventes en viager, et certaines transactions impliquant des personnes morales spécifiques.

Dictionnaire des champs

Les champs marqués d'un sont ajoutés ou enrichis par Normi.

ChampDescription
idIdentifiant unique de la transaction DVF
date_mutationDate de l'acte de vente (YYYY-MM-DD)
nature_mutationNature de l'acte (ex. 'Vente', 'Vente en l'état futur d'achèvement')
valeur_foncierePrix de vente total en euros
adresse_numeroNuméro de la rue
adresse_nom_voieNom de la voie
adresse_code_voieCode de voie (FANTOIR)
code_postalCode postal à 5 chiffres
communeNom de la commune en majuscules (ex. 'PARIS 01', 'LYON')
commune_baseCommune de base sans arrondissement (ex. 'PARIS', 'MARSEILLE')
code_departementCode département (ex. '75', '69', '13')
type_localType de bien original DVF (Maison / Appartement / Dépendance / Local industriel / Terrain)
computed_type_localType normalisé par Normi (plus fiable que type_local brut)
surface_reelle_batiSurface réelle bâtie en m²
surface_normalizedSurface Carrez si disponible, sinon surface réelle bâtie
nombre_pieces_principalesNombre de pièces principales
surface_terrainSurface du terrain en m² (maisons et terrains)
nombre_de_lotsNombre de lots dans la transaction
prix_m2Prix au m² calculé (valeur_fonciere / surface_normalized)
latitudeLatitude géocodée par l'API Adresse (BAN / IGN)
longitudeLongitude géocodée par l'API Adresse (BAN / IGN)
is_bulk_saleVrai si la transaction inclut plusieurs lots (vente en lot)
is_price_outlierVrai si le prix/m² est statistiquement aberrant pour la zone
sectionSection cadastrale (référence parcellaire)
no_planNuméro de plan cadastral

Particularités à connaître

Paris — arrondissements
Paris est stocké par arrondissement : 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.
Grands codes postaux parisiens (75015–75020)
Ces codes postaux contiennent des milliers de transactions. Sans filtre date_debut, la requête peut timeout (limite de 8s PostgREST). Ajoutez toujours date_debut sur ces zones.
Ventes en lot et outliers
Par défaut, 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 Carrez vs surface réelle
DVF publie jusqu'à 5 lots par transaction avec leur surface Carrez. Normi calcule 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.