Integration of French open data APIs
The government API in the product, never hardcoded in the front
We put Adresse, Géo, API Particulier, cadastre or weather to work in your journeys. No availability guarantee: caching, a fallback path and Datapass clearance are decided before the screen.
- Government API clients in production
- cache and fallback
- Datapass scoped
What is a French open data API and when should you have it integrated?
French open data APIs expose public registers: addresses, municipalities, weather, transport, cadastre, legal texts, sometimes a citizen's status. They live on api.gouv.fr and data.gouv.fr, with open access or a Datapass depending on the service. You have the integration built when the data must enter a journey (autocomplete, eligibility, pricing) rather than an export. The work consists of isolating the provider, holding under the throughput, and degrading the product when the public source is deaf, because there is often no enforceable contract.
The open data APIs we integrate

API Adresse
BAN geocoding: autocomplete, reverse, batch processing, INSEE code.

Météo France
Forecasts and observations, when weather enters your business rules.

URSSAF
Social data and checks, for your employer and payroll journeys.

SNCF & transport
Schedules, disruptions and transport data in your journeys.

API Particulier
A citizen's status, to prefill or check a right, via Datapass.

France Travail
Job listings and employment data, to wire into a business journey, not a copy-paste.

DVF & cadastre
Land values and parcels, for eligibility and operational estimates.

Legifrance
Official texts, when your product must cite or follow positive law.

API Géo
Municipalities, EPCIs, departments, regions: the administrative split.
What breaks when the government API moves
Public data exists. Until the URL stops being pasted in the front, eligibility is decided too late and a government outage takes the product down.
The address is still typed in four fields
BAN autocomplete fills the form. Fewer lost parcels, fewer invented postcodes.
Eligibility is decided after the request
Territory, status or operational data lands while typing. The user no longer submits a file outside the perimeter.
We hard-coded the gouv URL in the front end
An abstraction layer, a URL in configuration, a cache. When the domain changes, you change a variable, not twenty screens.
The public API falls over, and the product with it
Planned degradation: manual entry, last known value, a clear message. A gouv incident is no longer a total outage.
What each gouv API actually involves

API Adresse
GeocodingThe strongest cluster in the category: autocomplete, reverse geocoding, batches. Operated by IGN on the Géoplateforme. The old data.gouv URL is a trap. The score is not read as a probability; acceptance is decided on the match level. This is the most actionable page in the block.
- Autocomplete in the funnel
- Stable INSEE code and identifier
- Batches with a queue, not naive parallelism

API Géo
TerritoriesThe administrative split: municipalities, EPCIs, departments, regions. Used to derive a file's territory from a municipality code, often next to the API Adresse. Simple on the surface, essential so you do not code Paris as a single municipality.
- Territory derived from the municipality code
- EPCIs and departments
- Natural complement to Adresse

API Particulier
User statusA citizen's status (quotient, employment, family depending on the cleared APIs) to prefill or check a right. Datapass, FranceConnect in some cases: this is not an open API. Scoping starts with clearance, not with the form.
- Right checked while typing
- Datapass before the code
- Data minimisation

DVF & cadastre
LandLand-value requests and parcels, for eligibility, estimates or territorial targeting. Often combined with the API Adresse and API Géo. We store what the file needs, not the entire cadastre.
- Land in the business rule
- Parcel attached to the file
- Combinable with Adresse and Géo

France Travail
EmploymentJob listings and employment data to make live in a business tool (matching, tracking, publishing). No detailed sheet here: access and perimeter are confirmed at scoping. An employment page that copies a portal is not an integration.
- Listings in the business tool
- Access confirmed at scoping
- Not a portal mirror

Legifrance
Legal textsOfficial texts to cite or follow in a product (compliance, decision support). No invented routes: scoping fixes the corpus, freshness and source display. A copy outside the licence is not an integration.
- Up-to-date text in the product
- Source displayed
- Corpus scoped

