🌡️ API Ciblée Données d'Observation (EN)
Jun 12, 2025 updated on Jul 10, 2025
To find out more about API products, please visit the documentation of the French land network observations.
Pre-requisite: you must have consulted the Météo-France portal API user guide
Main features of this API
Data retention time (depth) = 24h
Real-time = yes
Archive = no
Access granularity = 1 station
Domain = mainland and overseas France
Update frequency =
list of observation stations = hourly
hourly observations = hourly (round hour + 10')
6-minute observations = every 6 minutes
Synchronous/asynchronous = synchronous
Limitation(s) =
a search for a date older than the 24h retention period will return the oldest data available
How the API works
This API provides access to real-time observation data from Météo-France weather observation stations currently in operation.
Search for the station identifier (8-digit number) using the web service:
/liste-stations
NB: you can also perform a graphical search on the “station information” page of the Public Data portalDownload station measurements for a given date over the last 24 hours using the web services:
according to the frequency of observation data required (6 minutes or hourly)/station-infra-horaire-6m
/station-horaire
returns the data available on the date closest to the date requested.
Common mistakes
confusion error between Observations API and Climatology API:
the Observations data API returns “raw” real-time data, over 24 hours, from active stations
the Climatology API gives access to the qualified archive of observations from all MF historical stations, whether they are still active or not
downloading a CSV file containing only the header line, or a JSON file containing only an empty list => the requested station doesn't exist, or request in the future
error 400 “Semantically incorrect station identifier” => when the station number doesn't contain exactly 8 digits
For example, keep the 0 (zero) in front of station numbers for departments: 01 (Ain) to 09 (Ariège). See API use cases belowerror 400 and message “The xxx parameter is a future date” => speaks for itself
Use case
In development mode, I want to download and display on a map the observations measured by a real-time observation station close from where I live (Arbent - 01) in GeoJSON format
download the station list with an OAuth2 token:
téléchargement de la liste des stations métropole et outre-mer:
curl -X 'GET' \ 'https://public-api.meteofrance.fr/public/DPObs/liste-stations' \ -H 'accept: */*' \ -H 'Authorization: Bearer <your_oauth2_token_here>' -JO curl: Saved to filename 'liste-stations-obs-metropole-om.csv'
display the CSV of the station list and choose the nearest station:
”raw” CSV with a text editor: insignificant 0s (zeros) appear for departments 01 to 09
CSV imported into a spreadsheet program (Excel, Calc, Numbers, ...): ⚠️ the insignificant 0s (zeros) do not appear for departments 01 to 09 departments!! Don't forget to include them in the station number, otherwise you'll get an error (see “Common errors”)
download Obs 6m data in GeoJSON format for ARBENT station and current date:
téléchargement des données Obs 6m au format GeoJSON pour la date courante
curl -X 'GET' \ 'https://public-api.meteofrance.fr/public/DPObs/station/infrahoraire-6m?id_station=01014002&format=geojson' \ -H 'accept: */*' \ -H 'Authorization: Bearer <your_oauth2_token_here>' -JO curl: Saved to filename 'obs-infrahoraire-6m_01014002_2024-05-06T13:48:56Z.geojson'
display the contents of the GeoJSON file containing 1 station (see product documentation for description of contents):
affichage du contenu du fichier GeoJSON:
[ { "type": "Feature", "geometry": { "type": "Point", "coordinates": [ 5.669, 46.278167 ] }, "properties": { "geo_id_insee": "01014002", "reference_time": "2024-05-06T13:42:07Z", "insert_time": "2024-05-06T13:37:03Z", "validity_time": "2024-05-06T13:36:00Z", "t": 283.75, "td": 282.15, "u": 90, "dd": 210, "ff": 2, "dxi10": 230, "fxi10": 3.9, "rr_per": 0, "t_10": null, "t_20": null, "t_50": null, "t_100": null, "vv": null, "etat_sol": null, "sss": 0, "insolh": null, "ray_glo01": null, "pres": null, "pmer": null } } ]
use of GeoJSON in a cartographic application (outside the scope of the API)=> benefit of choosing GeoJSON to display geolocated data
For example, on uMap (based on and operated by OpenStreetMap): https://umap.openstreetmap.fr/fr/