When a seller claims €6,500/m² "like the whole neighbourhood", they are almost always quoting asking prices — listing prices, before negotiation. The prices actually signed at the notary tell a different story, and that story is public: the DVF dataset ("Demandes de valeurs foncières"), published by the French tax authority and Etalab under an open licence. Anyone making an offer in France without checking it is negotiating blindfolded.
What DVF actually contains
Every onerous transfer (sale, off-plan sale, auction…) recorded in mainland France and most overseas departments, with a rolling five-year history, updated twice a year. Each row carries: date, nature of the transfer, the deed price, address, cadastral references, property type (apartment, house, commercial unit, outbuilding), built surface, room count, and land surfaces.
Two notable gaps:
- Alsace-Moselle (Bas-Rhin, Haut-Rhin, Moselle): the local land registry does not feed DVF.
- Anything describing condition: no floor number, no state of repair, no energy rating. DVF gives you the price; judging the standing is on you.
The classic mistake: grepping the raw file for "your street"
The naive reflex is to filter the CSV on a street name. Three traps make that dangerous:
- Multi-lot transfers. A sale of "apartment + cellar + parking", or an entire building, shows up as several rows sharing the same total deed price. Dividing that price by one row's surface produces absurd €/m². You must group by transfer ID before any maths.
- Atypical sales. Life annuities (viager), sales between relatives, lots with large land, converted commercial space: without filters (property type, surface ≥ 9 m², plausible price bounds), a few rows poison the whole average.
- Sample too small. Three sales in the street over five years are not a market. The right granularity is the cadastral section: a few hundred metres across in a city — enough sales for a statistic, local enough to stay honest.
The clean method: address → parcel → section → median
This is the chain we run in production, entirely on open data:
- Geocode the address with the national address base (BAN) → precise coordinates.
- Find the cadastral parcel at that point (IGN cadastre API) → INSEE code + section. Mind Paris, Lyon and Marseille, whose arrondissements have their own INSEE codes.
- Fetch the section's transfers from Etalab's DVF API rather than downloading the national file.
- Filter: nature "Vente", the target property type (apartments or houses, never mixed), surface ≥ 9 m², €/m² within plausible bounds, favouring the last three years.
- Compute the median, not the mean. One whole-building sale or one discounted ground floor wrecks a mean; the median shrugs it off. Add the P25–P75 range — that is your real negotiation margin.
Reading the result. "Median €4,850/m², 38 sales, P25–P75: 4,200–5,600" reads as: half the comparable transactions signed below €4,850/m². A listing at €5,900/m² is not "3 % negotiable" — it is 20 % above the signed market, and you have 38 notarial deeds to say so.
Limits to keep in mind
- Time lag: between the sale agreement and publication, count 6–12 months. In a fast market the DVF median is a slightly dated photo — compare the current year to the previous one to feel the trend.
- Intra-section heterogeneity: one section can mix Haussmann courtyard buildings and 1970s slabs. The P25–P75 range captures that spread; a one-of-a-kind property escapes the statistic.
- New-build (VEFA) mixed with existing stock in some sections: where the new-build share is high, the median is mechanically inflated.
Doing it by hand: a 10-minute walkthrough
You do not need code for a one-off check. The official DVF explorer (app.dvf.etalab.gouv.fr) lets you click any parcel on a map and see the surrounding sales. The honest manual procedure:
- Locate the property's parcel on the map and note its section (the letters in the parcel ID).
- Open the sales of that section and the immediately adjacent ones; export or copy the rows.
- Strip out rows that share a deed price with another row (multi-lot transfers), keep only the target type, drop surfaces under 9 m².
- Sort by €/m² and read the middle value — your median — plus the spread of the central half.
Ten minutes for one address is fine. Ten minutes for the forty listings your saved searches surfaced this week is a part-time job — which is the entire argument for automating the chain once your deal flow becomes serious.
What it is for, concretely
For a home purchase, DVF anchors your offer price. For an investor or property dealer it is more structural: the section's signed €/m² is the basis of every margin calculation — realistic exit price of a building split, post-renovation resale value, the asking-vs-market gap that qualifies a deal in thirty seconds. That is exactly why PropHound shows the cadastral section's DVF on every listing in your sourcing inbox, anywhere in France.
To get your bearings before digging into a specific address, we publish daily-refreshed medians for 50 major French cities, computed on the central sections — for instance Bordeaux, Lyon or Marseille.
In short
- Asking prices lie; DVF publishes signed prices, for free.
- Work at cadastral-section level, group multi-lot transfers, filter the atypical.
- Median + P25–P75 range + sale count: three numbers and your offer is armed.
- Automate it: the BAN → cadastre → DVF chain is fully scriptable — PropHound does it for you, starting on the free plan.
Next step before the offer: check that the co-ownership allows your project. Our guide How to read a French co-ownership bylaw before you buy picks up from here.