geoportail-urbanisme.gouv.fr APIgeoportail-urbanisme.gouv.fr ↗
Retrieve French parcel details, geocoding, and urban planning documents for any address via the Géoportail de l'Urbanisme API. Covers DU and SUP layers.
curl -X GET 'https://api.parse.bot/scraper/9496e96d-d5eb-400c-9fdf-18fb948f127e/search_address?address=Rue+de+la+Paix%2C+75002+Paris' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for a French address and retrieve parcel details, geocoding information, and associated urban planning documents. Makes multiple API calls to geocode the address, reverse-geocode to identify the parcel, then queries urban planning layers (DU and SUP) for associated documents including zoning rules, land use classifications, and infrastructure servitudes.
| Param | Type | Description |
|---|---|---|
| address | string | The French address to search for (e.g. 'place Landouzy, 63400 Chamalières', 'Rue de la Paix, 75000 Paris'). |
{
"type": "object",
"fields": {
"parcel": "object containing parcel id, departmentcode, municipalitycode, section, sheet, number, city, distance, score",
"geocoding": "object containing lon, lat, fulltext, city, zipcode",
"search_query": "string - the address that was searched",
"associated_documents": "array of objects with id, title, type, files_count for each urban planning document found at the location",
"target_document_files": "array of objects with name, title, path, download_url, parent_document for files matching transport infrastructure noise classification criteria"
},
"sample": {
"data": {
"parcel": {
"id": "63075000AL0463",
"city": "Chamalières",
"_type": "parcel",
"score": 0.9983,
"sheet": "01",
"number": "0463",
"section": "AL",
"distance": 17,
"districtcode": "000",
"departmentcode": "63",
"municipalitycode": "075",
"oldmunicipalitycode": "000"
},
"geocoding": {
"lat": 45.767845,
"lon": 3.05885,
"city": "Chamalières",
"zipcode": "63400",
"fulltext": "place Landouzy, 63400 Chamalières"
},
"search_query": "place Landouzy, 63400 Chamalières",
"associated_documents": [
{
"id": "3d0b5cdb760f4f8a39cd43823d6b03ae",
"type": "PLUi",
"title": "Plan Local d'Urbanisme intercommunal (PLUi) CLERMONT AUVERGNE METROPOLE",
"files_count": 119
}
],
"target_document_files": [
{
"name": "246300701_6022_arrete_de_classement_sonore_des_infrastructures_20251219.pdf",
"path": "Annexes",
"title": "6022 arrete de classement sonore des infrastructures",
"download_url": "https://www.geoportail-urbanisme.gouv.fr/api/document/3d0b5cdb760f4f8a39cd43823d6b03ae/download/246300701_6022_arrete_de_classement_sonore_des_infrastructures_20251219.pdf",
"parent_document": "Plan Local d'Urbanisme intercommunal (PLUi) CLERMONT AUVERGNE METROPOLE"
}
]
},
"status": "success"
}
}About the geoportail-urbanisme.gouv.fr API
The Géoportail de l'Urbanisme API gives developers access to 9 structured response fields covering parcel identity, geocoordinates, and associated urban planning documents for any French address. The single search_address endpoint accepts a free-text French address and returns the matching cadastral parcel, full geocoding data, and linked planning documents including zoning (DU) and easement (SUP) layers from France's official urban planning register.
What the API returns
The search_address endpoint accepts a single address parameter — a free-text French address string such as 'place Landouzy, 63400 Chamalières' — and returns three main data groups. The geocoding object contains resolved coordinates (lon, lat), the normalised fulltext address, city, and zipcode. The parcel object identifies the cadastral parcel at that location: id, departmentcode, municipalitycode, section, sheet, number, city, distance, and a score indicating match confidence.
Planning documents
The associated_documents array lists every urban planning document linked to that parcel, with each entry carrying an id, title, type, and files_count. The target_document_files array goes further and surfaces individual files — name, title, path, download_url, and parent_document — specifically filtered to transport infrastructure noise classification documents (classements sonores). This makes it possible to check noise exposure obligations without manually navigating the Géoportail portal.
Coverage and data source
All data originates from the official French Géoportail de l'Urbanisme platform, which aggregates planning documents submitted by French municipalities and intercommunal authorities. Coverage depends on local authorities having uploaded their documents; not every commune has a complete digital file. The score field in the parcel object and distance reflect how closely the resolved parcel matches the queried address, which is useful for detecting ambiguous or rural addresses.
- Verify zoning classification for a French property before submitting a building permit application.
- Enrich a real estate listing database with parcel identifiers (
departmentcode,section,number) for French addresses. - Check transport infrastructure noise classifications via
target_document_filesdownload URLs for environmental due diligence. - Geocode French addresses and retrieve cadastral parcel IDs in a single call for land registry reconciliation.
- Audit planning document availability (
files_count) across multiple communes to identify gaps in municipal compliance. - Automate retrieval of SUP (servitudes d'utilité publique) documents for legal and notarial property searches.
- Map urban planning document density by municipality using
associated_documentscounts aggregated over many addresses.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Géoportail de l'Urbanisme offer an official developer API?+
What does the `parcel` object actually identify, and how reliable is the match?+
parcel object returns the cadastral parcel resolved at the queried address, including departmentcode, municipalitycode, section, sheet, and number — the five components that uniquely identify a French parcel in the cadastre. The score field reflects geocoding confidence and distance shows how far the matched parcel centroid is from the resolved coordinates, so you can filter out low-confidence matches programmatically.Does the API return the full content or text of planning documents?+
id, title, type, files_count) and, for noise classification files, direct download_url links to the actual files hosted on Géoportail. Document text extraction is not covered. You can fork this API on Parse and revise it to fetch and parse document content from those download URLs.Are all French communes covered?+
associated_documents array. Rural or recently merged communes may have partial data. You can fork this API on Parse and revise it to add a fallback lookup against the national cadastre API for parcels with no associated documents.Can I search by parcel ID or coordinates instead of address?+
search_address endpoint only accepts a free-text address string via the address parameter. Coordinate- or parcel-reference-based lookup is not exposed. You can fork this API on Parse and revise it to accept lon/lat inputs or a cadastral reference directly.