5/8/2025

API DVF : exploiter la base des données foncières en France

API DVF : guide complet des données foncières, mises à jour semestrielles, sources officielles et exemples d’usage pour développeurs et pros de l’immobilier.

La base DVF (Demandes de Valeurs Foncières) est une mine d'or de données ouvertes sur les transactions immobilières en France. Mise à disposition par l'administration fiscale depuis 2019, elle permet de connaître les ventes de biens immobiliers sur les cinq dernières années. Dans cet article technique, nous allons expliquer ce qu’est la base DVF, à quoi elle sert et quelles données elle contient. Nous présenterons ensuite l’API DVF et les moyens d’interroger ces données foncières (formats, limitations, etc.), en répondant aux questions fréquentes sur ses sources, sa mise à jour ou sa couverture géographique. Enfin, nous proposerons des exemples d’utilisations concrètes – visualisation cartographique, calcul de prix au m², études de marché immobilier, agrégations par filtres – avec des extraits de code en Python (requests) et en curl pour apprendre à accéder facilement à la base DVF. Le tout s’adresse aux développeurs, aux professionnels de l’immobilier ou à toute personne curieuse des données foncières en France, dans un ton clair, technique et informatif.

Qu’est-ce que la base DVF (Demandes de valeurs foncières) ?

La base DVF (pour Demandes de valeurs foncières) est un jeu de données ouvertes publié par la Direction Générale des Finances Publiques (DGFiP). Elle recense l’ensemble des transactions immobilières (ventes de propriétés bâties et non bâties) intervenues en France sur les cinq dernières années. Son ouverture en open data, prévue par la loi ESSOC d’août 2018 et le décret n°2018-1350 de décembre 2018, poursuit un objectif de transparence des marchés fonciers et immobiliers : toute personne peut désormais consulter les prix de vente des biens de son quartier ou étudier le marché immobilier plus aisément.

