
API integration for Météo-France
We build your Météo-France connector
We wire Météo-France public APIs into your CMMS or field planning: an orange warning freezes a round, a station observation triggers on-call duty.
- Senior product team
- public-data connectors in production
- from scoping to monitoring
What does the Météo-France API provide and when should you integrate it into an application?
Météo-France exposes official meteorological data: forecasts, weather warnings, real-time observations and historical climate data. You integrate it into logistics applications that adjust routes based on weather, agricultural tools that schedule interventions, event platforms that display conditions for a chosen date, or construction applications that manage unavailability due to adverse weather. The data is free under the HVD directive; an account is required to access real-time APIs.
What our clients build on the Météo-France API
Automatic freeze of field rounds
An orange wind or flood warning on covered départements freezes the CMMS, instead of discovering the episode at 6 a.m. on the radio.
On-call duty from station observations
Frost, heat, snow: the on-call contract fires from DPObs, not from a manual declaration or a global weather API.
Next-day planning for a field network
Installers, roofers, green spaces: local forecast feeds tomorrow's roster, distinct from the warning map.
Reference climate series
An agricultural tool or an insurance hazard model uses meteo.data.gouv.fr files, not the real-time API.
What it changes in your field operations
Engineering in service of a measurable outcome: a round postponed in time, on-call duty fired from a station, not from a tweet.
The official source, not OpenWeather
For an on-call contract or a dispute over whether a site was rightly stopped, you archive Météo-France, not a global API.
Two backends, one product
Warnings and observations on one side, climatology files on the other. A single connector that mixes them is a scoping lie.
A secret, never the browser
Account, per-API subscription, key or token in a managed secret. A 401 Missing Credentials is not fixed in the front end.
A fallback if the API is down
If vigilance is unavailable, planning is not blocked: we mark vigilance not verified and continue.
How we ship your Météo-France connector
Scoping
Warnings, observations, GRIB or climate files: we pick the channel before writing a line. GRIB is not a three-day REST connector.
Development
Two backends in configuration, secrets per environment, a short cache on warnings, an isolated worker if we decode GRIB.
Acceptance testing
Replay on your real départements, testing the 401 without a subscription, testing the fallback when the API stops answering.
Monitoring
Alerts on 401 and 5xx, freshness of the warning map, documented key rotation. You know a flow is broken before field teams do.
What the Météo-France API allows
- Warning map
- DPVigilance: day D and D+1, nine hazards in metropolitan France. That is the operational alert, not a 48-hour forecast.
- In-situ observations
- DPObs: station truth for an on-call contract (frost, heat, snow), rather than a consumer-grade estimate.
- AROME and ARPEGE models
- GRIB2 grids, sometimes GeoTIFF. A SaaS that expects {temp: 18, rain: 2} must decode GRIB, or stay on warnings and observations.
- Climatology files
- meteo.data.gouv.fr for long series. The real-time API does not replace them. The two channels complement each other.
The vocabulary of the Météo-France API
- DPVigilance
- The warning-map API. It covers D and D+1, nine hazards in metropolitan France. It does not replace a 48-hour model for a week of site planning.
- DPObs
- Station observations. That is the ground truth of an on-call contract, not a forecast. The endpoint is public-api.meteofrance.fr/public/DPObs.
- GRIB2
- The WMO format of AROME and ARPEGE numerical forecasts. Without a library (ecCodes, cfgrib, GDAL) and without choosing parameter, level and lead time, the integration is not a REST connector.
- apikey or Bearer
- Two auth mechanics on the same host. A client that only implements Bearer breaks keys, and the reverse. The official 401 lists Bearer, Basic and apikey.
- Subscription
- Pick the API in the catalogue, accept the licence, generate the key. An empty account does nothing. Skipping the subscription produces the same 401 as a wrong key.
- donneespubliques.meteofrance.fr
- The old portal. It announces its closure and points to the API portal and meteo.data.gouv.fr. Any old /public/data/ URL is debt. The audit is one DNS query.
The real constraints of the Météo-France API
The old domain is debt
donneespubliques.meteofrance.fr itself says to update bookmarks. A cron still pointed at it is an incident waiting to happen, not an integration.
Account plus subscription, or 401
Sign-up, per-API subscription, then a key or token. An empty account is useless. We saw it live: Missing Credentials on the Vigilance endpoint.
GRIB is not an implementation detail
AROME and ARPEGE deliver grids, not JSON {temp, rain}. Without a decoding worker, we stay on warnings and observations. That is another project.
A warning is not a 48-hour forecast
The map covers D and D+1 in metropolitan France. Planning a week of sites needs the model. Promising the same map for the West Indies without a dedicated sheet is a false scope.
Météo-France or a global weather API?
Two ways to get wind and rain. The right choice depends on the legal value of the data, not on the widget.
| Criterion | Météo-FranceOfficial source | Global APIOpenWeather, other |
|---|---|---|
| Coverage | France, local models | World, variable quality |
| Official warnings | Yes, DPVigilance | No, an interpretation |
| Station observations | Yes, DPObs | Depends on the vendor |
| Access | Account and subscription | A key, often paid |
| Forecast format | GRIB2 / warnings / obs | Business JSON, simpler |
| Archive value | Usable in a dispute | Weak in front of an insurer |
| The right case | On-call, CMMS, France hazard | Consumer widget, multi-country |
The two rarely combine: if the data serves a France contract or roster, we start from Météo-France. That is a scoping call.
What we measure on a Météo-France integration
The other public APIs
The open-data bricks we most often wire up alongside.
Météo FranceWe build your Météo-France connectorThis page
API AdresseBAN autocomplete and geocoding, to attach the job to a municipality.
URSSAFStatistical open data or DPAE filing, depending on the product, not both in the same client.
SNCF & transportTrain times and disruptions, when weather overlaps an employee trip.
API ParticulierWe build your API Particulier connector
France TravailWe build your France Travail connector
DVF & cadastreWe build your DVF and cadastre connector
LegifranceWe build your Légifrance connector
API GéoWe build your API Géo connectorWe combine Météo-France with
The stack around weather on our projects.
Météo-France integration: your questions
Create an account on portail-api.meteofrance.fr, subscribe to each useful API (Vigilance, Observation, optionally AROME), store the key or token in a managed secret, call only from the server. Then distinguish two backends: public-api.meteofrance.fr for live data, meteo.data.gouv.fr for history. A cache of a few minutes on warnings is enough; hitting the map every two seconds changes nothing. If we touch AROME, GRIB decoding goes in a worker, not in the user request.
Public data is free and reusable (HVD directive, Licence ouverte), but API access is not anonymous. Without an account, a subscription and credentials, the host returns 401 Missing Credentials: we observed it in August 2026 on the Vigilance endpoint. meteo.data.gouv.fr files, by contrast, download without a key. Mixing up « open data » and « URL with no auth » is the pre-sales error on this page. Files on meteo.data.gouv.fr download without a key; the live APIs do not. Mixing the two in one client is a scoping error.
No. The site announces its closure and points to the API portal and meteo.data.gouv.fr. Any integration, cron or npm package that still cites the old domain is debt. The audit is one query. The fix, if the base URL is in configuration, is a short job. Same reflex as wxs.ign.fr or the old API Adresse: an URL that still answers is not the URL to keep. If the base URL is in configuration, the fix is short. If it is hard-coded in a cron from 2019, it is a small project, not a one-line patch.
Not via AROME or ARPEGE: those are GRIB2 grids. For business JSON, we stay on warnings (hazard, level, département) and on station observations. A SaaS that promises {temp: 18, rain: 2} from the official model is selling a decoding project, not a three-day connector. We say so at scoping, before we quote. If the need really is JSON {temp, rain}, we say so at scoping and stay on warnings plus observations, or we quote a GRIB worker separately.
Access to the public APIs is free after an account. The cost is the connector: secrets, two channels, cache, fallback, optionally a GRIB worker. A warning banner on the départements you cover is a short job. An AROME forecast consumed on every planning run is a data project. We scope the useful channel and give a firm estimate before we start. Per-API subscription and storing the key in a managed secret are part of the job, not an option.
A Météo-France integration project?
Let's talk. 30 minutes to scope the need, check the useful channel (warnings, observations, GRIB, files) and tell you frankly what is feasible.
Discuss my Météo-France project