
API integration for DVF & cadastre
We build your DVF and cadastre connector
We wire real sales (DVF+) and the cadastral fabric into your property or planning tool. Paris is queried with arrondissement codes, not 75056. wxs.ign.fr no longer resolves: the target is data.geopf.fr.
- Senior product team
- public-data connectors in production
- from scoping to monitoring
What do the DVF and cadastral APIs provide and how can they be integrated into a property application?
The Demandes de Valeurs Foncières (DVF) data records all French property transactions since 2014: price, floor area, property type, municipality. The cadastral APIs give access to land parcels and buildings with their geometries. You integrate them into property valuation tools, land prospecting tools or market analysis applications to display the transaction history around a property, value a plot, or feed a simulation tool. This data is public and free; the integration work involves choosing the right sources for the use case and keeping the feed up to date.
What our clients build on DVF and cadastre
A price range in an appraisal tool
Mutations filtered to sales and property type, on the municipality or arrondissement, not a national average.
A parcel record
API Carto outline (idu) and DVF+ history for the section, for a notary, a planner or a lender.
A municipal sales observatory
Open data for a local authority. Nominative land study is DV3F, and only if you are authorised.
A cadastral base map in business software
Vector PCI or Parcellaire Express WFS for farming, networks, easements. No more TIFF from December 2025.
What it changes in your property tool
Engineering in service of a measurable outcome: sales in the municipality, the right INSEE code, up-to-date official sources.
The right municipality code, including Paris
Paris, Lyon, Marseille: we query the arrondissement, not the city-wide code. Otherwise sales drop to zero.
Dead Géoportail URLs are avoided
Legacy IGN hosts no longer answer. We target current official entry points, not a 2019 tutorial.
We talk to official sources
No scrape of a consumer app, no dead community API. Cerema and open files: a stack that holds.
Coverage gaps are shown
Alsace-Moselle, Mayotte: a France-wide product says so. A DVF row is not a clean price per sqm.
How we ship your DVF and cadastre connector
Scoping
DVF files, DVF+ API, point cadastre or base map, authorised DV3F or not. We split open data and restricted before writing a line.
Development
Municipality / arrondissement table, Géoplateforme URL in config, zero wxs.ign.fr, long cache, DGFiP / Cerema / IGN attribution.
Acceptance testing
Automated tests for Paris, Lyon, Marseille, an Alsace municipality (absence expected), 75056 = 0, 75111 > 0.
Monitoring
Alert if Cerema preprod drops (fallback to the local extract), PCI millésime, Géoplateforme DNS. You see a Paris 0 before the client does.
What DVF and cadastre allow
- DVF+ mutations
- Cerema API, millésime 2026.1, transactions 2014-2025. Deeper than Etalab's 5 years. Free access for DVF+.
- DGFiP DVF files
- Twice-yearly source of truth (April, October), rolling 5 years, France + overseas except Alsace, Moselle, Mayotte. Each delivery replaces the previous one.
- API Carto cadastre
- Municipality, division, parcel, locator, GeoJSON WGS84. Point lookup from a form, not a municipal dump.
- Géoplateforme WFS and PCI
- data.geopf.fr/wfs, Parcellaire Express layer. Vector PCI files, 2026 millésimes. 5,000 features per WFS request: a naive dump truncates.
The vocabulary of DVF and cadastre
- code_insee 75111, not 75056
- In Paris, Lyon, Marseille, DVF+ sales sit on municipal arrondissements (75101…75120). 75056 is Paris's municipal INSEE code: the Cerema API returned 0 mutations there.
- DVF+
- Cerema / DGALN open data, deeper than Etalab's 5 years (2014-2025 at millésime 2026.1). This is not DV3F.
- DV3F
- Buyers, sellers, context (build after sale). Restricted: State, local authorities, EPF, SAFER. Not sellable to a private developer as open data.
- idu
- Parcel identifier on API Carto. The key to attach a property to an outline, a local plan, a round.
- Géoplateforme
- data.geopf.fr, successor to Géoportail. wxs.ign.fr: dead DNS. Any QGIS stack or script still on the old host is already broken.
- Vector PCI
- Digitised cadastral plan, millésimes 1 March and 1 June 2026. PCI Image TIFF: no more deliveries from December 2025. Strasbourg and neighbours outside PCI.
The real constraints of DVF and cadastre
The « obvious » INSEE code breaks Paris
75056 → 0 mutations. 75111 → 39,604. Same logic as the Etalab app (Paris 14th = 75114, not 75014). A connector that sends the « obvious » municipal code without an arrondissement table is wrong.
wxs.ign.fr no longer resolves
DNS failure in August 2026. ogr2ogr excerpts in data.gouv guides are stale. Géoplateforme URL in configuration, zero historical host hard-coded.
preprod in the Cerema URL
That is the host that answers in 2026. The name is a risk signal (SLA, cutover). We do not hard-code it: configuration, and a fallback to the local extract.
A DVF row is not a price per m²
Lots, off-plan, land + building, multiple sales. DVF+ helps (nbpar, nblocmut, codtypbien) but the raw-price trap remains. Alsace-Moselle / Mayotte: missing, to be displayed.
DGFiP DVF files or Cerema DVF+ API?
Two ways into sales. The right product combines them, it does not pick one at random.
| Criterion | DVF filesDGFiP source | DVF+ APICerema, interactive |
|---|---|---|
| Shape | Twice-yearly .txt.zip files | JSON / GeoJSON API |
| Depth | Rolling 5 years | Since 2014 (millésime 2026.1) |
| Paris | Arrondissements in the file | arrondissement code_insee, not 75056 |
| Cadence | April and October, full replace | Query by municipality / parcel |
| Alsace-Moselle / Mayotte | Missing | Missing from DGFiP DVF |
| 2026 host | data.gouv.fr | apidf-preprod.cerema.fr |
| The right case | Warehouse, full reload | Property record, price range |
We combine them: files for the twice-yearly truth, API for interactive use. We do not scrape app.dvf.etalab.gouv.fr. That is a scoping call.
What we measure on a DVF and cadastre integration
The other public APIs
The bricks we most often wire up alongside land data.
DVF & cadastreWe build your DVF and cadastre connectorThis page
API AdresseGeocode the property address, INSEE citycode, BAN parcel index if needed.
Météo FranceClimate hazard on the parcel, another channel, another secret.
URSSAFStatistical open data, unrelated to a DVF mutation.
SNCF & transportWe build your SNCF connector
API ParticulierWe build your API Particulier connector
France TravailWe build your France Travail connector
LegifranceWe build your Légifrance connector
API GéoWe build your API Géo connectorWe combine DVF and cadastre with
The stack around land data on our projects.
DVF and cadastre integration: your questions
Two paths. DGFiP files, fully reloaded twice a year, for the warehouse. The Cerema DVF+ API for interactive queries, with a municipality / municipal-arrondissement lookup table (Paris, Lyon, Marseille). Tests: 75056 = 0, 75111 > 0, an Alsace municipality absent. We do not scrape the Etalab app. We do not rely on api.cquest.org/dvf (502 in August 2026). The Cerema host still has preprod in the name: URL in configuration, and a local extract as fallback if the API drops.
API Carto for point lookup (parcel form: /api/cadastre/parcelle, commune, division, localisant). WFS data.geopf.fr or PCI files for the base map, honouring 5,000 features per request. Géoplateforme URL in configuration. wxs.ign.fr no longer resolves: any stack still on it is already broken. IGN attribution, Licence ouverte 2.0. PCI Image TIFF is no longer delivered from December 2025: any new base map is designed as vector.
Because code 75056 is the municipality of Paris, and DVF+ serves sales on arrondissements 75101 to 75120. Live survey: 0 on 75056, 39,604 on 75111, 94,403 on Nantes (44109). Same logic as the Etalab app. A connector that sends the « obvious » municipal INSEE code breaks Paris, Lyon and Marseille. Lyon and Marseille follow the same municipal-arrondissement rule. The lookup table is a scoping deliverable, not a production hotfix.
DVF+ is open data: mutations, not the parties. DV3F and land files (MAJIC) are restricted (State, local authorities, EPF, SAFER) and contain persons. We do not « enrich » an open-data sale with an owner name found elsewhere. Selling DV3F to a private developer as open data is an illegal scope. Minimisation: open-data DVF does not identify the parties. We do not reconstitute an owner from another source.
Open-data access is free. The cost is the pipeline: files + API, arrondissement table, point cadastre vs base map, cache, fallback if Cerema preprod drops. A price range on municipalities outside Paris is a short job. A France observatory with PCI, WFS and the Paris trap is a project. We scope the channel and give a firm estimate before we start. Alsace-Moselle and Mayotte are missing from DGFiP DVF: the product shows it, it does not fail silently.
A DVF and cadastre integration project?
Let's talk. 30 minutes to scope files, the Cerema API and cadastre, check the Paris trap, and tell you frankly what is feasible.
Discuss my DVF & cadastre project