Recherche DVF
DVF
Recherche DVF — transactions immobilières notariales
Recherche filtrée et paginée des transactions immobilières DVF (prix de vente notariaux) en France.
Recherche DVF
À quoi ça sert
POST /v2/protected/opendata/dvf/search interroge la base DVF (Demandes de Valeurs Foncières), qui recense les transactions immobilières issues des actes notariés. Vous fournissez des filters (localisation, type de bien, type de mutation, fourchettes de prix et de surface, date) et l’endpoint retourne les mutations correspondantes, triées et paginées.
C’est un endpoint de recherche brute : il renvoie les transactions telles qu’elles existent dans DVF, sans scoring ni pondération. Si vous cherchez les ventes les plus comparables à un bien donné (avec un score de similarité), utilisez plutôt /dvf/match.
La pagination est par curseur : reprenez le champ cursor de la réponse pour obtenir la page suivante.
Payload
| Champ | Type | Obligatoire | Sens |
|---|---|---|---|
filters | objet | Non | Critères de recherche (voir ci-dessous). Sans filters, la recherche porte sur l’ensemble des transactions. |
sortBy | enum | Non | Champ de tri : id, transaction_date, price_eur, price_per_m2_living_eur, price_per_m2_land_eur, surface_m2. |
sortOrder | enum | Non | asc ou desc. |
size | integer | Non | Taille de page, entre 1 et 100 (défaut 20). |
cursor | string | Non | Curseur de pagination renvoyé par la réponse précédente. |
Champs de filters
| Champ | Type | Sens |
|---|---|---|
id | string | Identifiant unique d’une mutation DVF. |
transaction_date | { from, to } | Plage de dates (ISO). from = date minimale, to = date maximale ; les deux sont optionnelles. |
transaction_type | string[] | Nature de la mutation. Valeurs : Vente, Vente en l'etat futur d'achevement, Vente terrain a batir, Echange. |
price_eur | { min, max } | Fourchette du prix de transaction en euros. |
price_per_m2_living_eur | { min, max } | Fourchette du prix au m² de surface habitable. |
price_per_m2_land_eur | { min, max } | Fourchette du prix au m² de terrain. |
location | { lat, lon, distance } | Recherche géographique autour d’un point. distance au format 10km, 500m, 2mi, etc. Les trois champs sont requis ensemble. |
departement_code | string | Code département (2-3 caractères, ex : 75, 2A, 974). |
insee_code | string | Code INSEE de la commune (5 caractères). |
postal_code | string | Code postal (5 chiffres). |
iris_code | string | Code IRIS (9 chiffres). |
iris_type | string[] | Type d’IRIS : H (habitat), Z (zone), A (activité), D (divers). |
property_type | string[] | Type de bien : Appartement, Maison, Autre, Terrain, Tertiaire, Dépendance, Volume. |
surface_m2 | { min, max } | Fourchette de surface habitable principale en m². |
main_rooms | { min, max } | Fourchette du nombre de pièces principales. |
land_surface_m2 | { min, max } | Fourchette de surface de terrain en m². |
is_new_build | boolean | Logement neuf (VEFA ou première vente). |
is_open_market | boolean | Transaction sur le marché libre (hors adjudication/expropriation). |
carrez_surface_m2 | { min, max } | Fourchette de surface loi Carrez en m². |
soil_surface_m2 | { min, max } | Fourchette de surface au sol du bâti en m². |
garden_surface_m2 | { min, max } | Fourchette de surface de jardin en m². |
Réponse
L’API retourne une enveloppe paginée :| Champ | Type | Sens |
|---|---|---|
data | objet[] | Liste des mutations DVF correspondant aux filtres. |
total | integer | Nombre total de transactions correspondant à la recherche. |
size | integer | Taille de page effective. |
hasMore | boolean | true s’il reste des résultats à paginer. |
cursor | string | Curseur à réinjecter dans le champ cursor du payload pour la page suivante. |
data contient notamment id, transaction_date, transaction_type, price_eur, price_per_m2_living_eur, property_type, surface_m2, main_rooms, departement_code, insee_code, postal_code, location et is_new_build. Le contrat exact est documenté plus bas par le bloc OpenAPI.
Exemple
Appartements vendus à Toulon, du plus cher au moins cher
Appartements neufs en VEFA, triés par prix au m² habitable
La valeur
Vente en l'etat futur d'achevement contient deux apostrophes. En shell, échappez-les comme dans l’exemple ('\'') ou utilisez un fichier JSON via -d @payload.json.Recherche géographique autour d’un point
Liens utiles
- Match DVF à un bien immobilier — pour obtenir les transactions les plus comparables à un bien, avec score de similarité.
- DVF vs Fluximmo — différences entre les transactions notariées DVF et les annonces du marché Fluximmo.
Clé test gratuite — 1 semaine
Créez un compte sur my.fluximmo.io pour récupérer une clé API test gratuite (1 semaine, accès limité). Aucun paiement requis.
Authorizations
Body
application/json
Sort field
Available options:
id, transaction_date, price_eur, price_per_m2_living_eur, price_per_m2_land_eur, surface_m2 Sort order
Available options:
asc, desc Page size
Required range:
1 <= x <= 100Cursor for pagination