Que contient DVF ? Concrètement, chaque enregistrement de la base DVF correspond à une vente immobilière (mutation à titre onéreux) et fournit de nombreuses informations détaillées issues de l’acte notarié et des données cadastrales associées. Parmi les données foncières disponibles dans DVF, on retrouve notamment :

  • La date de mutation (date de signature de l'acte de vente).
  • La nature de la mutation : type de transaction (vente, vente en l’état futur d’achèvement – VEFA, vente de terrain à bâtir, échange, adjudication, expropriation, etc.).
  • La valeur foncière : le prix de vente du bien ou le montant déclaré de la transaction. Ce prix inclut les éventuels frais d’agence à charge vendeur et la TVA, mais exclut les frais d’agence à charge acquéreur, les frais de notaire et la valeur des meubles indiqués dans l'acte.
  • L’adresse du bien vendu : numéro et libellé de voie, code postal, commune. Les fichiers DVF fournissent le code postal, le code INSEE de la commune et la voie (avec son type, ex. rue, avenue, etc.). Un code voie (identifiant de la rue dans la base officielle FANTOIR) est également présent.
  • Les références cadastrales : identifiants de la parcelle cadastrale où se situe le bien (code département, code commune INSEE sur 3 chiffres, préfixe de section, section, numéro de plan). Ces références permettent de lier DVF au plan cadastral (parcelles).
  • Le descriptif du bien : nature et caractéristiques du bien immobilier vendu. On y trouve notamment le type de bien (code et libellé), la surface et le nombre de pièces pour les locaux bâtis, ou la nature de culture et surface du terrain pour les parcelles non bâties. Par exemple, le champ Code type local indique le type de local : 1 pour une maison, 2 pour un appartement, 3 pour une dépendance (isolée) et 4 pour un local industriel ou commercial. Le champ Type local donne le libellé correspondant (Maison, Appartement, etc.). Pour les biens en copropriété, jusqu’à 5 lots et leurs surfaces (surface “Carrez”) peuvent être renseignés. On trouve également la surface réelle bâtie (surface du logement mesurée au sol, arrondie au m² inférieur) et le nombre de pièces principales pour les maisons/appartements, ainsi que la surface du terrain (surface cadastrale) et la nature de culture le cas échéant pour les terrains.

Toutes ces données sont organisées en colonnes dans les fichiers DVF. Par exemple, on aura une colonne Date de mutation, une colonne Valeur foncière, une colonne Commune, Type local, Surface réelle, etc. Au total, la diffusion DVF comprend une quarantaine de champs décrivant chaque vente immobilière. Les données personnelles directement identifiantes (nom des parties…) n’y figurent pas, conformément aux restrictions légales (les données ne doivent pas permettre de ré-identifier les personnes).

Périmètre géographique et historique : la base DVF couvre la France métropolitaine et les DOM-TOM, à l’exception notable de l’Alsace, de la Moselle et de Mayotte. Ces trois zones ont des particularités juridiques (en Alsace-Moselle, le registre foncier est différent – “livre foncier” – et Mayotte n’était pas intégrée à l’époque), ce qui explique leur absence de la base nationale. En dehors de ces exceptions, toutes les ventes immobilières à titre onéreux depuis 2014 sont théoriquement présentes. Cependant, la DGFiP ne publie que les mutations des cinq dernières années : les fichiers DVF disponibles en ligne glissent d’année en année (par exemple, les données 2018 ont été retirées en 2024 pour laisser place aux ventes plus récentes). Cela signifie que DVF contient en continu les 5 ans les plus récents de transactions – un point important si l’on cherche des ventes plus anciennes (il faut alors se tourner vers les archives des Services de Publicité Foncière).

Format des données DVF : les données brutes sont diffusées sur data.gouv.fr sous forme de fichiers texte (.txt compressés en .zip), séparés par barre verticale |. Un fichier distinct est fourni par année de vente (un millésime par an sur cinq ans). Par exemple, on trouve un fichier valeursfoncieres-2020.txt, ...-2021.txt, ..., jusqu’au plus récent. Ces fichiers sont volumineux (de l’ordre de 60 à 80 Mo chacun, soit plusieurs centaines de milliers de lignes), car ils listent toutes les transactions immobilières de l’année sur l’ensemble du territoire couvert. La DGFiP fournit également une notice descriptive (document PDF) détaillant chaque colonne du fichier, une FAQ et les conditions d’utilisation de ces données.

En résumé, la base DVF est le référentiel public des prix immobiliers en France sur les dernières années, avec un niveau de détail très fin pour chaque transaction. Elle est utilisée aussi bien par les pouvoirs publics, les professionnels de l’immobilier que par les particuliers curieux de connaître les prix de vente pratiqués dans une zone donnée.

L’API DVF : comment accéder aux données foncières en ligne ?

Télécharger les fichiers bruts de DVF puis les filtrer manuellement n’est pas toujours pratique, surtout si l’on s’intéresse à une zone ou un bien en particulier. C’est là qu’intervient l’API DVF, qui permet d’interroger de façon dynamique la base de données foncières et de récupérer uniquement les informations souhaitées, au format JSON, facilement exploitable en code. Il ne s’agit pas d’une API “officielle” fournie par la DGFiP, mais d’une réutilisation open source de DVF mise à disposition par la communauté open data.

La solution la plus connue est la micro-API DVF développée par Christian Quest (Etalab). Cette API minimale interroge une base DVF chargée dans une base de données PostgreSQL, et renvoie les résultats filtrés en JSON. Son code source open-source est disponible sur GitHub, ce qui permet aux développeurs de déployer leur propre instance de l’API DVF pour des usages intensifs ou spécifiques. L’instance publique de démonstration est accessible à l’URL http://api.cquest.org/dvf (sous réserve de disponibilité). Attention : c’est avant tout une preuve de concept communautaire, son hébergement n’est pas garanti en continu. Néanmoins, elle rend de fiers services pour tester rapidement des requêtes sur la base DVF.

Fonctionnalités de l’API DVF (micro-API)

L’API DVF permet de rechercher des transactions immobilières par différents critères de localisation :

  • Par commune (code INSEE) : en passant un paramètre code_commune (par exemple code_commune=94068 pour chercher sur la commune de Vincennes, INSEE 94068).
  • Par code postal : paramètre code_postal=XXXXX (utile pour cibler une ville via son code postal, par ex. code_postal=75015 pour Paris 15ème).
  • Par référence cadastrale : on peut interroger directement une parcelle précise via son code section cadastrale (section=codeSection) ou son identifiant de parcelle complet (numero_plan=codeParcelle). Par exemple section=94068000CQ ou numero_plan=94068000CQ0110.
  • Par coordonnées géographiques : en fournissant une latitude, une longitude et un rayon de recherche. On utilise les paramètres lat=...&lon=...&dist=... (dist étant la distance en mètres, 500 m par défaut). Par exemple lat=48.85&lon=2.35&dist=200 pour chercher dans un rayon de 200 m autour du point (48.85 N, 2.35 E).

On peut combiner ces critères pour affiner la recherche. Chaque requête à l’API DVF retourne les enregistrements correspondants au format JSON. Concrètement, l’API renvoie un tableau d’objets JSON, chaque objet contenant l’ensemble des champs DVF pour une transaction donnée (date, prix, adresse, type de bien, surface, etc.). Cela permet de traiter facilement la réponse côté client (code Python, JavaScript, etc.) sans avoir à parser manuellement un gros fichier texte.

Exemple de requête API DVF : si l’on souhaite lister toutes les ventes enregistrées dans la commune de code INSEE 94068 (Vincennes), il suffit d’appeler :

http://api.cquest.org/dvf?code_commune=94068

L’API renverra un JSON contenant la liste de toutes les transactions DVF de Vincennes (sur les 5 ans couverts). De même, http://api.cquest.org/dvf?code_postal=75015 renverrait les ventes du 15ème arrondissement de Paris, et http://api.cquest.org/dvf?lat=48.85&lon=2.35&dist=200 renverrait les ventes autour du Panthéon (coordonnées 48.85, 2.35) dans un rayon de 200 m. On pourrait ainsi obtenir par programme toutes les ventes d’un quartier et en extraire les informations voulues (par exemple filtrer les appartements de plus de 100 m², etc.).

Formats disponibles : le format de sortie est JSON (JavaScript Object Notation), très pratique à manipuler dans n’importe quel langage moderne. À noter que les données brutes DVF restent disponibles en CSV (fichiers texte) sur data.gouv.fr si besoin, et qu’une version géolocalisée des données DVF existe également (fournie en CSV par Etalab) avec les coordonnées latitude/longitude de chaque parcelle. Cette dernière (DVF géolocalisées) a enrichi les fichiers originaux en effectuant le géocodage des adresses et en normalisant certains champs, ce qui peut être utile pour des usages géographiques avancés. Dans tous les cas, l’API DVF elle-même retourne du JSON brut, sans visualisation – à charge de l’utilisateur de l’exploiter (le format JSON est néanmoins facilement convertible en CSV via des scripts si nécessaire).

Limitations de l’API DVF et des données

Bien que très utile, l’API DVF présente quelques limitations qu’il faut garder à l’esprit :

  • Service non officiel et disponibilité : la micro-API fournie par data.cquest.org est une initiative communautaire. Sa disponibilité n’est pas garantie à 100% (le serveur peut être temporairement indisponible). Pour des usages en production ou un volume élevé de requêtes, il est conseillé d’héberger sa propre instance de l’API DVF. Le code open-source permet d’installer facilement cette API sur votre serveur (il suffit de charger les fichiers DVF dans PostgreSQL et d’exécuter le script Python). Ainsi, vous contrôlerez les performances et la fraîcheur des données.

  • Mise à jour des données DVF : la base DVF est mise à jour deux fois par an par la DGFiP, généralement en avril et en octobre. Chaque mise à jour intègre les nouvelles ventes du dernier semestre écoulé et remplace les fichiers précédents. L’API DVF communautaire dépend donc des nouvelles données publiées à ces échéances. En pratique, Christian Quest et d’autres mettent à jour l’instance après chaque publication semestrielle (par exemple, l’API a été mise à jour fin avril 2024 avec les ventes jusqu’à fin 2023). Mais il peut y avoir un léger décalage. Si vous déployez votre propre instance, il faudra vous-même ingérer les nouveaux fichiers DVF à chaque mise à jour semestrielle pour rester à jour. Notez que lors de chaque mise à jour, tous les millésimes sur 5 ans sont re-générés : certaines transactions de l’année N-1 enregistrées tardivement peuvent apparaître lors de la mise à jour d’avril, etc.. Autrement dit, la donnée la plus récente (dernier millésime) peut être partielle et s’étoffer dans la mise à jour suivante.

  • Couverture géographique : comme mentionné, DVF ne couvre pas les départements d’Alsace-Moselle (Bas-Rhin, Haut-Rhin, Moselle) ni Mayotte. Aucune donnée n’y sera retournée pour ces zones, l’API DVF vous renverra un résultat vide même si vous spécifiez un code postal ou commune correspondant à ces départements exclus. De même, DVF exclut les ventes de biens dans lesquels l’État est impliqué (ventes de l’État, biens du ministère de la Défense, etc., qui peuvent être soumises à des restrictions) – mais ces cas sont marginaux pour un utilisateur lambda.

  • Type de mutations : DVF ne recense que les mutations à titre onéreux. Les donations, successions ou autres transferts sans contrepartie financière n’y figurent pas. De plus, certaines ventes particulières (ventes de parts de SCI, ventes aux enchères judiciaires non enregistrées comme adjudications, etc.) peuvent ne pas être reflétées directement. Pour un usage normal centré sur les ventes immobilières classiques, cette limitation n’est pas un problème, mais il faut le savoir.

  • Données personnelles absentes : l’API ne fournira pas d’informations sur les parties (acheteurs/vendeurs) ni sur les adresses exactes des personnes. Seules les adresses des biens (parcelle, voie, commune) et des caractéristiques non personnelles sont présentes, conformément à la réglementation (RGPD, loi Informatique et Libertés). Il est également interdit d’essayer de réidentifier les personnes à partir des données DVF (par croisement par exemple).

  • Volume et pagination : l’API renvoie tout en une fois, sans pagination sophistiquée. Une requête par commune peut retourner plusieurs milliers de ventes en JSON. Cela reste généralement gérable (quelques Mo de JSON au plus pour une grande ville) mais pour un très grand nombre de résultats il faudra peut-être prévoir un traitement par lot (découper par année ou par quartier par exemple). Si vous interrogez directement les fichiers CSV, attention également à la taille.

En somme, l’API DVF permet d’accéder rapidement à la base DVF sans manipuler manuellement de gros fichiers. C’est un moyen idéal pour intégrer les données foncières dans vos applications : par exemple, faire un petit outil en ligne qui retourne le prix médian dans une commune, ou alimenter un site web avec les dernières ventes autour d’une adresse. Dans la prochaine section, nous allons passer en revue quelques questions fréquentes que l’on se pose sur ces données DVF et l’API, avant de présenter des cas d’usage concrets.

Questions fréquentes sur l’API DVF et les données foncières

Dans cette section, nous répondons à quelques questions courantes à propos de l’API DVF et de la base DVF elle-même, afin de clarifier son origine, sa mise à jour, ses sources officielles ou sa couverture.

D’où viennent les données de l’API DVF ?

Les données restituées par l’API DVF proviennent de la base DVF officielle de la DGFiP. La Direction générale des Finances publiques alimente cette base à partir de deux systèmes internes : la Base nationale des données patrimoniales (BNDP), qui centralise les informations des actes notariés enregistrés par les Services de publicité foncière, et les bases fiscales MAJIC (référentiel cadastral) et FIDJI (fichier immobilier, pour la publicité foncière). En résumé, lorsque qu’une vente immobilière est enregistrée par un notaire puis publiée au service de publicité foncière, les informations (adresse, parcelle, prix, etc.) remontent dans le système de la DGFiP. Elles sont ensuite extraites pour alimenter la base DVF mise en open data. L’API DVF n’est qu’une porte d’accès à ces données déjà collectées par l’administration fiscale – elle ne crée pas de données nouvelles, elle les diffuse simplement de manière filtrée. Ainsi, la source primaire est officielle et fiable : ce sont les données authentiques des actes de vente, consolidées par l’État.

En pratique, l’API DVF communautaire comme DVF+ (voir plus bas) utilisent les fichiers DVF publiés sur le portail officiel data.gouv.fr. Vous pouvez donc avoir confiance dans l’origine des informations (valeur juridique des actes notariés). Gardez toutefois à l’esprit que la DGFiP n’est pas responsable des sites réutilisant ces données (comme l’API de cquest ou d’autres) et ne garantit pas leur fonctionnement – seul le contenu des fichiers bruts sur data.gouv.fr fait foi.

À quelle fréquence les données DVF sont-elles mises à jour ?

La base DVF est mise à jour deux fois par an (mise à jour semestrielle). Historiquement, les nouvelles données sont publiées aux environs d’avril et d’octobre de chaque année. Chaque mise à jour intègre l’ensemble des transactions des 5 dernières années glissantes, y compris le nouveau semestre écoulé.

  • La publication d’avril inclut généralement toutes les mutations des 5 dernières années enregistrées jusqu’au 31 décembre de l’année précédente. Par exemple, la mise à jour d’avril 2025 a incorporé toutes les ventes de 2020 à 2024 enregistrées avant fin 2024 (et a remplacé les fichiers antérieurs).
  • La publication d’octobre ajoute les mutations du 1er janvier au 30 juin de l’année en cours (en plus des 4 années précédentes). Par exemple en octobre 2025, on s’attend à voir les ventes du 1er semestre 2025 s’ajouter aux fichiers, couvrant ainsi 2021 à mi-2025.

Il est important de comprendre que ces mises à jour remplacent l’intégralité des fichiers : on republie chaque année un nouveau fichier pour l’année N-4, N-3, ..., N (ou N-1 selon la période). Des transactions qui auraient été manquantes (enregistrées en retard) dans une année précédente peuvent donc apparaître lors de la mise à jour suivante. Par exemple, une vente de août 2019 enregistrée tardivement en janvier 2020 n’aurait pas été dans la diffusion 2019 initiale mais est apparue dans la mise à jour d’avril 2020. En conséquence, les chiffres les plus récents sont souvent provisoires : le dernier semestre publié contient généralement moins de transactions (car seul le premier semestre de l’année courante est présent en octobre, ou parce que certaines ventes de fin d’année précédente manquent en avril).

Pour un utilisateur de l’API DVF, cela signifie qu’après chaque mise à jour semestrielle, l’instance doit être actualisée avec les nouveaux fichiers. La communauté open data s’en charge rapidement en général. Si vous maintenez votre propre base DVF, planifiez un import des nouvelles données en avril et octobre. En dehors de ces deux mises à jour annuelles, les données restent statiques. Il n’y a pas (à ce jour) de flux mensuel ou continu d’informations DVF publiques.

Quelles sont les sources officielles et la documentation de référence ?

Les sources officielles pour DVF sont les suivantes :

  • Le portail data.gouv.fr héberge le jeu de données Demandes de valeurs foncières (DVF) publié par le Ministère de l’Économie et des Finances (DGFiP). C’est la source primaire pour télécharger les fichiers bruts (par année) ainsi que la documentation officielle (notice, FAQ, etc.). Vous pouvez consulter et télécharger ces données sur la page dédiée de data.gouv.fr. Lien : Demandes de valeurs foncières – data.gouv.fr.

  • La notice descriptive officielle (PDF) du fichier DVF détaille chaque champ et la façon dont les données sont construites. Elle est disponible parmi les ressources du jeu de données (ex. notice-descriptive-du-fichier-dvf.pdf). De même, une Foire aux Questions officielle (PDF) répond aux interrogations courantes des usagers. Ces documents sont utiles pour bien interpréter certains champs (par ex. les codes de nature de culture, ou la notion de disposition dont on a parlé plus haut).

  • L’application “Données de valeur foncière” (DVF) est un outil en ligne mis en place initialement par Etalab (DINUM) et désormais intégré à data.gouv.fr. Il s’agit d’une interface web permettant de rechercher une adresse et de visualiser sur une carte les ventes issues de DVF. Cet outil cartographique (disponible via explore.data.gouv.fr) est très utile pour consulter rapidement les données sans coder. Il offre aussi la possibilité d’exporter les résultats filtrés (au format CSV) pour un secteur ou une sélection donnée. Lien : Application DVF – Explore data.gouv.fr.

  • En ce qui concerne l’API elle-même, il n’existe pas à proprement parler de site officiel gouvernemental fournissant une API REST DVF clé en main. L’initiative la plus notable est celle de Christian Quest (API communautaire). Son code source open-source est accessible sur GitHub : cquest/dvf_as_api. On y trouve des instructions d’installation et quelques informations techniques. La page de réutilisation sur data.gouv.fr fournit aussi un résumé (critères disponibles, exemples d’URL).

  • À noter qu’un acteur public, le Cerema, propose un service appelé DVF+ qui enrichit les données DVF avec des informations supplémentaires (géolocalisation précise, données cadastrales telles que les “éléments de confort” des logements, etc.). La société Sogefi opère une API DVF+ en partenariat avec le Cerema. Cette API, mise à jour également tous les 6 mois, nécessite une inscription pour obtenir un jeton et ses données sont partiellement en accès restreint/commercial. Elle peut intéresser les professionnels ayant besoin de données augmentées (par exemple l’intégration d’informations des matrices cadastrales ou d’un historique par parcelle). Toutefois, pour un usage purement open data, on se concentrera sur la base DVF standard accessible gratuitement.

En résumé, la référence officielle reste data.gouv.fr pour la donnée brute et Etalab pour l’outillage. Toute personne souhaitant exploiter DVF devrait commencer par consulter ces sources. Le présent article inclut d’ailleurs des liens vers ces ressources pour vous guider.

Quelles sont les limites de la couverture géographique de DVF ?

La couverture de DVF est nationale, incluant la métropole et outre-mer, à l’exception de certains territoires. Comme mentionné plus haut, l’Alsace et la Moselle ne sont pas incluses dans DVF, car ces départements (Bas-Rhin, Haut-Rhin, Moselle) utilisent un régime d'enregistrement foncier hérité de l’époque allemande (livre foncier) qui n’alimentait pas, jusqu’à récemment, les bases de données de la DGFiP. De même, le département de Mayotte est exclu. En dehors de ces zones, toutes les régions de France sont couvertes : métropole, Guadeloupe, Martinique, Guyane, La Réunion, et les autres DOM. Les COM (Collectivités d’outre-mer) ne sont pas concernées car DVF se limite aux départements et régions.

Il faut aussi noter que DVF ne contient que les ventes immobilières. Cela exclut de facto certains biens particuliers : par exemple, les cessions de baux emphytéotiques, les concessions, ou les biens relevant du domaine public (qui ne sont pas des ventes immobilières classiques) n’y figurent pas. Mais pour tout ce qui est vente de maisons, appartements, terrains, immeubles, locaux commerciaux sur le territoire français (hors exceptions Alsace-Moselle/Mayotte), la base DVF est exhaustive sur les cinq dernières années.

En termes de maille géographique minimale, DVF descend jusqu’à la parcelle cadastrale et l’adresse. Il est donc possible de localiser très précisément chaque transaction (même si l’adresse exacte du bien peut parfois nécessiter un rapprochement avec la donnée cadastrale). La version géolocalisée produite par Etalab facilite ce travail en fournissant directement les coordonnées. Avec cela, on peut couvrir toute échelle, du quartier à la région.

Autres questions fréquentes

Pour terminer cette FAQ, deux autres interrogations reviennent souvent chez les utilisateurs de DVF :

  • Pourquoi la surface indiquée peut sembler erronée ?
    Il arrive que la surface réelle bâti d’un bien dans DVF ne corresponde pas à la réalité constatée (par exemple, un appartement de 50 m² connu localement peut apparaître avec 45 m² dans DVF). Cela provient du fait que DVF reprend la dernière surface déclarée fiscalement pour ce bien. Si cette surface n’a pas été mise à jour dans les documents cadastraux, elle peut être obsolète. Un propriétaire peut rectifier la surface de son bien en remplissant une déclaration d’information cadastrale (formulaire H1/H2) auprès des impôts fonciers. Les corrections figureront alors dans les prochaines mises à jour. En bref, DVF n’invente rien : elle reflète la donnée cadastrale qui peut comporter de légers décalages avec la réalité si celle-ci n’a pas été déclarée.

  • Pourquoi le prix affiché ne correspond pas exactement au prix de vente que je connais ?
    DVF indique le prix tel que déclaré dans l’acte notarié pour la mutation du bien immobilier, en n'incluant que les composantes immobilières. Cela signifie que si la vente comprenait en plus du mobilier (cuisine équipée, meubles, etc.) ou d’autres éléments valorisés à part, ces montants sont retranchés du prix publié. De même, les frais d’agence à charge acquéreur ne sont pas comptés dans la valeur foncière DVF. Le prix DVF peut donc être légèrement inférieur au “prix de vente total” communiqué par une agence immobilière, par exemple. Ce n’est pas une erreur, juste une question de définition du prix net immobilier. Enfin, il faut bien sûr comparer des choses comparables : DVF agrège parfois plusieurs lots vendus ensemble sous un même prix (ex : vente d’une maison + terrain attenant + dépendance), ce qui peut donner l’impression d’un prix élevé pour l’unité si on ne réalise pas que plusieurs biens sont inclus. En analysant les colonnes Nombre de lots et Type de locaux, on peut ventiler ces cas complexes.

Exemples d’utilisation concrets de l’API DVF

Passons à la pratique ! Quelles applications peut-on construire ou quelles analyses réaliser grâce à l’API DVF et aux données foncières ? Voici quelques exemples concrets qui illustrent la puissance de cette base de données pour des développeurs ou des analystes immobiliers.

1. Visualisation des ventes sur une carte interactive

L’un des usages les plus évidents des données DVF est la cartographie des transactions immobilières. En récupérant via l’API DVF toutes les ventes dans une zone (par exemple avec un filtre par coordonnées ou par commune), on peut projeter ces points de vente sur une carte géographique.

Exemple : Imaginons une application web où un utilisateur entre une adresse et consulte les ventes autour. On peut utiliser l’API DVF pour chercher les ventes dans un rayon de 300 m autour de cette adresse (lat, lon + dist). Le résultat JSON nous donnera la liste des ventes, chacune associée à une parcelle cadastrale. En croisant avec un fond de plan cadastral (données disponibles via le plan cadastral informatisé PCI), on peut afficher les polygones de parcelles vendues sur la carte, colorés en fonction du prix au m², par exemple. Cela permet de visualiser instantanément où se situent les ventes récentes et à quels prix.

L’application officielle DVF fait déjà cela : elle affiche en symbole chaque bien vendu et permet de cliquer pour voir le détail (prix, date, surface…). Avec l’API, un développeur peut créer sa propre carte interactive personnalisée – par exemple en utilisant Leaflet ou Mapbox en front-end, alimenté par un backend Python/PHP qui va requêter l’API DVF. On peut ainsi concevoir des cartes thématiques : toutes les ventes de plus de 1 million d’euros à Paris, les terrains vendus en 2022 en Gironde, etc., en quelques appels API et un peu de code de visualisation.

Il est aussi possible de réaliser des choroplethes (cartes colorées par zones) en agrégeant les données DVF par commune ou par quartier. Par exemple, calculer le prix médian par commune et colorer chaque commune en fonction de ce prix. DVF étant très granulaire, on peut aller jusqu’à la maille IRIS (petite zone de quelques milliers d’habitants) en agrégeant les ventes par IRIS pour représenter les disparités intra-urbaines de valeur foncière.

2. Calcul du prix au mètre carré

Le prix au m² est un indicateur clé en immobilier. La base DVF permet de le calculer de manière assez précise pour chaque vente disposant d’une surface. Pour les appartements et maisons, on utilisera la surface réelle (surface habitable approximative) et pour les terrains, la surface du terrain.

Exemple : Supposons qu’on veuille connaître le prix moyen au m² des appartements vendus dans le 5ème arrondissement de Marseille en 2023. On peut procéder ainsi : appeler l’API DVF avec code_postal=13005 et filtrer les résultats pour l’année 2023 et Type local = Appartement. Pour chaque vente, calculer le prix/m² = valeur_fonciere / surface_relle_bati. Ensuite, on peut faire la moyenne de ces prix/m² ou mieux, la médiane (pour éviter l’influence des valeurs extrêmes). En quelques lignes de Python, on obtient par exemple un prix médian de X €/m². On peut aussi regrouper par trimestre pour voir l’évolution au cours de l’année.

L’API DVF facilite cela car on peut limiter la zone directement (ici par code postal, ou code INSEE de commune) et obtenir un JSON. Il suffit de parcourir les objets JSON renvoyés et d’appliquer la formule. Ce type de calcul est utile pour des études de marché ou pour alimenter un simulateur en ligne (par ex. « estimez la valeur de votre bien en fonction du prix/m² constaté dans votre quartier »).

Attention à bien filtrer sur les biens pertinents : par exemple pour un prix au m² d’appartement, éliminez les enregistrements où le champ Surface réelle est nul ou très petit (parfois il y a des ventes comprenant plusieurs lots dont un sans surface précisée, ce qui fausserait le calcul si on ne prend pas le bon lot). Dans DVF, normalement chaque ligne correspond à un local, donc on dispose de la surface du local directement.

3. Études de marché immobilier et analyses statistiques

Avec plusieurs millions de transactions sur 5 ans, DVF est un formidable jeu de données pour faire des analyses statistiques sur le marché immobilier français. Voici quelques idées d’études réalisables :

  • Évolution des volumes de ventes et des prix dans le temps : En agrégeant par année (ou trimestre), on peut suivre le nombre de transactions et le prix médian par département ou ville. Par exemple, voir l’effet de 2020 (crise COVID) sur le nombre de ventes comparé à 2019, ou mesurer l’augmentation des prix en 2021-2022. DVF permet ce genre d’analyse macro puisque toutes les ventes y sont listées. On peut croiser avec les données INSEE (évolution population) pour enrichir l’analyse.

  • Comparaison entre zones géographiques : Quel est l’écart de prix entre l’Île-de-France et la province ? Entre les littoraux et l’intérieur des terres ? On peut calculer des indicateurs par région et les comparer. Par exemple, le prix médian d’une maison en Bretagne vs en PACA. Ou plus finement, comparer deux villes de taille équivalente. DVF fournit une base objective pour cela. Un développeur peut créer des tableaux de bord interactifs (via Dash, Tableau, PowerBI, etc.) en alimentant les visualisations par des requêtes DVF filtrées.

  • Analyse par type de bien : Combien de maisons vs d’appartements sont vendus chaque année ? Quelle est la proportion de terrains nus ? DVF a le champ Type local qui permet de ventiler. On pourrait ainsi savoir que sur une zone donnée, 70% des mutations sont des appartements, 25% des maisons, 5% des terrains. Utile pour caractériser le marché local (urbain vs rural par ex).

  • Indice des prix immobiliers local : En recalculant sur DVF un indice style “médian glissant”, on peut reproduire les indices officiels (notaires, INSEE) mais à maille plus fine. Par exemple, construire un indice trimestriel du prix des appartements anciens à Lyon, ou du prix des terrains en grande couronne parisienne. DVF donne la matière première brute pour le faire.

Ces analyses nécessitent souvent de manipuler un volume de données conséquent. Un moyen efficace est de télécharger les fichiers DVF CSV et de les charger dans un outil de data science (Pandas en Python, R, SQL…). Cependant, pour une approche plus ciblée, on peut aussi effectuer des requêtes API par zone et les cumuler. Par exemple, pour une analyse nationale annuelle, on pourrait successivement interroger l’API DVF pour chaque département puis agréger – mais il est sans doute plus simple dans ce cas d’exploiter directement les fichiers complets. L’API excelle surtout pour extraire des sous-ensembles précis (quelques milliers de lignes tout au plus) de façon rapide.

4. Agrégation de données selon différents filtres

Enfin, DVF permet toutes sortes d’agrégations thématiques en combinant des filtres. Quelques cas d’usage originaux :

  • Valorisation foncière par promoteur ou par projet : En filtrant DVF sur une période et un périmètre, on peut estimer la somme totale investie dans les transactions. Par exemple, agréger toutes les ventes sur un futur tracé de ligne de transport avant/après l’annonce d’un projet, pour voir si les montants explosent (spéculation foncière). On peut également agréger par vendeur (malheureusement les noms ne sont pas publics, mais on peut parfois repérer des ventes groupées liées à un aménageur via la date et l’adresse).

  • Profil des transactions immobilières : DVF peut servir à profiler le type de biens vendus. Par exemple, dans tel département rural, la majorité des transactions sont des terrains agricoles (via la nature de culture dans DVF on peut repérer les terres agricoles, vignes, etc.), alors que dans telle métropole ce sont quasi exclusivement des appartements. Un développeur peut construire un rapport automatisé qui pour une zone donnée, sort la distribution par type de culture, par surface, par tranche de prix, etc.

  • Support aux estimations immobilières : Intégrer DVF dans un outil d’estimation de bien immobilier en ligne. On peut par exemple, pour une adresse donnée fournie par un utilisateur, interroger l’API DVF sur un rayon de 500m et ressortir les ventes comparables (même type de bien, superficie +/-10%). Ensuite, calculer une estimation de la valeur de son bien par moyenne des prix. Ce genre de feature apporte de la transparence pour les particuliers. Certains sites d’estimation l’ont implémenté ou utilisent des bases similaires (notaires, etc.), mais DVF étant libre, tout développeur peut créer son propre moteur d’estimation en s’appuyant dessus.

  • Croisements avec d’autres données ouvertes : Par exemple, coupler DVF avec les données de performance énergétique des bâtiments (DPE), désormais ouvertes, pour analyser si les logements avec étiquette énergétique meilleure se vendent plus cher. Ou croiser avec les données socio-économiques de l’INSEE (revenus médian des quartiers vs prix du m²). Les possibilités sont infinies dès lors qu’on dispose de DVF, car c’est un référentiel central sur l’argent échangé dans l’immobilier.

En résumé, la richesse des données foncières DVF permet de répondre à de nombreuses questions sur le marché immobilier français. L’API DVF fournit un moyen souple de récupérer juste ce qu’il faut de données pour alimenter ces analyses ou applications.

Exemples de requêtes API DVF en Python et en curl

Pour finir ce tour d’horizon, passons à des exemples concrets de code pour interroger l’API DVF. Que vous soyez développeur Python ou simple utilisateur voulant tester avec curl, voici comment accéder à l’API et traiter la réponse.

En Python avec la bibliothèque requests

Supposons que l’on veuille récupérer via l’API DVF toutes les ventes enregistrées sur la commune de Bordeaux (code INSEE 33063) depuis 2020, et calculer le prix moyen au m² des appartements vendus. On peut utiliser la bibliothèque Python requests pour interroger l’API et la bibliothèque standard json pour analyser la réponse.

import requests
import json

# URL de l'API DVF avec le filtre souhaité (code INSEE de Bordeaux = 33063)
url = "http://api.cquest.org/dvf?code_commune=33063"

response = requests.get(url)
data = response.json()  # le contenu JSON est directement converti en liste de dict Python

print(f"Nombre de ventes retournées : {len(data)}")

# Filtrer les ventes de type "Appartement" et à partir de 2020
ventes_apparts = [
    vente for vente in data
    if vente.get("type_local") == "Appartement" and vente.get("date_mutation", "") >= "2020-01-01"
]

# Calculer le prix au m² pour chaque vente filtrée
prix_m2 = []
for vente in ventes_apparts:
    prix = vente.get("valeur_fonciere")
    surface = vente.get("surface_relle_bati")
    if prix and surface and surface > 0:
        prix_m2.append(prix / surface)

# Afficher le résultat agrégé
if prix_m2:
    print(f"Prix moyen au m² des appartements vendus à Bordeaux (depuis 2020) : {sum(prix_m2)/len(prix_m2):.0f} €")

Dans cet exemple, on utilise requests.get pour appeler l’API DVF avec code_commune=33063. On parse la réponse JSON (qui sera une liste d’objets Python) grâce à .json(). On filtre ensuite les ventes dont type_local est "Appartement" et dont la date_mutation est postérieure au 1er janvier 2020. Enfin, on calcule un prix/m² pour chacune de ces ventes (attention à vérifier que la surface n’est pas nulle) puis on en fait la moyenne. On pourrait de la même manière calculer la médiane, la répartition, etc.

Bien sûr, pour un usage plus sérieux, on ajouterait des contrôles d’erreur (par exemple, vérifier que la requête s’est bien passée avec response.status_code == 200) et peut-être utiliser une bibliothèque de data science (pandas) pour manipuler les données plus facilement, mais cet exemple illustre la simplicité d’utilisation de l’API DVF. En quelques lignes on a extrait et exploité des données immobilières d’une grande ville.

En ligne de commande avec curl

Si vous souhaitez simplement tester l’API DVF sans écrire de code, vous pouvez utiliser l’outil en ligne de commande curl pour effectuer des requêtes HTTP. Par exemple :

# Requête DVF pour les ventes dans le département 33 (Gironde) en 2022
curl "http://api.cquest.org/dvf?code_departements=33&annee=2022"

Remarque : L’API de Christian Quest telle que documentée ne mentionne pas code_departements ni annee comme paramètres officiels. Pour filtrer par année, on doit filtrer côté client après récupération, ou déployer une instance modifiée acceptant ce paramètre. Dans la requête ci-dessus, nous imaginons une extension possible. À défaut, on peut utiliser code_commune ou code_postal pour limiter la zone, puis filtrer l’année dans le JSON obtenu.

La commande curl ci-dessus interroge l’URL de l’API DVF. Elle retournera un long texte JSON. Pour mieux le lire, on peut le passer dans jq (un utilitaire de formatage JSON) :

curl "http://api.cquest.org/dvf?code_postal=33000" | jq .

Ici, on récupère toutes les ventes dont le code postal est 33000 (Bordeaux centre) et on les affiche formatées. On verra chaque transaction avec ses champs. On pourrait rediriger ce résultat dans un fichier pour analyse ultérieure :

curl -o bordeaux.json "http://api.cquest.org/dvf?code_postal=33000"

Cela crée un fichier bordeaux.json contenant toutes les ventes de Bordeaux (code postal 33000). Il ne reste plus qu’à l’ouvrir avec son outil favori (même un simple navigateur web peut afficher un JSON de manière lisible, ou bien en utilisant Python/pandas, etc.).

L’utilisation via curl est utile pour des tests rapides ou pour intégrer dans des scripts shell. Pour des traitements plus complexes, on reviendra vite à un langage de script avec parsing JSON (Python, R, JavaScript, …).

Conclusion et ressources

L’API DVF ouvre de vastes possibilités pour exploiter les données foncières françaises de manière flexible. En quelques requêtes HTTP, on peut accéder à des millions de données de prix immobiliers et les intégrer dans des applications web, des analyses data ou des cartes interactives. Dans cet article, nous avons vu ce qu’est la base DVF et son contenu (dates, valeurs foncières, adresses, surfaces, etc.), nous avons présenté l’API DVF communautaire et ses paramètres d’interrogation (code commune, coordonnées, etc.) ainsi que ses limites (couverture hors Alsace-Moselle, mises à jour semestrielles, etc.). Nous avons également répondu aux questions fréquentes sur l’origine des données (DGFiP via les notaires), la fréquence de mise à jour (avril et octobre chaque année) et les sources officielles (data.gouv.fr, documentation Etalab). Enfin, nous avons illustré plusieurs cas d’usage concrets – de la cartographie à l’étude de marché – accompagnés d’exemples de code en Python et en curl pour guider les développeurs souhaitant accéder à la base DVF.

Pour aller plus loin, voici quelques liens utiles et ressources officielles autour de DVF :

  • Page data.gouv.fr officielle de DVF – pour télécharger les données brutes, la notice et la FAQ : Demandes de valeurs foncières (DVF).
  • Code source de la micro-API DVF – sur GitHub (par cquest) pour déployer votre instance ou contribuer : GitHub – cquest/dvf_as_api.
  • Application cartographique DVF – interface web officielle pour explorer les données sur une carte et exporter des extraits filtrés : explore.data.gouv.fr (DVF).
  • DVF+ (Cerema) – description de l’API enrichie DVF+ (Sogefi-Cerema) : voir API DVF+ – data.gouv.fr (accès sur demande).
  • Documentation DVF Etalab – article expliquant la méthodologie de l’application et les enseignements : voir Cas d’usage DVF sur data.gouv.fr.

En exploitant l’API DVF de manière responsable et innovante, vous pourrez créer des applications précieuses pour la compréhension du marché immobilier, la transparence des prix et la prise de décision foncière. Que vous soyez développeur, data analyst ou professionnel de l’immobilier, nous espérons que ce guide vous aura fourni les bases pour démarrer avec succès sur l’API DVF et les données foncières ouvertes en France. N’hésitez pas à consulter les sources officielles pour plus de détails et à expérimenter par vous-même avec des requêtes ciblées. Happy coding et bonne exploration des données foncières !

Ready to Get Started?

Sign up now to access our comprehensive real estate data platform.

Start Free Trial