France Property Sales | Official DVF Prices & EUR per m2 avatar

France Property Sales | Official DVF Prices & EUR per m2

Pricing

from $1.50 / 1,000 results

Go to Apify Store
France Property Sales | Official DVF Prices & EUR per m2

France Property Sales | Official DVF Prices & EUR per m2

Real French property sale prices from the official DVF open dataset. Correctly deduplicated to one row per transaction, with price per square metre, surface, rooms and coordinates. Search any department or commune, or get median EUR/m2 by commune and quarter.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

אלון זריהן

אלון זריהן

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

France Property Sales — Official DVF Prices and €/m²

Real sale prices for French property, from DVF (Demandes de Valeurs Foncières) — the open dataset the French tax administration publishes for every registered property transfer.

Not asking prices. What buyers actually paid, as recorded by the land registry, with price per square metre computed correctly.

Coverage

GeographyAll 97 departments — mainland, Corsica (2A/2B), overseas (971-974)
Years2021 to 2025
GranularityDepartment, commune (INSEE code), or postcode prefix
Per salePrice, €/m², surface, rooms, address, postcode, coordinates
StatisticsMedian and quartile €/m² by commune, quarter and property type

The correctness problem this Actor solves

DVF publishes one row per lot, not per sale. A single transaction repeats its full price on every row it touches. In Paris for 2024, 55% of transactions span more than one row, and one building sale spanned 769 rows all carrying the same €21,606,678.

Add the raw rows up and you get €279.6 billion where the real total is €25.5 billion — a 996% overstatement. On top of that, 10.6% of rows are exact duplicates of another row in the same transaction, so naive surface totals are inflated too.

This Actor never emits raw rows. It groups by transaction, drops duplicate lots, sums only genuine living space, and returns one row per actual sale. Everything downstream — every €/m², every median — is computed on that corrected basis.

A sanity check you can verify yourself: run statistics mode on Paris and the most expensive arrondissements come out 6e, 1er, 7e, 8e, 4e, at roughly €12,500-13,850/m². That is the real ranking of the Paris market.

Output

transactions — one row per sale.

{
"mutationId": "2024-1193219",
"date": "2024-01-04",
"quarter": "2024-Q1",
"price": 299120,
"pricePerSqm": 8309,
"propertyType": "Appartement",
"habitableSurface": 36,
"rooms": 3,
"lotCount": 1,
"dependencyCount": 0,
"isMultiLot": false,
"saleType": "Vente",
"address": "17 B RUE DU ROI D ALGER",
"postcode": "75018",
"communeCode": "75118",
"commune": "Paris 18e Arrondissement",
"departmentCode": "75",
"parcelId": "75118000BF0053",
"longitude": 2.347665,
"latitude": 48.895338
}

stats — median €/m² per commune, quarter and type.

{
"commune": "Paris 6e Arrondissement",
"communeCode": "75106",
"quarter": "2024-Q3",
"propertyType": "Appartement",
"salesCount": 68,
"medianPricePerSqm": 13846,
"p25PricePerSqm": 11846,
"p75PricePerSqm": 16735,
"medianPrice": 745000,
"medianSurface": 54
}

Examples

Median €/m² across Paris, by arrondissement and quarter:

{
"departments": ["75"],
"years": ["2024"],
"propertyTypes": ["Appartement"],
"outputFormat": "stats",
"minSalesPerGroup": 20
}

Comparable sales in a price band on the Côte d'Azur:

{
"departments": ["06"],
"years": ["2024"],
"propertyTypes": ["Appartement", "Maison"],
"minPrice": 300000,
"maxPrice": 800000,
"minSurface": 50
}

One arrondissement, four years of history:

{
"departments": ["75"],
"years": ["2021", "2022", "2023", "2024"],
"communeCodes": ["75118"],
"outputFormat": "stats"
}

Greater Paris apartment market:

{
"departments": ["75", "92", "93", "94"],
"years": ["2024"],
"propertyTypes": ["Appartement"],
"outputFormat": "stats",
"minSalesPerGroup": 30
}

Field reference

FieldMeaning
mutationIdDVF's transaction identifier — one per sale, after deduplication
priceTotal transaction value in EUR (valeur_fonciere), counted once
pricePerSqmPrice ÷ habitable surface. Null when no living space is recorded
habitableSurfaceSummed living area of apartments and houses only
landSurfaceSummed land area where present
roomsSummed principal rooms across habitable lots
lotCount / dependencyCountDistinct lots in the sale, and how many are outbuildings
isMultiLotTrue when the sale covers more than one lot — usually a building or portfolio
propertyTypeApartment or House when present; otherwise the dominant lot type
saleTypeOrdinary sale, off-plan (VEFA), auction, exchange, or building land
address / postcode / commune / communeCodeLocation as recorded
parcelIdCadastral parcel reference
longitude / latitudeWGS84 coordinates, ready to map

Notes on the data

  • Outbuildings are excluded from €/m². A Dépendance — garage, cellar, parking space — has no living area, so counting it would deflate the rate. It is reported separately as dependencyCount.
  • Multi-lot sales are excluded by default and never enter the statistics. A whole-building sale is not comparable to a flat, and including it distorts a median badly.
  • Alsace-Moselle and Mayotte are absent. Departments 57, 67 and 68 keep a separate livre foncier and are not covered by DVF. This is a property of the source, not of this Actor.
  • The most recent months are incomplete. DVF is published in batches with a lag of several months.
  • Prices are the total transfer value, which can cover several parcels at once — which is exactly why the deduplication above matters.

Source and licence

Data from files.data.gouv.fr/geo-dvf, the geocoded DVF distribution published by Etalab. Open, unauthenticated, no access controls circumvented.

Licensed under the Licence Ouverte / Open Licence 2.0. Attribution to the source is required when redistributing.

Integrations

Output lands in a standard Apify dataset: export as JSON, CSV, Excel or XML, or connect it to Make, Zapier, n8n, Google Sheets or your own code via the Apify API. Coordinates are included, so results map directly.