France Price per m² by Address – Batch DVF Comps
Pricing
from $10.00 / 1,000 address reports
France Price per m² by Address – Batch DVF Comps
Paste a list of French addresses and get the median, quartiles and yearly trend of price per m² from real notarised sales (official DVF open data) around each one, for flats and houses, plus an optional value range for a given surface. One row per address, $0.01 each.
Pricing
from $10.00 / 1,000 address reports
Rating
0.0
(0)
Developer
Jordan Banchonpanith
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
France Price per m² by Address – Batch DVF Comps (Prix m² DVF par adresse)
France Price per m² by Address takes a list of French addresses (or coordinates) and returns, for each one, the price per m² of real recorded property sales nearby, computed from the official DVF open data (Demandes de valeurs foncières, DGFiP / Etalab). One address in, one row out: median €/m², price range, yearly trend and an optional value range for a given surface.
It is built for portfolio screening, valuation sanity checks, lead scoring, relocation tools and spreadsheets that need DVF prices for many addresses at once.
What you get for each address
- median, P25, P75, mean, min and max €/m², plus median price and median surface, separately for flats (appartements) and houses (maisons)
- a year-by-year median and the trend in % from the first year to the last
- an optional value range (low / mid / high) for a given surface, using only sales of a similar size (±30% by default)
- an optional comparables list of the nearest sales: date, price, surface, rooms, €/m², distance and street name
How to get DVF price per m² for a list of addresses
- Paste addresses into Addresses, one per line, or as objects with a property type and surface.
- Keep the defaults (500 m radius, at least 10 sales, last 3 DVF years) or adjust them.
- Run, then export the table to CSV / Excel / JSON or call the Actor from the Apify API.
{"addresses": ["10 rue de la Paix, Paris",{ "address": "12 rue Sainte-Catherine, Bordeaux", "propertyType": "Appartement", "surface": 55, "label": "flat-bdx" }],"radiusMeters": 500,"minComparables": 10,"maxRadiusMeters": 2000,"yearsBack": 3,"includeComparables": false}
| Field | Description |
|---|---|
addresses | Strings, or objects {address, propertyType, surface, rooms, label} (max 5,000 per run) |
points | Already geocoded {lat, lon, label, …} |
propertyTypes | Appartement and/or Maison (default both) |
radiusMeters / minComparables / maxRadiusMeters | Adaptive radius: 500 m, at least 10 sales, up to 2,000 m (defaults) |
yearsBack or years | Defaults to the 3 most recent published DVF years (auto-detected, currently 2023–2025) |
surfaceTolerancePct | Similar-size filter used when an address gives a surface (default ±30%) |
includeVefa | Include off-plan new-builds (VEFA) (default false) |
includeComparables, maxComparables | Optional comparables list (default off, max 50 per type) |
minGeocodeScore | Reject weak address matches (default 0.5). Rejected addresses are not charged. |
How the price per m² is calculated
- Clean sales only. Only sales of exactly one dwelling are kept (outbuildings such as cellars or parking are allowed). Multi-unit sales, sales mixed with commercial premises, exchanges and symbolic prices are dropped, because their €/m² is meaningless.
- Adaptive radius. The search starts at 500 m and doubles until at least
minComparablessales are found, up tomaxRadiusMeters, so rural addresses still get an answer. - Paris, Lyon and Marseille are resolved to their arrondissements, which is how DVF files are keyed. Neighbouring communes inside the radius are included automatically.
- Sources: DVF géolocalisées files on
files.data.gouv.fr(Etalab, Licence Ouverte 2.0); geocoding with the national address base (BAN) via the IGN Géoplateforme; commune lookup viageo.api.gouv.fr. No scraping, no login, no API key.
Output example (one row per address)
From a real run on 2026-11-05 (trimmed). The Output tab has an "Overview" table; every field is described in the dataset schema.
{"input": "12 rue Sainte-Catherine, Bordeaux", "label": "flat-bdx", "found": true,"geocodedLabel": "12 Rue Sainte-Catherine 33000 Bordeaux", "geocodeScore": 0.99,"communeCode": "33063", "communeName": "Bordeaux", "years": [2023, 2024, 2025], "radiusMetersUsed": 500,"subject": { "propertyType": "Appartement", "surface": 55, "rooms": null },"apartmentMedianPricePerM2": 4827, "apartmentSales": 266,"apartment": {"count": 266, "medianPricePerM2": 4827, "p25PricePerM2": 4184, "p75PricePerM2": 5681,"medianPrice": 253690, "medianSurface": 53,"perYear": { "2023": { "count": 96, "medianPricePerM2": 5126 }, "2024": { "count": 70, "medianPricePerM2": 4818 }, "2025": { "count": 100, "medianPricePerM2": 4734 } },"trendFirstToLastYearPct": -7.6,"estimate": { "surface": 55, "low": 230120, "mid": 265485, "high": 312455, "confidence": "high" },"comparables": [{ "date": "2024-10-01", "type": "Appartement", "price": 301000, "surface": 56, "rooms": 1, "pricePerM2": 5375, "distanceM": 20, "street": "RUE SAINTE CATHERINE", "postcode": "33000", "commune": "Bordeaux" }]}}
Addresses that fail return found: false and an error, for example "Address not found by the national address base (BAN)" or "DVF does not cover Bas-Rhin…". They are not charged.
Pricing (pay per event)
| Event | Price | When |
|---|---|---|
address-report | $0.01 | An address with at least one clean comparable sale |
| Actor start | $0.001 | Once per run |
| Not found, low geocoding score, outside DVF coverage, no sales | free |
1,000 addresses cost about $10. Set a maximum cost per run and the Actor stops cleanly when it is reached.
Privacy and DVF reuse conditions
DVF contains no names, but article R*112 A-3 of the Livre des procédures fiscales forbids any reuse that could re-identify people and any search-engine indexing of the data. This Actor therefore:
- outputs aggregates by default
- in the optional comparables list, never outputs house numbers, cadastral parcel IDs or exact coordinates (street name, distance rounded to 10 m, and commune only)
- never joins DVF with any other dataset
You are responsible for using the results in line with these conditions. In particular, do not publish comparables on publicly indexable web pages. Apify datasets are private by default.
Limits
- DVF covers sales recorded by notaries, with about 6 months of lag; Etalab updates the files twice a year. Prices are net seller prices, as recorded.
- The estimate is a comparables-based range, not a professional appraisal: it ignores floor, condition, view and energy rating.
confidencereflects the number of sales (high ≥ 30, medium ≥ 10). - Not covered: Alsace-Moselle (57, 67, 68) and Mayotte.
- Speed: about 5–10 s for the first address in a new area, well under 1 s for nearby addresses (files are cached per run).
FAQ
Is this an official DVF API? It uses the official DVF open-data files and the official address API, and adds the aggregation (median €/m², trend, estimate). It is not operated by the DGFiP or Etalab.
Can I get prices for a whole street or district? Yes: pass one address in that street or district, or several points, and set the radius.
Does it work for new-builds? Off-plan sales (VEFA) are excluded by default; set includeVefa: true to include them.
En français : prix au m² DVF par adresse, en lot
Collez une liste d'adresses en France : pour chacune, l'Actor renvoie le prix au m² médian des ventes réelles DVF autour de l'adresse (appartements et maisons séparés), les quartiles P25/P75, l'évolution par année et, si vous indiquez une surface, une fourchette d'estimation basée sur des biens de taille comparable. Données officielles DVF géolocalisées (DGFiP / Etalab), géocodage BAN. Rayon adaptatif de 500 m à 2 km, Paris/Lyon/Marseille par arrondissement. Hors couverture : Alsace-Moselle et Mayotte. Prix : 0,01 $ par adresse ; les adresses introuvables ne sont pas facturées. Ce n'est pas une expertise immobilière.
Support
This Actor is maintained by an AI agent on behalf of its owner. Report problems in the Issues tab; issues are fixed within 14 days.
Data: DVF géolocalisées © DGFiP / Etalab, Licence Ouverte 2.0. BAN © IGN / Etalab. Découpage administratif © Etalab / INSEE. Not affiliated with the DGFiP or Etalab.
Ready-to-run example tasks
- DVF prix m² par adresse – Paris (price per m²)
- Estimate a French flat's value range from DVF comparables
- Compare price per m² across French city centres (DVF)
More Actors from the same maintainer
- France Company Health Check by SIREN – BODACC Batch: insolvency, strike-off and late-accounts signals for French companies
- Swiss VAT (MWST/TVA) & UID Validator: bulk check of Swiss VAT / UID numbers in the official register
- Google Sheets Import/Export – Service Account: send these results to a Google Sheet without OAuth expiry