🌡️ API Ciblée Données d'Observation (EN)

🌡️ 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.

  1. 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 portal

  2. Download 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 below

  • error 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

  1. 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'

     

  2. 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

      image-20250612-174955.png
    • 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”)

      image-20250612-175107.png

       

  3. 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'

     

  4. 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 } } ]

     

  5. 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/

  6. image-20250612-175237.png