Météo France
ForecastsForecasts and observations for a product where weather is a rule (intervention, logistics, agriculture, energy). No invented quotas here: scoping fixes the time step, the area, and what you store versus what you query on the fly.
- Weather in the business rule
- Area and time step scoped
- Cache rather than a call on every view

SNCF & transport
TransportSchedules, disruptions, sometimes other transport operators. Useful in a travel or logistics journey. Scoping fixes the network concerned and the freshness required, without hard-coding a transport URL in the front end.
- Schedules in the journey
- Disruptions visible
- Provider isolated

URSSAF
SocialData and checks useful for employer, declaration or social-eligibility journeys. Access is not always open: Datapass and clearance are confirmed at scoping. We do not promise a route until your access right is real.
- Employer or payroll journey
- Clearance confirmed
- No invented route
Four business rules born from an official source
Address autocomplete in the tunnel
Address API, server-side, with cache. Four free-text fields leave the form.
Territorial eligibility
Geo API, municipalities, zoning. The rule is computed before the request, not after a rejection.
Weather or transport rule
An official threshold triggers a business behaviour. The source is cited, versioned.
Citizen-right check
Particulier API when Datapass allows it. This is not a header to add, it is an approval.
Product, business, engineering: one client, not twenty screens
We do not “stick data.gouv on”. We set a source contract: cache, fallback, Datapass, reuse.
Product shortens the form
Fewer fields, fewer address errors. The tunnel sits on an official source.
The business cites the rule
Eligibility, zoning, weather: the decision has a provenance. It is no longer an internal spreadsheet.
Engineering has a single HTTP client
URLs move. Twenty screens calling government APIs is twenty incidents. We centralise.
Legal scopes reuse
Licence, retention, ban on storing everything (cadastre). This is decided, it is not a detail.
What we have shipped, and why it transfers here
The method an open-data API forces
Source contract
API, version, fields, frequency, internal owner.
Deliverable: source sheetCache and fallback
Cache TTL, timeout, fallback message, queue.
Deliverable: fallback strategyDatapass
Datapass scope, documents, homologation environment.
Deliverable: Datapass file or N/ALegal reuse
Licence, cache duration, what we may not store.
Deliverable: reuse noteWhat nobody tells you before you sign
No contract, no SLA
Many gouv APIs are open with no enforceable commitment. The product must degrade. Counting on availability “like a paid SaaS” is a scoping error.
Datapass is not a header to add
API Particulier, some social APIs: clearance precedes the code. Starting the form before access wastes weeks.
URLs move
The API Adresse changed operator and domain. A URL hard-coded in the front end is debt. The base lives in configuration.
You do not store the entire cadastre
Data useful to the file is kept, the rest is queried again. Copying a public register “just in case” raises licence, freshness and cost questions.
What we measure on an open data project
French open data API integration: your questions
Three steps. First identify the service and the access mode: open, or Datapass. Then build an abstraction layer, with a cache, a queue under the throughput, a URL in configuration, and degradation if the source is deaf. Finally test on your real data. The difficulty is not finding the endpoint on api.gouv.fr, it is making the data hold in a product journey without gluing the provider to the front end.
Many are open, without a key, under an open licence. Others require an account, a token or a Datapass. Free does not mean unconstrained: throughput, freshness, no SLA. We recheck the access mode at the scoping of each API, rather than generalising to the whole gouv catalogue.
The API Adresse normalises an address and gives coordinates and a municipality code. API Géo describes the administrative split (municipalities, EPCIs, departments, regions). They are often combined: the address gives the citycode, Géo derives the territory. It is not one or the other.
No. Address autocomplete, API Géo, part of the cadastre and weather are used without that journey. API Particulier and some social APIs require it. Scoping starts with that question, because it decides the delay before the first flow, far more than the development.
Degrade. Manual entry, last known value, a clear message, an internal alert. A product that can only show “502” on a signup form loses users for a cause outside your control. That degradation is drawn at scoping, it is not improvised on the day of the incident.
Which government API does your journey really call?
30 minutes to list Address, Geo, Particulier or another source, any Datapass, and the fallback if it goes down.
Discuss my open data project


