# Table of Contents - [🌦️ Docs | Open-Meteo.com](#-docs-open-meteo-com) - [Historical Forecast API | Open-Meteo.com](#historical-forecast-api-open-meteo-com) - [Previous Runs API | Open-Meteo.com](#previous-runs-api-open-meteo-com) - [DWD ICON API | Open-Meteo.com](#dwd-icon-api-open-meteo-com) - [GFS & HRRR API | Open-Meteo.com](#gfs-hrrr-api-open-meteo-com) - [Météo-France API | Open-Meteo.com](#m-t-o-france-api-open-meteo-com) - [MeteoSwiss ICON API | Open-Meteo.com](#meteoswiss-icon-api-open-meteo-com) - [ECMWF Forecast API | Open-Meteo.com](#ecmwf-forecast-api-open-meteo-com) - [JMA API | Open-Meteo.com](#jma-api-open-meteo-com) - [UK Met Office API | Open-Meteo.com](#uk-met-office-api-open-meteo-com) - [MET Norway API | Open-Meteo.com](#met-norway-api-open-meteo-com) - [UK Met Office API | Open-Meteo.com](#uk-met-office-api-open-meteo-com) - [BOM ACCESS-G Weather Model API | Open-Meteo.com](#bom-access-g-weather-model-api-open-meteo-com) - [🏛️ Historical Weather API | Open-Meteo.com](#-historical-weather-api-open-meteo-com) - [KNMI Weather Model API | Open-Meteo.com](#knmi-weather-model-api-open-meteo-com) - [ItaliaMeteo ARPAE ICON-2i | Open-Meteo.com](#italiameteo-arpae-icon-2i-open-meteo-com) - [DMI Weather Model API | Open-Meteo.com](#dmi-weather-model-api-open-meteo-com) - [🌡️ Climate API | Open-Meteo.com](#-climate-api-open-meteo-com) - [Satellite Radiation API 🛰️☀️ | Open-Meteo.com](#satellite-radiation-api-open-meteo-com) - [🌊 Marine Weather API | Open-Meteo.com](#-marine-weather-api-open-meteo-com) - [Elevation API | Open-Meteo.com](#elevation-api-open-meteo-com) - [Geocoding API | Open-Meteo.com](#geocoding-api-open-meteo-com) - [💨 Air Quality API | Open-Meteo.com](#-air-quality-api-open-meteo-com) - [API Production Status | Open-Meteo.com](#api-production-status-open-meteo-com) - [Flood API | Open-Meteo.com](#flood-api-open-meteo-com) - [Ensemble API | Open-Meteo.com](#ensemble-api-open-meteo-com) - [Seasonal Weather Forecast API | Open-Meteo.com](#seasonal-weather-forecast-api-open-meteo-com) - [GEM API | Open-Meteo.com](#gem-api-open-meteo-com) - [CMA GFS GRAPES Weather Model API | Open-Meteo.com](#cma-gfs-grapes-weather-model-api-open-meteo-com) --- # 🌦️ Docs | Open-Meteo.com Weather Forecast API ==================== Seamless integration of high-resolution weather models with up 16 days forecast [Location and Time\ -----------------](https://open-meteo.com/en/docs#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation Probability Precipitation (rain + showers + snow) Rain Showers Snowfall Snow Depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Evapotranspiration Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (80 m) Wind Speed (120 m) Wind Speed (180 m) Wind Direction (10 m) Wind Direction (80 m) Wind Direction (120 m) Wind Direction (180 m) Wind Gusts (10 m) Temperature (80 m) Temperature (120 m) Temperature (180 m) Soil Temperature (0 cm) Soil Temperature (6 cm) Soil Temperature (18 cm) Soil Temperature (54 cm) Soil Moisture (0-1 cm) Soil Moisture (1-3 cm) Soil Moisture (3-9 cm) Soil Moisture (9-27 cm) Soil Moisture (27-81 cm) Additional Variables And Options -------------------------------- UV Index UV Index Clear Sky Is Day or Night Sunshine Duration Wet Bulb Temperature (2 m) Total Column Integrated Water Vapour CAPE Lifted Index Convective Inhibition Freezing Level Height Boundary Layer Height PBL Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. \- (default) Forecast Hours \- (default) Past Hours 1 Hourly Temporal Resolution For Hourly Data Terrain Optimised, Prefers Land Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Relative Humidity Cloud Cover Wind Speed Wind Direction Geopotential Height Temperature 1000 hPa (110 m) 975 hPa (320 m) 950 hPa (500 m) 925 hPa (800 m) 900 hPa (1000 m) 850 hPa (1500 m) 800 hPa (1900 m) 700 hPa (3 km) 600 hPa (4.2 km) 500 hPa (5.6 km) 400 hPa (7.2 km) 300 hPa (9.2 km) 250 hPa (10.4 km) 200 hPa (11.8 km) 150 hPa (13.5 km) 100 hPa (15.8 km) 70 hPa (17.7 km) 50 hPa (19.3 km) 30 hPa (22 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- Best match ECMWF IFS HRES 9km ECMWF IFS 0.25° ECMWF AIFS 0.25° Single CMA GRAPES Global BOM ACCESS Global NCEP GFS Seamless NCEP GFS Global 0.11°/0.25° NCEP HRRR U.S. Conus NCEP NBM U.S. Conus NCEP NAM U.S. Conus GFS GraphCast JMA Seamless JMA MSM JMA GSM KMA Seamless KMA LDPS KMA GDPS DWD ICON Seamless DWD ICON Global DWD ICON EU DWD ICON D2 GEM Seamless GEM Global GEM Regional GEM HRDPS Continental GEM HRDPS West Météo-France Seamless Météo-France ARPEGE World Météo-France ARPEGE Europe Météo-France AROME France Météo-France AROME France HD ItaliaMeteo ARPAE ICON 2I MET Norway Nordic Seamless (with ECMWF) MET Norway Nordic KNMI Seamless (with ECMWF) KNMI Harmonie Arome Europe KNMI Harmonie Arome Netherlands DMI Seamless (with ECMWF) DMI Harmonie Arome Europe UK Met Office Seamless UK Met Office Global 10km UK Met Office UK 2km MeteoSwiss ICON Seamless MeteoSwiss ICON CH1 MeteoSwiss ICON CH2 Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. 15-Minutely Weather Variables ----------------------------- Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Snowfall Snowfall Height Freezing Level Height Sunshine Duration Weather code Wind Speed (10 m) Wind Speed (80 m) Wind Direction (10 m) Wind Direction (80 m) Wind Gusts (10 m) Visibility CAPE Lightning Potential Index LPI Is Day or Night Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Only available in Central Europe and North America. Other regions use interpolated hourly data. Solar radiation is averaged over the 15 minutes. Use instant for radiation at the indicated time. Note: You can further adjust the forecast time range for 15-minutely weather variables using &forecast\_minutely\_15= and &past\_minutely\_15= as shown below. \- (default) Forecast Minutely 15 \- (default) Past Minutely 15 [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration UV Index UV Index Clear Sky Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) Additional Daily Variables -------------------------- Mean Temperature (2 m) Mean Apparent Temperature (2 m) Mean CAPE Maximum CAPE Minimum CAPE Mean Cloud Cover Maximum Cloud Cover Minimum Cloud Cover Mean Dewpoint (2 m) Maximum Dewpoint (2 m) Minimum Dewpoint (2 m) Reference Evapotranspiration Sum (ET₀) Growing Degree Days Base 0 Limit 50 Mean Leaf Wetness Probability Mean Precipitation Probability Minimum Precipitation Probability Mean Relative Humidity (2 m) Maximum Relative Humidity (2 m) Minimum Relative Humidity (2 m) Snowfall Water Equivalent Sum Mean Sea Level Pressure Maximum Sea Level Pressure Minimum Sea Level Pressure Mean Surface Pressure Maximum Surface Pressure Minimum Surface Pressure Maximum Updraft Mean Visibility Minimum Visibility Maximum Visibility Dominant Wind Direction (10m) Mean Wind Gusts (10 m) Mean Wind Speed (10 m) Minimum Wind Gusts (10 m) Minimum Wind Speed (10 m) Mean Wet Bulb Temperature (2 m) Maximum Wet Bulb Temperature (2 m) Minimum Wet Bulb Temperature (2 m) Maximum Vapour Pressure Deficit [Current Weather\ ---------------](https://open-meteo.com/en/docs#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted Only for **non-commercial use** and less than 10.000 daily API calls. See [Terms](https://open-meteo.com/en/terms) for more details. [API Response\ ------------](https://open-meteo.com/en/docs#api_response) Preview: Chart & URL Python TypeScript Swift Other Created with Highcharts 12.5.0°C52.52°N 13.42°E 38m above sea levelGenerated in 0.08ms, downloaded in 437ms, time in GMT+0temperature\_2m21 Jan22 Jan23 Jan24 Jan25 Jan26 Jan27 Jan28 Jan\-8\-6\-4\-202Open-Meteo.com [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs#data_sources) Open-Meteo weather forecast APIs use weather models from multiple national weather providers. For each location worldwide, the best models will be combined to provide the best possible forecast. Weather models cover different geographic areas at different resolutions and provide different weather variables. Depending on the model, data have been interpolated to hourly values or not all weather variables are available. With the drop down Weather models (just below the hourly variables), you can select and compare individual weather models. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | National Weather Provider | Origin Country | Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [ICON](https://open-meteo.com/en/docs/dwd-api) | Deutscher Wetterdienst (DWD) | Germany | 2 - 11 km | 7.5 days | Every 3 hours | | [GFS & HRRR](https://open-meteo.com/en/docs/gfs-api) | NOAA | United States | 3 - 25 km | 16 days | Every hour | | [ARPEGE & AROME](https://open-meteo.com/en/docs/meteofrance-api) | Météo-France | France | 1 - 25 km | 4 days | Every hour | | [IFS & AIFS](https://open-meteo.com/en/docs/ecmwf-api) | ECMWF | European Union | 25 km | 15 days | Every 6 hours | | [UKMO](https://open-meteo.com/en/docs/ukmo-api) | UK Met Office | United Kingdom | 2 - 10 km | 7 days | Every hour | | [KMA](https://open-meteo.com/en/docs/kma-api) | KMA Korea | Korea | 1.5 - 13 km | 12 days | Every 6 hours | | [MSM & GSM](https://open-meteo.com/en/docs/jma-api) | JMA | Japan | 5 - 55 km | 11 days | Every 3 hours | | [ICON CH](https://open-meteo.com/en/docs/meteoswiss-api) | MeteoSwiss | Switzerland | 1 - 2 km | 5 days | Every 3 hours | | [MET Nordic](https://open-meteo.com/en/docs/metno-api) | MET Norway | Norway | 1 km | 2.5 days | Every hour | | [GEM](https://open-meteo.com/en/docs/gem-api) | Canadian Weather Service | Canada | 2.5 km | 10 days | Every 6 hours | | [ACCESS-G](https://open-meteo.com/en/docs/bom-api) | Australian Bureau of Meteorology (BOM) | Australia | 15 km | 10 days | Every 6 hours | | [GFS GRAPES](https://open-meteo.com/en/docs/cma-api) | China Meteorological Administration (CMA) | China | 15 km | 10 days | Every 6 hours | | [HARMONIE](https://open-meteo.com/en/docs/knmi-api) | KNMI | Netherlands | 2 km | 2.5 days | Every hour | | [HARMONIE](https://open-meteo.com/en/docs/dmi-api) | DMI | Denmark | 2 km | 2.5 days | Every 3 hours | | [ARPAE](https://open-meteo.com/en/docs/italia-meteo-arpae-api) | ItaliaMeteo | Italy | 2 km | 3 days | Every 12 hours | [API Documentation\ -----------------](https://open-meteo.com/en/docs#api_documentation) The API endpoint /v1/forecast accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 7 days. Time always starts at 0:00 today and contains 168 hours. If &forecast\_days=16 is set, up to 16 days of forecast can be returned. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. For North and South America locations use negative longitudes, because they lie west of Greenwich. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | current | String array | No | | A list of weather variables to get current conditions. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer (0-92) | No | 0 | If past\_days is set, yesterday or the day before yesterday data are also returned. | | forecast\_days | Integer (0-16) | No | 7 | Per default, only 7 days are returned. Up to 16 days of forecast are possible. | | forecast\_hours
forecast\_minutely\_15
past\_hours
past\_minutely\_15 | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly and 15-minutely data can controlled. Instead of using the current day as a reference, the current hour or the current 15-minute time-step is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour
start\_minutely\_15
end\_minutely\_15 | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly or 15 minutely data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | models | String array | No | auto | Manually select one or more weather models. Per default, the best suitable weather models will be combined. | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude | | wind\_speed\_10m
wind\_speed\_80m
wind\_speed\_120m
wind\_speed\_180m | Instant | km/h (mph, m/s, knots) | Wind speed at 10, 80, 120 or 180 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_80m
wind\_direction\_120m
wind\_direction\_180m | Instant | ° | Wind direction at 10, 80, 120 or 180 meters above ground | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | vapour\_pressure\_deficit | Instant | kPa | Vapour Pressure Deficit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | cape | Instant | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | | evapotranspiration | Preceding hour sum | mm (inch) | Evapotranspration from land surface and plants that weather models assumes for this location. Available soil water is considered. 1 mm evapotranspiration per hour equals 1 liter of water per spare meter. | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | precipitation\_probability | Preceding hour probability | % | Probability of precipitation with more than 0.1 mm of the preceding hour. Probability is based on ensemble weather models with 0.25° (~27 km) resolution. 30 different simulations are computed to better represent future weather conditions. | | rain | Preceding hour sum | mm (inch) | Rain from large scale weather systems of the preceding hour in millimeter | | showers | Preceding hour sum | mm (inch) | Showers from convective precipitation in millimeters from the preceding hour | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. | | snow\_depth | Instant | meters | Snow depth on the ground | | freezing\_level\_height | Instant | meters | Altitude above sea level of the 0°C level | | visibility | Instant | meters | Viewing distance in meters. Influenced by low clouds, humidity and aerosols. | | soil\_temperature\_0cm
soil\_temperature\_6cm
soil\_temperature\_18cm
soil\_temperature\_54cm | Instant | °C (°F) | Temperature in the soil at 0, 6, 18 and 54 cm depths. 0 cm is the surface temperature on land or water surface temperature on water. | | soil\_moisture\_0\_to\_1cm
soil\_moisture\_1\_to\_3cm
soil\_moisture\_3\_to\_9cm
soil\_moisture\_9\_to\_27cm
soil\_moisture\_27\_to\_81cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-1, 1-3, 3-9, 9-27 and 27-81 cm depths. | | is\_day | Instant | Dimensionless | 1 if the current time step has daylight, 0 at night. | [### 15-Minutely Parameter Definition](https://open-meteo.com/en/docs#15_minutely_parameter_definition) The parameter &minutely\_15= can be used to get 15-minutely data. This data is based on NOAA HRRR model for North America and DWD ICON-D2 and Météo-France AROME model for Central Europe. If 15-minutely data is requested for other regions data is interpolated from 1-hourly to 15-minutely. 15-minutely data can be requested for other weather variables that are available for hourly data, but will use interpolation. | Variable | Valid time | Unit | HRRR | ICON-D2 | AROME | | --- | --- | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | x | | x | | relative\_humidity\_2m | Instant | % | x | | x | | dew\_point\_2m | Instant | °C (°F) | x | | x | | apparent\_temperature | Instant | °C (°F) | x | | x | | shortwave\_radiation | Preceding 15 minutes mean | W/m² | x | x | | | direct\_radiation
direct\_normal\_irradiance | Preceding 15 minutes mean | W/m² | x | x | | | global\_tilted\_irradiance
global\_tilted\_irradiance\_instant | Preceding 15 minutes mean | W/m² | x | x | | | diffuse\_radiation | Preceding 15 minutes mean | W/m² | x | x | | | sunshine\_duration | Preceding 15 minutes sum | seconds | x | x | | | lightning\_potential | Instant | J/kg | | x | | | precipitation | Preceding 15 minutes sum | mm (inch) | x | x | x | | snowfall | Preceding 15 minutes sum | cm (inch) | x | x | x | | rain | Preceding 15 minutes sum | mm (inch) | x | x | x | | showers | Preceding 15 minutes sum | mm (inch) | | x | | | snowfall\_height | Instant | meters | | x | | | freezing\_level\_height | Instant | meters | | x | | | cape | Instant | J/kg | x | x | x | | wind\_speed\_10m
wind\_speed\_80m | Instant | km/h (mph, m/s, knots) | x | | x | | wind\_direction\_10m
wind\_direction\_80m | Instant | ° | x | | x | | wind\_gusts\_10m | Preceding 15 min max | km/h (mph, m/s, knots) | x | | | | visibility | Instant | meters | x | | x | | weather\_code | Instant | WMO code | x | x | | [### Pressure Level Variables](https://open-meteo.com/en/docs#pressure_level_variables) Pressure level variables do not have fixed altitudes. Altitude varies with atmospheric pressure. 1000 hPa is roughly between 60 and 160 meters above sea level. Estimated altitudes are given below. Altitudes are in meters above sea level (not above ground). For precise altitudes, geopotential\_height can be used. | | | | | | | | | | | | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Level (hPa) | 1000 | 975 | 950 | 925 | 900 | 850 | 800 | 700 | 600 | 500 | 400 | 300 | 250 | 200 | 150 | 100 | 70 | 50 | 30 | | Altitude | 110 m | 320 m | 500 m | 800 m | 1000 m | 1500 m | 1900 m | 3 km | 4.2 km | 5.6 km | 7.2 km | 9.2 km | 10.4 km | 11.8 km | 13.5 km | 15.8 km | 17.7 km | 19.3 km | 22 km | All pressure levels have valid times of the indicated hour (instant). | Variable | Unit | Description | | --- | --- | --- | | temperature\_1000hPa
temperature\_975hPa, ... | °C (°F) | Air temperature at the specified pressure level. Air temperatures decrease linearly with pressure. | | relative\_humidity\_1000hPa
relative\_humidity\_975hPa, ... | % | Relative humidity at the specified pressure level. | | dew\_point\_1000hPa
dew\_point\_975hPa, ... | °C (°F) | Dew point temperature at the specified pressure level. | | cloud\_cover\_1000hPa
cloud\_cover\_975hPa, ... | % | Cloud cover at the specified pressure level. Cloud cover is approximated based on relative humidity using [Sundqvist et al. (1989)](https://www.ecmwf.int/sites/default/files/elibrary/2005/16958-parametrization-cloud-cover.pdf)
. It may not match perfectly with low, mid and high cloud cover variables. | | wind\_speed\_1000hPa
wind\_speed\_975hPa, ... | km/h (mph, m/s, knots) | Wind speed at the specified pressure level. | | wind\_direction\_1000hPa
wind\_direction\_975hPa, ... | ° | Wind direction at the specified pressure level. | | geopotential\_height\_1000hPa
geopotential\_height\_975hPa, ... | meter | Geopotential height at the specified pressure level. This can be used to get the correct altitude in meter above sea level of each pressure level. Be carefull not to mistake it with altitude above ground. | [### Daily Parameter Definition](https://open-meteo.com/en/docs#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | temperature\_2m\_max
temperature\_2m\_mean
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_mean
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | rain\_sum | mm | Sum of daily rain | | showers\_sum | mm | Sum of daily showers | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_hours | hours | The number of hours with rain | | precipitation\_probability\_max
precipitation\_probability\_mean
precipitation\_probability\_min | % | Probability of precipitation | | weather\_code | WMO code | The most severe weather condition on a given day | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_speed\_10m\_max
wind\_gusts\_10m\_max | km/h (mph, m/s, knots) | Maximum wind speed and gusts on a day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | | uv\_index\_max
uv\_index\_clear\_sky\_max | Index | Daily maximum in UV Index starting from 0. uv\_index\_clear\_sky\_max assumes cloud free conditions. Please follow the [official WMO guidelines](https://www.who.int/news-room/questions-and-answers/item/radiation-the-ultraviolet-(uv)-index)
for ultraviolet index. | [### JSON Return Object](https://open-meteo.com/en/docs#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | current | Object | For every chosen current weather variable, the data is provided as a numeric value. In addition, time specifies the moment at which the data is valid. The interval represents the duration in seconds used for calculating backward-looking sums or averages. For instance, an interval of 900 seconds (15 minutes) means that aggregated metrics such as precipitation reflect the total from the previous 15 minutes. | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } [Weather variable documentation\ ------------------------------](https://open-meteo.com/en/docs#weather_variable_documentation) ### WMO Weather interpretation codes (WW) | Code | Description | | --- | --- | | 0 | Clear sky | | 1, 2, 3 | Mainly clear, partly cloudy, and overcast | | 45, 48 | Fog and depositing rime fog | | 51, 53, 55 | Drizzle: Light, moderate, and dense intensity | | 56, 57 | Freezing Drizzle: Light and dense intensity | | 61, 63, 65 | Rain: Slight, moderate and heavy intensity | | 66, 67 | Freezing Rain: Light and heavy intensity | | 71, 73, 75 | Snow fall: Slight, moderate, and heavy intensity | | 77 | Snow grains | | 80, 81, 82 | Rain showers: Slight, moderate, and violent | | 85, 86 | Snow showers slight and heavy | | 95 \* | Thunderstorm: Slight or moderate | | 96, 99 \* | Thunderstorm with slight and heavy hail | (\*) Thunderstorm forecast with hail is only available in Central Europe --- # Historical Forecast API | Open-Meteo.com Historical Forecast API ======================= Archived High-Resolution Weather Forecasts This API provides access to archived high-resolution weather model data from the [Weather Forecast API](https://open-meteo.com/en/docs) . The data is continuously archived and updated daily. For more information read the [announcement blog article](https://openmeteo.substack.com/p/introducing-the-historical-forecast "Introducing the Historical Forecast API") . [Location and Time\ -----------------](https://open-meteo.com/en/docs/historical-forecast-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Start date End date Past weather forecasts from 2022 onwards are available. Quick: 2022 2023 2024 2025 [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/historical-forecast-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation Probability Precipitation (rain + showers + snow) Rain Showers Snowfall Snow Depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Evapotranspiration Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (80 m) Wind Speed (120 m) Wind Speed (180 m) Wind Direction (10 m) Wind Direction (80 m) Wind Direction (120 m) Wind Direction (180 m) Wind Gusts (10 m) Temperature (80 m) Temperature (120 m) Temperature (180 m) Soil Temperature (0 cm) Soil Temperature (6 cm) Soil Temperature (18 cm) Soil Temperature (54 cm) Soil Moisture (0-1 cm) Soil Moisture (1-3 cm) Soil Moisture (3-9 cm) Soil Moisture (9-27 cm) Soil Moisture (27-81 cm) Additional Variables And Options -------------------------------- UV Index UV Index Clear Sky Is Day or Night Sunshine Duration Wet Bulb Temperature (2 m) Total Column Integrated Water Vapour CAPE Lifted Index Convective Inhibition Freezing Level Height Boundary Layer Height PBL Hail (only Met Office UK 2km) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Relative Humidity Cloud Cover Wind Speed Wind Direction Geopotential Height Temperature 1000 hPa (110 m) 975 hPa (320 m) 950 hPa (500 m) 925 hPa (800 m) 900 hPa (1000 m) 850 hPa (1500 m) 800 hPa (1900 m) 700 hPa (3 km) 600 hPa (4.2 km) 500 hPa (5.6 km) 400 hPa (7.2 km) 300 hPa (9.2 km) 250 hPa (10.4 km) 200 hPa (11.8 km) 150 hPa (13.5 km) 100 hPa (15.8 km) 70 hPa (17.7 km) 50 hPa (19.3 km) 30 hPa (22 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- Best match ECMWF IFS HRES 9km ECMWF IFS 0.25° ECMWF AIFS 0.25° Single CMA GRAPES Global BOM ACCESS Global NCEP GFS Seamless NCEP GFS Global 0.11°/0.25° NCEP HRRR U.S. Conus NCEP NBM U.S. Conus NCEP NAM U.S. Conus GFS GraphCast JMA Seamless JMA MSM JMA GSM KMA Seamless KMA LDPS KMA GDPS DWD ICON Seamless DWD ICON Global DWD ICON EU DWD ICON D2 GEM Seamless GEM Global GEM Regional GEM HRDPS Continental GEM HRDPS West Météo-France Seamless Météo-France ARPEGE World Météo-France ARPEGE Europe Météo-France AROME France Météo-France AROME France HD ItaliaMeteo ARPAE ICON 2I MET Norway Nordic Seamless (with ECMWF) MET Norway Nordic KNMI Seamless (with ECMWF) KNMI Harmonie Arome Europe KNMI Harmonie Arome Netherlands DMI Seamless (with ECMWF) DMI Harmonie Arome Europe UK Met Office Seamless UK Met Office Global 10km UK Met Office UK 2km MeteoSwiss ICON Seamless MeteoSwiss ICON CH1 MeteoSwiss ICON CH2 Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. 15-Minutely Weather Variables ----------------------------- Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Snowfall Snowfall Height Freezing Level Height Sunshine Duration Weather code Wind Speed (10 m) Wind Speed (80 m) Wind Direction (10 m) Wind Direction (80 m) Wind Gusts (10 m) Visibility CAPE Lightning Potential Index LPI Is Day or Night Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Only available in Central Europe and North America. Other regions use interpolated hourly data. Solar radiation is averaged over the 15 minutes. Use instant for radiation at the indicated time. Note: You can further adjust the forecast time range for 15-minutely weather variables using &forecast\_minutely\_15= and &past\_minutely\_15= as shown below. Forecast Minutely 15 Past Minutely 15 [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/historical-forecast-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration UV Index UV Index Clear Sky Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) Additional Daily Variables -------------------------- Mean Temperature (2 m) Minimum Temperature (2 m) Mean Apparent Temperature (2 m) Mean CAPE Maximum CAPE Minimum CAPE Mean Cloud Cover Maximum Cloud Cover Minimum Cloud Cover Mean Dewpoint (2 m) Maximum Dewpoint (2 m) Minimum Dewpoint (2 m) Reference Evapotranspiration Sum (ET₀) Growing Degree Days Base 0 Limit 50 Mean Leaf Wetness Probability Mean Precipitation Probability Minimum Precipitation Probability Mean Relative Humidity (2 m) Maximum Relative Humidity (2 m) Minimum Relative Humidity (2 m) Snowfall Water Equivalent Sum Mean Sea Level Pressure Maximum Sea Level Pressure Minimum Sea Level Pressure Mean Surface Pressure Maximum Surface Pressure Minimum Surface Pressure Maximum Updraft Mean Visibility Minimum Visibility Maximum Visibility Dominant Wind Direction (10m) Mean Wind Gusts (10 m) Mean Wind Speed (10 m) Minimum Wind Gusts (10 m) Minimum Wind Speed (10 m) Mean Wet Bulb Temperature (2 m) Maximum Wet Bulb Temperature (2 m) Minimum Wet Bulb Temperature (2 m) Maximum Vapour Pressure Deficit Mean Soil Moisture (0-100 cm) Mean Soil Moisture (0-10 cm) Mean Soil Moisture (0-7 cm) Mean Soil Moisture (28-100 cm) Mean Soil Moisture (7-28 cm) Mean Soil Temperature (0-100 cm) Mean Soil Temperature (0-7 cm) Mean Soil Temperature (28-100 cm) Mean Soil Temperature (7-28 cm) [Settings\ --------](https://open-meteo.com/en/docs/historical-forecast-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/historical-forecast-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://historical-forecast-api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&start_date=2026-01-05&end_date=2026-01-19&hourly=temperature_2m&format=xlsx) [Download CSV](https://historical-forecast-api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&start_date=2026-01-05&end_date=2026-01-19&hourly=temperature_2m&format=csv) API URL ([Open in new tab](https://historical-forecast-api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&start_date=2026-01-05&end_date=2026-01-19&hourly=temperature_2m) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/historical-forecast-api#data_sources) The weather data precisely aligns with the weather forecast API, created by continuously integrating weather forecast model data. Each update from the weather models' initial hours is compiled into a seamless time series. This extensive dataset is ideal for training machine learning models and combining them with forecast data to generate optimised predictions. Weather models are initialized using data from weather stations, satellites, radar, airplanes, soundings, and buoys. With high update frequencies of 1, 3, or 6 hours, the resulting time series is nearly as accurate as direct measurements and offers global coverage. In regions like North America and Central Europe, the difference from local weather stations is minimal. However, for precise values such as precipitation, local measurements are preferable when available. The Historical Forecast API archives comprehensive data, including atmospheric pressure levels, from all accessible weather forecast models. Depending on the model and public archive availability, data is available starting from 2021 or 2022. The default Best Match option selects the most suitable high-resolution weather models for any global location, though users can also manually specify the weather model. Open-Meteo utilises the following weather forecast models: | National Weather Provider | Weather Model | Region | Spatial Resolution | Temporal Resolution | Update Frequency | Available Since | | --- | --- | --- | --- | --- | --- | --- | | Deutscher Wetterdienst (DWD) | ICON | Global | 0.1° (~11 km) | 1-Hourly | Every 6 hours | 2022-11-24 | | ICON-EU | Europe | 0.0625° (~7 km) | 1-Hourly | Every 3 hours | 2022-11-24 | | ICON-D2 | Central Europe | 0.02° (~2 km) | 1-Hourly | Every 3 hours | 2022-11-24 | | NOAA NCEP | GFS | Global | 0.11° (~13 km) | 1-Hourly | Every 6 hours | 2021-03-23 | | GFS Pressure Variables | Global | 0.25° (~25 km) | 1-Hourly | Every 6 hours | 2021-03-23 | | HRRR | U.S. Conus | 3 km | 1-Hourly | Every hour | 2018-01-01 | | NAM | U.S. Conus | 3 km | 1-Hourly | Every 6 hours | 2025-09-01 | | NBM | U.S. Conus | 3 km | 1-Hourly | Every hour | 2024-10-08 | | GFS GraphCast | Global | 0.25° (~25 km) | 6-Hourly | Every 6 hours | 2024-02-05 | | Météo-France | ARPEGE World | Global | 0.25° (~25 km) | 1-Hourly | Every 6 hours | 2024-01-02 | | ARPEGE Europe | Europe | 0.1° (~11 km) | 1-Hourly | Every 6 hours | 2022-11-13 | | AROME France | Global | 0.025° (~2.5 km) | 1-Hourly | Every 3 hours | 2024-01-02 | | AROME France HD | Global | 0.01° (~1.5 km) | 1-Hourly | Every 3 hours | 2022-11-13 | | ECMWF | IFS 0.4° | Global | 0.4° (~44 km) | 3-Hourly | Every 6 hours | 2022-11-07 | | IFS 0.25° | Global | 0.25° (~25 km) | 3-Hourly | Every 6 hours | 2024-02-03 | | AIFS 0.25° Single | Global | 0.25° (~25 km) | 6-Hourly | Every 6 hours | 2025-02-20 | | UK Met Office | UKMO Global | Global | 0.09° (~10 km) | Hourly | Every 6 hours | 2022-03-01 | | UKMO UKV | UK and Ireland | 2 km | Hourly | Every hour | 2022-03-01 | | JMA | GSM | Global | 0.5° (~55 km) | 6-Hourly | Every 6 hours | 2016-01-01 | | MSM | Japan | 0.05° (~5 km) | 1-Hourly | Every 3 hours | 2016-01-01 | | MET Norway | MET Nordic | Norway, Denmark, Sweden, Finland | 1 km | 1-Hourly | Every hour | 2022-11-15 | | Canadian Weather Service | GEM Global | Global | 0.15° (~15 km) | 3-Hourly | Every 12 hours | 2022-11-23 | | GEM Regional | North America, North Pole | 10 km | 1-Hourly | Every 6 hours | 2022-11-23 | | HRDPS Continental | Canada, Nothern US | 2.5 km | 1-Hourly | Every 6 hours | 2023-03-03 | | China Meteorological Administration (CMA) | GFS GRAPES | Global | 0.125° (~15 km) | 3-hourly | Every 6 hours | 2023-12-31 | | Australian Bureau of Meteorology (BOM) | ACCESS-G | Global | 0.15° (~15 km) | 1-Hourly | Every 6 hours | 2024-01-18 | | ItaliaMeteo ItaliaMeteo-ARPAE | ICON 2I | Southern Europe | 2 km | 1-Hourly | Every 12 hours | 2025-04-13 | | DMI | HARMONIE AROME DINI | Central & Northern Europe | 2 km | 1-Hourly | Every 3 hours | 2024-07-01 | | KNMI | HARMONIE AROME Netherlands | Netherlands, Belgium | 2 km | 1-Hourly | Every hour | 2024-07-01 | | HARMONIE AROME Europe | Central & Northern Europe up to Iceland | 5.5 km | 1-Hourly | Every hour | 2024-07-01 | | MeteoSwiss | ICON CH1 | Central Europe | 1 km | 1-Hourly | Every 3 hours | 2025-07-29 | | ICON CH2 | Central Europe | 2 km | 1-Hourly | Every 6 hours | 2025-07-29 | [Which Historical Weather Data to Use?\ -------------------------------------](https://open-meteo.com/en/docs/historical-forecast-api#which_historical_weather_data_to_use) Open-Meteo provides various datasets for historical weather data: the Historical Weather API and the Historical Forecast API. For novice users expecting a single, definitive source of weather data, this can be confusing. In reality, only a small fraction of the Earth's surface is covered by weather stations with accurate and consistent measurements. To address this gap, numerical weather models are used to approximate past global weather. * **[Historical Weather API:](https://open-meteo.com/en/docs/historical-weather-api) ** This dataset is based on reanalysis weather models, particularly ERA5. It offers data from 1940 onwards with reasonable consistency throughout the time series, making it ideal for analyzing weather trends and climate change. The focus here is on consistency rather than pinpoint accuracy, with a spatial resolution ranging from 9 to 25 kilometres. * **[Historical Forecast API:](https://open-meteo.com/en/docs/historical-forecast-api) ** This dataset is constructed by continuously assembling weather forecasts, concatenating the first hours of each model update. Initialized with actual measurements, it closely mirrors local measurements but provides global coverage. However, it only includes data from the past 2-5 years and lacks long-term consistency due to evolving weather models and better initialization data over time. * **[Previous Runs API](https://open-meteo.com/en/docs/previous-runs-api) **: Similar to the Historical Forecast API, this dataset archives high-resolution weather models but includes data with a lead time offset of 1, 2, 3, 4, or more days. This makes it ideal for analyzing forecast performance several days into the future. Due to the vast amount of data, only common weather variables are stored, with data processing beginning in early 2024. #### Choosing the Right Dataset: * For analyzing weather trends or climate change over decades, use the Historical Weather API with reanalysis data from 1940 onwards. * For higher accuracy over the past few years, the Historical Forecast API with high-resolution forecasts is more suitable. * To optimize weather forecasts using machine learning, it's essential to use data from the same high-resolution weather models, available through both the Historical Forecast API and the Previous Runs API. [API Endpoint\ ------------](https://open-meteo.com/en/docs/historical-forecast-api#api_endpoint) As the API is identical to the Forecast API, please refer to the Weather Forecast API documentation for all available variables and parameters. The only notable difference is the API host "historical-forecast-api.open-meteo.com" as historical data is moved to a different set of servers with access to a large storage system. --- # Previous Runs API | Open-Meteo.com Previous Model Runs API ======================= Weather Forecasts from Previous Days to Compare Run-To-Run Performance Read the announcement for the Previous Day API and how you can use to it calculate model accuracy in the [Open-Meteo blog post](https://openmeteo.substack.com/p/weather-forecasts-from-previous-model-runs) . [Location and Time\ -----------------](https://open-meteo.com/en/docs/previous-runs-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 1 week (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/previous-runs-api#hourly_weather_variables) | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Temperature (2 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Relative Humidity (2 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Dewpoint (2 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Apparent Temperature | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Precipitation (rain + showers + snow) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Rain | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Showers | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Snowfall | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Weather code | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Sea Level Pressure | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Surface Pressure | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Cloud Cover Total | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Wind Speed (10 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Wind Direction (10 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | Additional Options ------------------ Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Shortwave Solar Radiation GHI | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Direct Solar Radiation | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Diffuse Solar Radiation DHI | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Direct Normal Irradiance DNI | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Global Tilted Radiation GTI | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Shortwave Solar Radiation GHI (Instant) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Direct Solar Radiation (Instant) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Diffuse Solar Radiation DHI (Instant) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Direct Normal Irradiance DNI (Instant) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Global Tilted Radiation GTI (Instant) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Terrestrial Solar Radiation (Instant) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Wind on 80, 120 and 180 meter ----------------------------- | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Wind Speed (80 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Wind Speed (120 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Wind Speed (180 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Wind Direction (80 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Wind Direction (120 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | | Wind Direction (180 m) | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 | Weather models -------------- Best match ECMWF IFS HRES 9km ECMWF IFS 0.25° ECMWF AIFS 0.25° Single CMA GRAPES Global BOM ACCESS Global NCEP GFS Seamless NCEP GFS Global 0.11°/0.25° NCEP HRRR U.S. Conus NCEP NBM U.S. Conus NCEP NAM U.S. Conus GFS GraphCast JMA Seamless JMA MSM JMA GSM KMA Seamless KMA LDPS KMA GDPS DWD ICON Seamless DWD ICON Global DWD ICON EU DWD ICON D2 GEM Seamless GEM Global GEM Regional GEM HRDPS Continental GEM HRDPS West Météo-France Seamless Météo-France ARPEGE World Météo-France ARPEGE Europe Météo-France AROME France Météo-France AROME France HD ItaliaMeteo ARPAE ICON 2I MET Norway Nordic Seamless (with ECMWF) MET Norway Nordic KNMI Seamless (with ECMWF) KNMI Harmonie Arome Europe KNMI Harmonie Arome Netherlands DMI Seamless (with ECMWF) DMI Harmonie Arome Europe UK Met Office Seamless UK Met Office Global 10km UK Met Office UK 2km MeteoSwiss ICON Seamless MeteoSwiss ICON CH1 MeteoSwiss ICON CH2 Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Settings\ --------](https://open-meteo.com/en/docs/previous-runs-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/previous-runs-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://previous-runs-api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m,temperature_2m_previous_day1,temperature_2m_previous_day2,temperature_2m_previous_day3,temperature_2m_previous_day4,temperature_2m_previous_day5&format=xlsx) [Download CSV](https://previous-runs-api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m,temperature_2m_previous_day1,temperature_2m_previous_day2,temperature_2m_previous_day3,temperature_2m_previous_day4,temperature_2m_previous_day5&format=csv) API URL ([Open in new tab](https://previous-runs-api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m,temperature_2m_previous_day1,temperature_2m_previous_day2,temperature_2m_previous_day3,temperature_2m_previous_day4,temperature_2m_previous_day5) or copy this URL into your application) [Data Availability\ -----------------](https://open-meteo.com/en/docs/previous-runs-api#data_availability) We began collecting past model run data in January 2024, with most weather models offering data from this point onward. Some models were added later in 2024 and 2025, providing data from a later start date. For GFS, data has been integrated from April 2021 onward, but only for 2m temperature. [API Documentation\ -----------------](https://open-meteo.com/en/docs/previous-runs-api#api_documentation) Weather models constantly churn out updates, each predicting the future at different lead times. Think of Day 0 as latest forecast close to measurements, Day 1 as a glimpse 24 hours back, and Day 2 as a 48-hour rewind. Each day further back forecasts longer into the future and, typically, increases volatility. Data jumps become wilder past Day 6 or 7, highlighting the inherent challenge of long-term forecasting. This data serves multiple purposes, including answering questions such as "what did yesterday's forecast predict for today?" or by comparing past forecasts with real-time observations, we can assess a forecast's accuracy and volatility. When combined with machine learning techniques, models can be trained specifically to enhance forecasts for the next 2 or 3 days. The frequency of model updates varies, ranging from hourly to every six hours. For local models with shorter prediction horizons (2-5 days), we naturally have access to a shorter "time machine" of past predictions (2-5 days). **Weather Models Sources:** The Previous Runs API uses the same models as available in the general weather forecast API. Please refer to the [Forecast API documentation](https://open-meteo.com/en/docs) for a list of all weather models and weather variables. **Data Availability:** Data is generally available from January 2024 onwards. Exceptions are GFS temperature on 2 metre, which is available from March 2021 and JMA GSM + MSM models which are available from 2018. More data from previous runs can be reconstructed on request (depending on data availability from official sources). --- # DWD ICON API | Open-Meteo.com DWD ICON API ============ Open data weather forecasts from the German weather service DWD This API offers access to the renowned ICON weather models from the German Weather service DWD, delivering 15-minutely data for short-term forecasts in central Europe and 11 km resolution global forecasts. The ICON model is a preferred choice in [generic weather forecast API](https://open-meteo.com/en/docs) if no other high resolution weather models are available. [Location and Time\ -----------------](https://open-meteo.com/en/docs/dwd-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/dwd-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Showers Snowfall Snow Depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Evapotranspiration Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (80 m) Wind Speed (120 m) Wind Speed (180 m) Wind Direction (10 m) Wind Direction (80 m) Wind Direction (120 m) Wind Direction (180 m) Wind Gusts (10 m) Temperature (80 m) Temperature (120 m) Temperature (180 m) Soil Temperature (0 cm) Soil Temperature (6 cm) Soil Temperature (18 cm) Soil Temperature (54 cm) Soil Moisture (0-1 cm) Soil Moisture (1-3 cm) Soil Moisture (3-9 cm) Soil Moisture (9-27 cm) Soil Moisture (27-81 cm) Additional Variables And Options -------------------------------- Is Day or Night Lightning Potential Index LPI (2) Updraft (2) Wet Bulb Temperature (2 m) Convective Cloud Base Convective Cloud Top CAPE Freezing Level Height Snowfall Height (1) Sunshine Duration Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Relative Humidity Cloud Cover Wind Speed Wind Direction Geopotential Height Temperature 1000 hPa (110 m) 975 hPa (320 m) 950 hPa (500 m) 925 hPa (800 m) 900 hPa (1000 m) 850 hPa (1500 m) 800 hPa (1900 m) 700 hPa (3 km) 600 hPa (4.2 km) 500 hPa (5.6 km) 400 hPa (7.2 km) 300 hPa (9.2 km) 250 hPa (10.4 km) 200 hPa (11.8 km) 150 hPa (13.5 km) 100 hPa (15.8 km) 70 hPa (17.7 km) 50 hPa (19.3 km) 30 hPa (22 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- DWD ICON Seamless DWD ICON Global DWD ICON EU DWD ICON D2 Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. 15-Minutely Weather Variables ----------------------------- Precipitation (rain + showers + snow) Rain Snowfall Snowfall Height Freezing Level Height CAPE Lightning Potential Index LPI Is Day or Night Sunshine Duration Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Only available in Central Europe and North America. Other regions use interpolated hourly data. Solar radiation is averaged over the 15 minutes. Use instant for radiation at the indicated time. Note: You can further adjust the forecast time range for 15-minutely weather variables using &forecast\_minutely\_15= and &past\_minutely\_15= as shown below. Forecast Minutely 15 Past Minutely 15 [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/dwd-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/dwd-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/dwd-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/dwd-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=icon_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=icon_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=icon_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/dwd-api#data_sources) This API uses global DWD ICON weather forecast and combines them with high-resolution ICON Europe and Central Europe forecasts. Information about DWD weather models is available [here](https://www.dwd.de/EN/ourservices/nwp_forecast_data/nwp_forecast_data.html) . For ICON Global and Europe, values are interpolated from 3-hourly to 1-hourly after 78 hours. 15-minutely data is only available for a small number of weather variables and only in Central Europe. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | ICON Global | Global | 0.1° (~11 km) | Hourly, 3-hourly after 78 hours | 7.5 days | Every 6 hours | | ICON Europe | Europe | 0.0625° (~7 km) | Hourly, 3-hourly after 78 hours | 5 days | Every 3 hours | | ICON D2 | Central Europe | 0.02° (~2 km) | 15-Minutely | 2 days | Every 3 hours | ![ICON D2 Modal Area](https://open-meteo.com/images/models/dwd_icon-d2.webp) ICON D2 Area. Source: [Open-Meteo](https://open-meteo.com/) . ![ICON EU Regional Model Area](https://open-meteo.com/images/models/dwd_icon-eu.webp) ICON EU Regional Model Area. Source: [Open-Meteo](https://open-meteo.com/) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/dwd-api#api_documentation) The API endpoint /v1/dwd-icon accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 7 days. Time always starts at 0:00 today and contains 168 hours. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | minutely\_15 | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &minutely\_15= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | current | String array | No | | A list of weather variables to get current conditions. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer (0-92) | No | 0 | If past\_days is set, yesterday or the day before yesterday data are also returned. | | forecast\_days | Integer (0-10) | No | 7 | Per default, only 7 days are returned. Up to 10 days of forecast are possible. | | forecast\_hours
forecast\_minutely\_15
past\_hours
past\_minutely\_15 | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly and 15-minutely data can controlled. Instead of using the current day as a reference, the current hour or the current 15-minute time-step is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour
start\_minutely\_15
end\_minutely\_15 | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly or 15 minutely data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/dwd-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude | | wind\_speed\_10m
wind\_speed\_80m
wind\_speed\_120m
wind\_speed\_180m | Instant | km/h (mph, m/s, knots) | Wind speed at 10, 80, 120 or 180 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_80m
wind\_direction\_120m
wind\_direction\_180m | Instant | ° | Wind direction at 10, 80, 120 or 180 meters above ground | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | lightning\_potential | Instant | J/kg | The Lightning Potential Index after [Lynn and Yair (2010)](https://adgeo.copernicus.org/articles/23/11/2010/adgeo-23-11-2010.pdf)
. It is calculated as a vertical integral of the squared updraft velocity weighted by a function that essentially contains the graupel concentration | | updraft | Instant | m/s | The maximum vertical updraft velocity within ground and 10 km altitude. | | evapotranspiration | Preceding hour sum | mm (inch) | Evapotranspration from land surface and plants that weather models assumes for this location. Available soil water is considered. 1 mm evapotranspiration per hour equals 1 liter of water per spare meter. | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | rain | Preceding hour sum | mm (inch) | Rain from large scale weather systems of the preceding hour in millimeter | | showers | Preceding hour sum | mm (inch) | Showers from convective precipitation in millimeters from the preceding hour | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. | | snow\_depth | Instant | meters | Snow depth on the ground | | snowfall\_height | Instant | meters | Height of snowfall limit above mean sea level. It is defined as the height where the wet bulb temperature first exceeds 1.3◦C. | | freezing\_level\_height | Instant | meters | Altitude above sea level of the 0°C level | | soil\_temperature\_0cm
soil\_temperature\_6cm
soil\_temperature\_18cm
soil\_temperature\_54cm | Instant | °C (°F) | Temperature in the soil at 0, 6, 18 and 54 cm depths. 0 cm is the surface temperature on land or water surface temperature on water. | | soil\_moisture\_0\_to\_1cm
soil\_moisture\_1\_to\_3cm
soil\_moisture\_3\_to\_9cm
soil\_moisture\_9\_to\_27cm
soil\_moisture\_27\_to\_81cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-1, 1-3, 3-9, 9-27 and 27-81 cm depths. | | cape | Instant | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | | visibility | Instant | meters | Viewing distance in meters. Influenced by low clouds, humidity and aerosols. | [### 15-Minutely Parameter Definition](https://open-meteo.com/en/docs/dwd-api#15_minutely_parameter_definition) The parameter &minutely\_15= can be used to get 15-minutely data. This data is based on the ICON-D2 model which is only available in Central Europe. If 15-minutely data is requested for locations outside Central Europe, data is interpolated from 1-hourly to 15-minutely. 15-minutely data can be requested for other weather variables that are available for hourly data, but will use interpolation. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | shortwave\_radiation | Preceding 15 minutes mean | W/m² | Shortwave solar radiation as average of the preceding 15 minutes. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding 15 minutes mean | W/m² | Direct solar radiation as average of the preceding 15 minutes on the horizontal plane and the normal plane (perpendicular to the sun) | | diffuse\_radiation | Preceding 15 minutes mean | W/m² | Diffuse solar radiation as average of the preceding 15 minutes | | global\_tilted\_irradiance | Preceding 15 minutes mean | W/m² | Total radiation received on a tilted pane as average of the 15 minutes. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding 15 minutes sum | Seconds | Number of seconds of sunshine of the preceding 15-minutes per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | lightning\_potential | Instant | J/kg | The Lightning Potential Index after [Lynn and Yair (2010)](https://adgeo.copernicus.org/articles/23/11/2010/adgeo-23-11-2010.pdf)
. It is calculated as a vertical integral of the squared updraft velocity weighted by a function that essentially contains the graupel concentration | | precipitation | Preceding 15 minutes sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding 15 minutes | | snowfall | Preceding 15 minutes sum | cm (inch) | Snowfall amount of the preceding 15 minutes in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | rain | Preceding 15 minutes sum | mm (inch) | Rain from large scale weather systems of the preceding 15 minutes in millimeter | | showers | Preceding 15 minutes sum | mm (inch) | Showers from convective precipitation in millimeters from the preceding 15 minutes | | snowfall\_height | Instant | meters | Height of snowfall limit above mean sea level. It is defined as the height where the wet bulb temperature first exceeds 1.3◦C. | | freezing\_level\_height | Instant | meters | Altitude above sea level of the 0°C level | | cape | Instant | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | [### Pressure Level Variables](https://open-meteo.com/en/docs/dwd-api#pressure_level_variables) Pressure level variables do not have fixed altitudes. Altitude varies with atmospheric pressure. 1000 hPa is roughly between 60 and 160 meters above sea level. Estimated altitudes are given below. Altitudes are in meters above sea level (not above ground). For precise altitudes, geopotential\_height can be used. | | | | | | | | | | | | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Level (hPa) | 1000 | 975 | 950 | 925 | 900 | 850 | 800 | 700 | 600 | 500 | 400 | 300 | 250 | 200 | 150 | 100 | 70 | 50 | 30 | | Altitude | 110 m | 320 m | 500 m | 800 m | 1000 m | 1500 m | 1900 m | 3 km | 4.2 km | 5.6 km | 7.2 km | 9.2 km | 10.4 km | 11.8 km | 13.5 km | 15.8 km | 17.7 km | 19.3 km | 22 km | All pressure levels have valid times of the indicated hour (instant). | Variable | Unit | Description | | --- | --- | --- | | temperature\_1000hPa
temperature\_975hPa, ... | °C (°F) | Air temperature at the specified pressure level. Air temperatures decrease linearly with pressure. | | relative\_humidity\_1000hPa
relative\_humidity\_975hPa, ... | % | Relative humidity at the specified pressure level. | | dew\_point\_1000hPa
dew\_point\_975hPa, ... | °C (°F) | Dew point temperature at the specified pressure level. | | cloud\_cover\_1000hPa
cloud\_cover\_975hPa, ... | % | Cloud cover at the specified pressure level. Cloud cover is approximated based on relative humidity using [Sundqvist et al. (1989)](https://www.ecmwf.int/sites/default/files/elibrary/2005/16958-parametrization-cloud-cover.pdf)
. It may not match perfectly with low, mid and high cloud cover variables. | | wind\_speed\_1000hPa
wind\_speed\_975hPa, ... | km/h (mph, m/s, knots) | Wind speed at the specified pressure level. | | wind\_direction\_1000hPa
wind\_direction\_975hPa, ... | ° | Wind direction at the specified pressure level. | | geopotential\_height\_1000hPa
geopotential\_height\_975hPa, ... | meter | Geopotential height at the specified pressure level. This can be used to get the correct altitude in meter above sea level of each pressure level. Be carefull not to mistake it with altitude above ground. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/dwd-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | temperature\_2m\_max
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | rain\_sum | mm | Sum of daily rain | | showers\_sum | mm | Sum of daily showers | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_hours | hours | The number of hours with rain | | weather\_code | WMO code | The most severe weather condition on a given day | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_speed\_10m\_max
wind\_gusts\_10m\_max | km/h (mph, m/s, knots) | Maximum wind speed and gusts on a day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | [### JSON Return Object](https://open-meteo.com/en/docs/dwd-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/dwd-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } [Weather variable documentation\ ------------------------------](https://open-meteo.com/en/docs/dwd-api#weather_variable_documentation) ### WMO Weather interpretation codes (WW) | Code | Description | | --- | --- | | 0 | Clear sky | | 1, 2, 3 | Mainly clear, partly cloudy, and overcast | | 45, 48 | Fog and depositing rime fog | | 51, 53, 55 | Drizzle: Light, moderate, and dense intensity | | 56, 57 | Freezing Drizzle: Light and dense intensity | | 61, 63, 65 | Rain: Slight, moderate and heavy intensity | | 66, 67 | Freezing Rain: Light and heavy intensity | | 71, 73, 75 | Snow fall: Slight, moderate, and heavy intensity | | 77 | Snow grains | | 80, 81, 82 | Rain showers: Slight, moderate, and violent | | 85, 86 | Snow showers slight and heavy | | 95 \* | Thunderstorm: Slight or moderate | | 96, 99 \* | Thunderstorm with slight and heavy hail | (\*) Thunderstorm forecast with hail is only available in Central Europe --- # GFS & HRRR API | Open-Meteo.com GFS & HRRR Forecast API ======================= Global GFS model combined with hourly HRRR updates at 3-km resolution By combining the reliable NOAA GFS weather model with the rapid updating HRRR weather model, this API provides unrivaled forecasts for the US region. For a global forecast, the [Weather Forecast API](https://open-meteo.com/en/docs) selects the most suitable weather models automatically to ensure optimal accuracy. [Location and Time\ -----------------](https://open-meteo.com/en/docs/gfs-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/gfs-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation Probability Precipitation (rain + showers + snow) Rain Showers Snowfall Snow Depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Evapotranspiration Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (80 m) Wind Direction (10 m) Wind Direction (80 m) Wind Gusts (10 m) Temperature (80 m) Surface Temperature Soil Temperature (0-10 cm) Soil Temperature (10-40 cm) Soil Temperature (40-100 cm) Soil Temperature (100-200 cm) Soil Moisture (0-10 cm) Soil Moisture (10-40 cm) Soil Moisture (40-100 cm) Soil Moisture (100-200 cm) Additional Variables And Options -------------------------------- UV Index UV Index Clear Sky Is Day or Night Sunshine Duration Wet Bulb Temperature (2 m) Total Column Integrated Water Vapour CAPE Lifted Index Convective Inhibition Freezing Level Height Boundary Layer Height PBL Mass Density (8 m) Thunderstorm Probability Rain Probability Snowfall Probability Freezing Rain Probability Ice Probability Precipitation Probability (>0.254 mm / 0.01") Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Dewpoint Relative Humidity Cloud Cover Wind Speed Wind Direction Vertical Velocity Geopotential Height Temperature 1000 hPa (110 m) 975 hPa (320 m) 950 hPa (500 m) 925 hPa (800 m) 900 hPa (1000 m) 875 hPa (1200 m) 850 hPa (1500 m) 825 hPa (1700 m) 800 hPa (1900 m) 775 hPa (2.2 km) 750 hPa (2.5 km) 725 hPa (2.7 km) 700 hPa (3 km) 675 hPa (3.3 km) 650 hPa (3.6 km) 625 hPa (3.9 km) 600 hPa (4.2 km) 575 hPa (4.5 km) 550 hPa (4.9 km) 525 hPa (5.2 km) 500 hPa (5.6 km) 475 hPa (6 km) 450 hPa (6.3 km) 425 hPa (6.8 km) 400 hPa (7.2 km) 375 hPa (7.6 km) 350 hPa (8.1 km) 325 hPa (8.6 km) 300 hPa (9.2 km) 275 hPa (9.7 km) 250 hPa (10.4 km) 225 hPa (11 km) 200 hPa (11.8 km) 175 hPa (12.6 km) 150 hPa (13.5 km) 125 hPa (14.6 km) 100 hPa (15.8 km) 70 hPa (17.7 km) 50 hPa (19.3 km) 40 hPa (20 km) 30 hPa (22 km) 20 hPa (23 km) 15 hPa (24 km) 10 hPa (26 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- GFS Seamless GFS Global 0.11°/0.25° HRRR Conus NBM Conus NAM Conus GFS GraphCast Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. 15-Minutely Weather Variables ----------------------------- Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Snowfall Sunshine Duration Weather code Wind Speed (10 m) Wind Speed (80 m) Wind Direction (10 m) Wind Direction (80 m) Wind Gusts (10 m) Visibility CAPE Is Day or Night Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Only available in Central Europe and North America. Other regions use interpolated hourly data. Solar radiation is averaged over the 15 minutes. Use instant for radiation at the indicated time. Note: You can further adjust the forecast time range for 15-minutely weather variables using &forecast\_minutely\_15= and &past\_minutely\_15= as shown below. Forecast Minutely 15 Past Minutely 15 [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/gfs-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration UV Index UV Index Clear Sky Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/gfs-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/gfs-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/gfs-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=gfs_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=gfs_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=gfs_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/gfs-api#data_sources) This API uses global NOAA GFS weather forecast and combines them with high-resolution HRRR forecasts. HRRR is a rapid-refresh model and updates every hour. High-resolution data are only available for the United States. For other locations, only GFS is used. For GFS, values are interpolated from 3-hourly to 1-hourly after 120 hours. | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [GFS](https://www.nco.ncep.noaa.gov/pmb/products/gfs/) | Global | 0.11° (~13 km) | Hourly, 3-hourly after 120 hours | 16 days | Every 6 hours | | [GFS Pressure Variables](https://www.nco.ncep.noaa.gov/pmb/products/gfs/) | Global | 0.25° (~25 km) | Hourly, 3-hourly after 120 hours | 16 days | Every 6 hours | | [HRRR Conus](https://rapidrefresh.noaa.gov/hrrr/) | U.S. Conus | 3 km | Hourly | 18 hours (48 hours for 0, 6, 12, 18z) | Every hour | | [NBM Conus](https://vlab.noaa.gov/web/mdl/nbm-documentation) | U.S. Conus | 2.5 km | Hourly, 3-Hourly after 36 hours, 6-Hourly after 8 days | 11 days | Every hour | | [NAM Conus](https://www.nco.ncep.noaa.gov/pmb/products/nam/) | U.S. Conus | 3 km | Hourly | 60 hours | Every 6 hours | | [GFS GraphCast (experimental)](https://registry.opendata.aws/noaa-nws-graphcastgfs-pds/) | Global | 0.25° (~25 km) | 6-hourly | 16 days | Every 6 hours | ![HRRR U.S.Conus Model Area](https://open-meteo.com/images/models/ncep_hrrr.webp) HRRR and NAM U.S.Conus Model Area. Source: [Open-Meteo](https://open-meteo.com/) . ![NBM U.S. Conus Model Area](https://open-meteo.com/images/models/ncep_nbm_conus.webp) NBM U.S. Conus Model Area. Source: [Open-Meteo](https://open-meteo.com/) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/gfs-api#api_documentation) The API endpoint /v1/gfs accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 7 days. Time always starts at 0:00 today and contains 168 hours. If &forecast\_days=16 is set, up to 16 days of forecast can be returned. All URL parameters are listed below: | | | | | | | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future!. | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | current | String array | No | | A list of weather variables to get current conditions. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer | No | 0 | If past\_days is set, past weather data can be returned. | | forecast\_days | Integer (0-16) | No | 7 | Per default, only 7 days are returned. Up to 16 days of forecast are possible. | | forecast\_hours
forecast\_minutely\_15
past\_hours
past\_minutely\_15 | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly and 15-minutely data can controlled. Instead of using the current day as a reference, the current hour or the current 15-minute time-step is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour
start\_minutely\_15
end\_minutely\_15 | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly or 15 minutely data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | [### Variable Per Model Availability](https://open-meteo.com/en/docs/gfs-api#variable_availability) Various weather variables and levels may be available for each NOAA NCEP model. Certain variables for the high-resolution GFS013 model are unavailable, so the standard GFS025 model is used instead. The local area models HRRR and NBM differentiate between rain and shower precipitation types. Probability data is directly available only for NBM, while Open-Meteo calculates precipitation probability for the GFS025 model. | Variable | GFS016 | GFS025 | HRRR | NBM | GraphCast | | --- | --- | --- | --- | --- | --- | | boundary\_layer\_height | x | | x | | | | cape | | x | x | x | | | categorical\_freezing\_rain | | x | x | | | | cloud\_cover | x | | x | x | x | | cloud\_cover low/mid/high | x | | x | | x | | convective\_inhibition | | x | x | | | | direct/diffuse radiation | x | | x | | | | freezing\_level\_height | | x | x | | | | latent\_heat\_flux | x | | x | | | | lifted\_index | | x | x | | | | mass\_density\_8m | | | x | | | | precipitation | x | | x | x | x | | pressure\_msl | | x | x | | x | | relative\_humidity\_2m | x | | x | x | | | sensible\_heat\_flux | x | | x | | | | shortwave\_radiation | x | | x | x | | | showers | x | | | | | | snow\_depth | x | | x | | | | snow\_fall | x | | x | x | | | surface\_temperature | x | | x | | | | temperature\_2m | x | | x | x | x | | total\_column\_integrated\_water\_vapour | x | | x | | | | uv\_index | x | | | | | | visibility | | x | x | x | | | wind 1000hPa | | x | x | | x | | wind 10m | x | | | x | | | wind 80m | | x | | x | | | wind\_gusts\_10m/ | | x | x | | | | Pressure Variables on hPa Levels | | | | | | | geopotential\_height | | x | x | | x | | relative\_humidity | | x | x | | x | | vertical\_velocity | | x | x | | x | | temperature | | x | x | | x | | cloud\_cover | | x | | | | | wind | | x | | x | | | Soil Variables | | | | | | | soil\_moisture | x | | | | | | soil\_temperature | x | | | | | | Probabilities | | | | | | | freezing\_rain\_probability | | | | x | | | ice\_pellets\_probability | | | | x | | | precipitation\_probability | | x | | x | | | rain\_probability | | | | x | | | snowfall\_probability | | | | x | | | thunderstorm\_probability | | | | x | | [### Hourly Parameter Definition](https://open-meteo.com/en/docs/gfs-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude | | wind\_speed\_10m
wind\_speed\_80m | Instant | km/h (mph, m/s, knots) | Wind speed at 10 or 80 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_80m | Instant | ° | Wind direction at 10 or 80 meters above ground | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). HRRR offers direct radiation directly. In GFS it is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. HRRR offers diffuse radiation directly. In GFS it is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | evapotranspiration | Preceding hour sum | mm (inch) | Evapotranspration from land surface and plants that weather models assumes for this location. Available soil water is considered. 1 mm evapotranspiration per hour equals 1 liter of water per spare meter. | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation, snowfall, cape, lifted index and gusts. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | precipitation\_probability | Preceding hour probability | % | Probability of precipitation with more than 0.1 mm of the preceding hour. Probability is based on ensemble weather models with 0.25° (~27 km) resolution. 30 different simulations are computed to better represent future weather conditions. | | snow\_depth | Instant | meters | Snow depth on the ground | | freezing\_level\_height | Instant | meters | Altitude above sea level of the 0°C level | | visibility | Instant | meters | Viewing distance in meters. Influenced by low clouds, humidity and aerosols. | | cape | Instant | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | | lifted\_index | Instant | dimensionless | Atmospheric stability. See [Wikipedia](https://en.wikipedia.org/wiki/Lifted_index)
. | | soil\_temperature\_0\_to\_10cm
soil\_temperature\_10\_to\_40cm
soil\_temperature\_40\_to\_100cm
soil\_temperature\_100\_to\_200cm | Instant | °C (°F) | Temperature in the soil as an average on 0-10, 10-40, 40-100 and 100-200 cm depths. | | soil\_moisture\_0\_to\_10cm
soil\_moisture\_10\_to\_40cm
soil\_moisture\_40\_to\_100cm
soil\_moisture\_100\_to\_200cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-10, 10-40, 40-100 and 100-200 cm depths. | [### 15-Minutely Parameter Definition](https://open-meteo.com/en/docs/gfs-api#15_minutely_parameter_definition) The parameter &minutely\_15= can be used to get 15-minutely data. This data is based on the HRRR model which is only available in North America. If 15-minutely data is requested for locations outside North America, data is interpolated from 1-hourly to 15-minutely. 15-minutely data can be requested for other weather variables that are available for hourly data, but will use interpolation. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | wind\_speed\_10m
wind\_speed\_80m | Instant | km/h (mph, m/s, knots) | Wind speed at 10 or 80 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_80m | Instant | ° | Wind direction at 10 or 80 meters above ground | | wind\_gusts\_10m | Preceding 15 minutes max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding 15 minutes | | shortwave\_radiation | Preceding 15 minutes mean | W/m² | Shortwave solar radiation as average of the preceding 15 minutes. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding 15 minutes mean | W/m² | Direct solar radiation as average of the preceding 15 minutes on the horizontal plane and the normal plane (perpendicular to the sun) | | diffuse\_radiation | Preceding 15 minutes mean | W/m² | Diffuse solar radiation as average of the preceding 15 minutes | | global\_tilted\_irradiance | Preceding 15 minutes mean | W/m² | Total radiation received on a tilted pane as average of the preceding 15 minutes. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding 15 minutes sum | Seconds | Number of seconds of sunshine of the preceding 15-minutes per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | precipitation | Preceding 15 minutes sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding 15 minutes | | snowfall | Preceding 15 minutes sum | cm (inch) | Snowfall amount of the preceding 15 minutes in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | rain | Preceding 15 minutes sum | mm (inch) | Rain from large scale weather systems of the preceding 15 minutes in millimeter | | cape | Instant | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | | visibility | Instant | meters | Viewing distance in meters. Influenced by low clouds, humidity and aerosols. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. | [### Pressure Level Variables](https://open-meteo.com/en/docs/gfs-api#pressure_level_variables) Pressure level variables do not have fixed altitudes. Altitude varies with atmospheric pressure. 1000 hPa is roughly between 60 and 160 meters above sea level. Estimated altitudes are given below. Altitudes are in meters above sea level (not above ground). For precise altitudes, geopotential\_height can be used. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Level (hPa) | 1000 | 975 | 950 | 925 | 900 | 875 | 850 | 825 | 800 | 775 | 750 | 725 | 700 | 675 | 650 | 625 | 600 | 575 | 550 | 525 | 500 | 475 | 450 | 425 | 400 | 375 | 350 | 325 | 300 | 275 | 250 | 225 | 200 | 175 | 150 | 125 | 100 | 70 | 50 | 40 | 30 | 20 | 15 | 10 | | Altitude | 110 m | 320 m | 500 m | 800 m | 1000 m | 1200 m | 1500 m | 1700 m | 1900 m | 2.2 km | 2.5 km | 2.7 km | 3 km | 3.3 km | 3.6 km | 3.9 km | 4.2 km | 4.5 km | 4.9 km | 5.2 km | 5.6 km | 6 km | 6.3 km | 6.8 km | 7.2 km | 7.6 km | 8.1 km | 8.6 km | 9.2 km | 9.7 km | 10.4 km | 11 km | 11.8 km | 12.6 km | 13.5 km | 14.6 km | 15.8 km | 17.7 km | 19.3 km | 20 km | 22 km | 23 km | 24 km | 26 km | All pressure levels have valid times of the indicated hour (instant). | Variable | Unit | Description | | --- | --- | --- | | weather\_code | WMO code | The most severe weather condition on a given day | | temperature\_1000hPa
temperature\_975hPa, ... | °C (°F) | Air temperature at the specified pressure level. Air temperatures decrease linearly with pressure. | | relative\_humidity\_1000hPa
relative\_humidity\_975hPa, ... | % | Relative humidity at the specified pressure level. | | dew\_point\_1000hPa
dew\_point\_975hPa, ... | °C (°F) | Dew point temperature at the specified pressure level. | | cloud\_cover\_1000hPa
cloud\_cover\_975hPa, ... | % | Cloud cover at the specified pressure level. GFS is including parameterised cloud cover directly. HRRR cloud cover is approximated based on relative humidity using [Sundqvist et al. (1989)](https://www.ecmwf.int/sites/default/files/elibrary/2005/16958-parametrization-cloud-cover.pdf)
. It may not match perfectly with low, mid and high cloud cover variables. | | wind\_speed\_1000hPa
wind\_speed\_975hPa, ... | km/h (mph, m/s, knots) | Wind speed at the specified pressure level. | | wind\_direction\_1000hPa
wind\_direction\_975hPa, ... | ° | Wind direction at the specified pressure level. | | geopotential\_height\_1000hPa
geopotential\_height\_975hPa, ... | meter | Geopotential height at the specified pressure level. This can be used to get the correct altitude in meter above sea level of each pressure level. Be carefull not to mistake it with altitude above ground. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/gfs-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | temperature\_2m\_max
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_hours | hours | The number of hours with rain | | precipitation\_probability\_max
precipitation\_probability\_min
precipitation\_probability\_mean | % | Probability of precipitation | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_speed\_10m\_max
wind\_gusts\_10m\_max | km/h (mph, m/s, knots) | Maximum wind speed and gusts on a day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | [### JSON Return Object](https://open-meteo.com/en/docs/gfs-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/gfs-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } --- # Météo-France API | Open-Meteo.com Météo-France API ================ Global ARPEGE model combined with high resolution AROME model The API leverages Météo-France's AROME and ARPEGE weather models, tailored for Central Europe and specifically France. With updates for AROME every hour, nowcast is provided for Central Europe. However, the maximum forecast range is 4 days. For broader use cases, the [Weather Forecast API](https://open-meteo.com/en/docs) is recommended, utilizing multiple local weather models for forecasts up to 16 days. [Location and Time\ -----------------](https://open-meteo.com/en/docs/meteofrance-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 4 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/meteofrance-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow) Rain Snowfall Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (20 m) Wind Speed (50 m) Wind Speed (100 m) Wind Speed (150 m) Wind Speed (200 m) Wind Direction (10 m) Wind Direction (20 m) Wind Direction (50 m) Wind Direction (100 m) Wind Direction (150 m) Wind Direction (200 m) Wind Gusts (10 m) Temperature (20 m) Temperature (50 m) Temperature (100 m) Temperature (150 m) Temperature (200 m) Additional Variables And Options -------------------------------- Is Day or Night Sunshine Duration CAPE Wet Bulb Temperature (2 m) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Dewpoint Relative Humidity Cloud Cover Wind Speed Wind Direction Geopotential Height Temperature 1000 hPa (110 m) 950 hPa (500 m) 925 hPa (800 m) 900 hPa (1000 m) 850 hPa (1500 m) 800 hPa (1900 m) 750 hPa (2.5 km) 700 hPa (3 km) 650 hPa (3.6 km) 600 hPa (4.2 km) 550 hPa (4.9 km) 500 hPa (5.6 km) 450 hPa (6.3 km) 400 hPa (7.2 km) 350 hPa (8.1 km) 300 hPa (9.2 km) 275 hPa (9.7 km) 250 hPa (10.4 km) 225 hPa (11 km) 200 hPa (11.8 km) 175 hPa (12.6 km) 150 hPa (13.5 km) 125 hPa (14.6 km) 100 hPa (15.8 km) 70 hPa (17.7 km) 50 hPa (19.3 km) 30 hPa (22 km) 20 hPa (23 km) 10 hPa (26 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- Best match ARPEGE Seamless ARPEGE World ARPEGE Europe AROME Seamless AROME France AROME France HD Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. 15-Minutely Weather Variables ----------------------------- Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation Probability Precipitation (rain + showers + snow) Rain Snowfall Wind Speed (10 m) Wind Speed (20 m) Wind Speed (50 m) Wind Speed (100 m) Wind Direction (10 m) Wind Direction (20 m) Wind Direction (50 m) Wind Direction (100 m) CAPE Is Day or Night Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Only available in Central Europe and North America. Other regions use interpolated hourly data. Solar radiation is averaged over the 15 minutes. Use instant for radiation at the indicated time. Note: You can further adjust the forecast time range for 15-minutely weather variables using &forecast\_minutely\_15= and &past\_minutely\_15= as shown below. Forecast Minutely 15 Past Minutely 15 [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/meteofrance-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration UV Index UV Index Clear Sky Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/meteofrance-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/meteofrance-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/meteofrance-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=meteofrance_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=meteofrance_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=meteofrance_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/meteofrance-api#data_sources) This API uses global Météo-France ARPEGE weather forecast and combines them with high-resolution AROME forecasts. AROME is a 1.5 km high resolution model covering France and neighboring areas. For other locations, only ARPEGE is used. For ARPEGE, values are interpolated from 3 or 6-hourly to 1-hourly values after 72 or 96 hours respectively. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [ARPEGE World](https://www.umr-cnrm.fr/spip.php?article121&lang=en) | Global | 0.25° (~25 km) | Hourly, 3-hourly after 2 days | 4 days | Every 6 hours | | [ARPEGE Europe](https://www.umr-cnrm.fr/spip.php?article121&lang=en) | Europe | 0.1° (~11 km) | Hourly | 4 days | Every 6 hours | | [ARPEGE Europe Probabilities](https://www.umr-cnrm.fr/spip.php?article121&lang=en) | Europe | 0.1° (~11 km) | 3-Hourly | 4 days | Every 12 hours | | [AROME France](https://www.umr-cnrm.fr/spip.php?article120) | France | 0.025° (~2.5 km) | Hourly | 2 days | Every 3 hours | | [AROME France HD](https://www.umr-cnrm.fr/spip.php?article120/)
(\*) | France | 0.01° (~1.5 km) | Hourly | 2 days | Every 3 hours | | [AROME France 15 minutely](https://www.umr-cnrm.fr/spip.php?article120) | France | 0.025° (~2.5 km) | Hourly | 6 hours | Every hour | | [AROME France HD 15 minutely](https://www.umr-cnrm.fr/spip.php?article120/)
(\*) | France | 0.01° (~1.5 km) | Hourly | 6 hours | Every hour | \* AROME France HD has the same model area, but at higher resolution with a smaller selection of weather variables. ![...](https://open-meteo.com/images/models/meteofrance_arome.webp) MeteoFrance AROME & AROME HD Model Area. Source: [Open-Meteo](https://open-meteo.com/) . ![...](https://open-meteo.com/images/models/meteofrance_arpege_europe.webp) MeteoFrance ARPEGE Model Area. Source: [Open-Meteo](https://open-meteo.com/) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/meteofrance-api#api_documentation) The API endpoint /v1/meteofrance accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 4 days. Time always starts at 0:00 today and contains 168 hours. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | current | String array | No | | A list of weather variables to get current conditions. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer | No | 0 | If past\_days is set, past weather data can be returned. | | forecast\_days | Integer (0-4) | No | 4 | Per default, 4 days are returned. Up to 4 days of forecast are possible. | | forecast\_hours
past\_hours | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly data can controlled. Instead of using the current day as a reference, the current hour is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | models | String array | No | auto | Manually select one or more weather models. Per default, the best suitable weather models will be combined. | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/meteofrance-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m
temperature\_20m
temperature\_50m
temperature\_100m
temperature\_150m
temperature\_200m | Instant | °C (°F) | Air temperature at 2 meters above ground (standard level) and upper air levels 20, 50, 100, 150 and 200 above ground. Upper air levels are not available in the AROME HD model. | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude | | wind\_speed\_10m
wind\_speed\_20m
wind\_speed\_50m
wind\_speed\_100m
wind\_speed\_150m
wind\_speed\_200m | Instant | km/h (mph, m/s, knots) | Wind speed at 10 meters above ground or upper air levels 20, 50, 100, 150 and 200 meter above ground. Wind speed on 10 meters is the standard level. Upper levels above 100 meter are not available in the AROME HD model. | | wind\_direction\_10m
wind\_direction\_20m
wind\_direction\_50m
wind\_direction\_100m
wind\_direction\_150m
wind\_direction\_200m | Instant | ° | Wind direction at 10 meters above ground and upper air levels. Upper levels above 100 meter are not available in the AROME HD model. | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). Météo-France does not offers diffuse and direct radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. HRRR offers diffuse radiation directly. Météo-France does not offers diffuse and direct radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation, snowfall, cape and gusts. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | cape | Instant | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | [### Pressure Level Variables](https://open-meteo.com/en/docs/meteofrance-api#pressure_level_variables) Pressure level variables do not have fixed altitudes. Altitude varies with atmospheric pressure. 1000 hPa is roughly between 60 and 160 meters above sea level. Estimated altitudes are given below. Altitudes are in meters above sea level (not above ground). For precise altitudes, geopotential\_height can be used. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Level (hPa) | 1000 | 950 | 925 | 900 | 850 | 800 | 750 | 700 | 650 | 600 | 550 | 500 | 450 | 400 | 350 | 300 | 275 | 250 | 225 | 200 | 175 | 150 | 125 | 100 | 70 | 50 | 30 | 20 | 10 | | Altitude | 110 m | 500 m | 800 m | 1000 m | 1500 m | 1900 m | 2.5 km | 3 km | 3.6 km | 4.2 km | 4.9 km | 5.6 km | 6.3 km | 7.2 km | 8.1 km | 9.2 km | 9.7 km | 10.4 km | 11 km | 11.8 km | 12.6 km | 13.5 km | 14.6 km | 15.8 km | 17.7 km | 19.3 km | 22 km | 23 km | 26 km | All pressure levels have valid times of the indicated hour (instant). | Variable | Unit | Description | | --- | --- | --- | | weather\_code | WMO code | The most severe weather condition on a given day | | temperature\_1000hPa
temperature\_975hPa, ... | °C (°F) | Air temperature at the specified pressure level. Air temperatures decrease linearly with pressure. | | relative\_humidity\_1000hPa
relative\_humidity\_975hPa, ... | % | Relative humidity at the specified pressure level. | | dew\_point\_1000hPa
dew\_point\_975hPa, ... | °C (°F) | Dew point temperature at the specified pressure level. | | cloud\_cover\_1000hPa
cloud\_cover\_975hPa, ... | % | Cloud cover at the specified pressure level. ARPEGE Wold and Europe includes parameterised cloud cover directly. AROME cloud cover is approximated based on relative humidity using [Sundqvist et al. (1989)](https://www.ecmwf.int/sites/default/files/elibrary/2005/16958-parametrization-cloud-cover.pdf)
. It may not match perfectly with low, mid and high cloud cover variables. | | wind\_speed\_1000hPa
wind\_speed\_975hPa, ... | km/h (mph, m/s, knots) | Wind speed at the specified pressure level. | | wind\_direction\_1000hPa
wind\_direction\_975hPa, ... | ° | Wind direction at the specified pressure level. | | geopotential\_height\_1000hPa
geopotential\_height\_975hPa, ... | meter | Geopotential height at the specified pressure level. This can be used to get the correct altitude in meter above sea level of each pressure level. Be carefull not to mistake it with altitude above ground. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/meteofrance-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | temperature\_2m\_max
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_hours | hours | The number of hours with rain | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_speed\_10m\_max
wind\_gusts\_10m\_max | km/h (mph, m/s, knots) | Maximum wind speed and gusts on a day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | [### JSON Return Object](https://open-meteo.com/en/docs/meteofrance-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/meteofrance-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } --- # MeteoSwiss ICON API | Open-Meteo.com MeteoSwiss ICON CH ================== Open data weather forecasts from MeteoSwiss [Location and Time\ -----------------](https://open-meteo.com/en/docs/meteoswiss-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 3 days Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/meteoswiss-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow) Rain Snowfall Snow Depth Evapotranspiration Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Weather code Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Additional Variables And Options -------------------------------- Is Day or Night Wet Bulb Temperature (2 m) Cloud Base CAPE Convective Inhibition Freezing Level Height Snowfall Height Sunshine Duration Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Weather models -------------- MeteoSwiss Seamless MeteoSwiss ICON CH1 MeteoSwiss ICON CH2 Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/meteoswiss-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/meteoswiss-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 1 hourly weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/meteoswiss-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/meteoswiss-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=47.37&longitude=8.55&hourly=temperature_2m&models=meteoswiss_icon_ch1&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=47.37&longitude=8.55&hourly=temperature_2m&models=meteoswiss_icon_ch1&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=47.37&longitude=8.55&hourly=temperature_2m&models=meteoswiss_icon_ch1) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/meteoswiss-api#data_sources) This API uses MeteoSwiss high-resolution ICON Central Europe forecasts. Information about MeteoSwiss weather models is available [here](https://www.meteoswiss.admin.ch/weather/warning-and-forecasting-systems/icon-forecasting-systems.html) . | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | ICON CH1 | Central Europe | 0.01° (~1 km) | Hourly | 33 hours | Every 3 hours | | ICON CH2 | Central Europe | 0.02° (~2 km) | Hourly | 120 hours | Every 6 hours | ![ICON CH1 Modal Area](https://open-meteo.com/_app/immutable/assets/meteoswiss_icon_ch1.B-gY702C.png) ICON CH1 & CH2 Model Area. Source: [Open-Meteo](https://open-meteo.com/) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/meteoswiss-api#api_documentation) For a detailed list of all available weather variables please refer to the general [Weather Forecast API](https://open-meteo.com/en/docs) . Only notable remarks are listed below * **Grid and Projection:** MeteoSwiss data is originally provided on an unstructured icosahedral grid. To enable fast access and map rendering, Open-Meteo reprojects the data onto a rotated lat/lon grid with similar resolution. The domain area is cropped by 20 km along the borders to eliminate edge artifacts. * **Precipitation:** With the high spatial resolution of 1–2 km, the model captures intense, convective showers. However, due to the highly localised nature of these events, actual precipitation at a specific location may be over- or underestimated. Precipitation probability is derived from all ensemble members to indicate the likelihood of precipitation occurring. * **Direct Solar Radiation:** The ICON models from MeteoSwiss include direct solar radiation as a native output. In contrast, many other weather models only supply global radiation, requiring users to estimate direct radiation via separation models. * **Wind, Temperature, and Cloud Forecasts at Heights of 100m and Above:** Forecasts at elevated height levels are not yet integrated. If this data is of interest to you, please reach out to discuss possible integration. * **Sunshine Duration** is natively computed by the ICON model. For other weather models, Open-Meteo derives sunshine duration using direct normal irradiance (DNI). * **Snowfall and Freezing Level Height** may show invalid values if the computed level lies below ground. To address this, Open-Meteo adjusts these levels to extend below ground level when necessary—similar to the handling in models like GFS. * **CAPE and Convective Inhibition** are calculated using mean-layer values, consistent with other ICON domains. Convective inhibition may be -1 indicating that the model could not calculate convective inhibition. --- # ECMWF Forecast API | Open-Meteo.com ECMWF Weather Forecast API ========================== Full Resolution 1-hourly IFS HRES at 9 km ECMWF transitioned to open-data on 1st October 2025, and Open-Meteo is pleased to provide access to the IFS forecasts at the full native 9 km resolution without any additional delay under open-data CC-BY 4.0 licence! [Location and Time\ -----------------](https://open-meteo.com/en/docs/ecmwf-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 10 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/ecmwf-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow + showers) Rain Showers Snowfall Surface Water Runoff Visibility Weather Code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Sunshine Duration Potential Evapotranspiration Reference Evapotranspiration (ET₀) Wind Speed (10 m) Wind Speed (100 m) Wind Speed (200 m) Wind Direction (10 m) Wind Direction (100 m) Wind Direction (200 m) Wind Gusts (10 m) CAPE Convective Inhibition Total Column Integrated Water Vapour Vapour Pressure Deficit Surface temperature Soil Temperature (0-7 cm) Soil Temperature (7-28 cm) Soil Temperature (28-100 cm) Soil Temperature (100-255 cm) Soil Moisture (0-7 cm) Soil Moisture (7-28 cm) Soil Moisture (28-100 cm) Soil Moisture (100-255 cm) Additional Variables And Options -------------------------------- Is Day or Night Temperature 3-Hourly Minimum (2 m) Temperature 3-Hourly Maximum (2 m) Wet Bulb Temperature (2 m) Precipitation Type Roughness Length z₀ Albedo K-Index Snowfall (Water Equivalent) Snow Depth (Water Equivalent) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Relative Humidity Cloud Cover Wind Speed Wind Direction Vertical Velocity Geopotential Height Temperature 1000 hPa (110 m) 925 hPa (800 m) 850 hPa (1500 m) 700 hPa (3 km) 600 hPa (4.2 km) 500 hPa (5.6 km) 400 hPa (7.2 km) 300 hPa (9.2 km) 250 hPa (10.4 km) 200 hPa (11.8 km) 150 hPa (13.5 km) 100 hPa (15.8 km) 50 hPa (19.3 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- ECMWF IFS HRES 9km ECMWF IFS 0.25° ECMWF AIFS 0.25° Single Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Settings\ --------](https://open-meteo.com/en/docs/ecmwf-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/ecmwf-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=ecmwf_ifs&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=ecmwf_ifs&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=ecmwf_ifs) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/ecmwf-api#data_sources) This API provides access to both real-time IFS HRES 9 km forecasts and [open-data ECMWF IFS and AIFS 0.25°](https://www.ecmwf.int/en/forecasts/datasets/open-data) . Different weather models may use different temporal resolutions. The Open-Meteo API dynamically interpolates all data to a consistent 1-hourly time-series for up to 15 days. * The ECMWF IFS model runs every 6 hours at a 9 km resolution. Open-Meteo delivers the full native 9 km IFS forecasts on the reduced Gaussian grid O1280, ensuring direct, original ECMWF outputs at the highest resolution. The first 90 forecast hours use 1-hourly data, switching to 3-hourly after 90 hours and 6 hourly after 144 hours. * The open-data IFS 0.25 updates every 6 hours, but only offers 0.25° resolution and 3- and 6-hourly data. The open-data distribution has an additional delay of 2 hours compared to the real-time IFS dissemination. * AIFS is ECMWF’s artificial intelligence weather model, delivering improved performance compared to GraphCast and other AI-based models. Currently, only 6-hourly time steps are available. More details about AIFS can be found [here](https://www.ecmwf.int/en/about/media-centre/aifs-blog) . As ECMWF expands its data offering, new AIFS products will also be integrated into this API. For higher-resolution local forecasts, we recommend the [Generic Weather Forecast API](https://open-meteo.com/en/docs) , which integrates models down to 1 km resolution. ECMWF ensemble forecasts are available via the [Ensemble API](https://open-meteo.com/en/docs/ensemble-api) , ECMWF WAM wave forecasts can be accessed through the [Marine Forecast API](https://open-meteo.com/en/docs/marine-weather-api) , and HRES IFS data are archived in the [Historical Weather API](https://open-meteo.com/en/docs/historical-weather-api) . | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [IFS HRES](https://www.ecmwf.int/en/forecasts/datasets/set-i) | Global | 9 km (O1280 grid) | 1-Hourly (3-hourly after 90 hours, 6-hourly after 144 hours) | 15 days | Every 6 hours | | [IFS 0.25 Open-Data](https://www.ecmwf.int/en/forecasts/datasets/open-data) | Global | 0.25° (~25 km) | 3-Hourly (6-hourly after 144 hours) | 15 days | Every 6 hours | | [AIFS Single](https://www.ecmwf.int/en/forecasts/datasets/open-data) | Global | 0.25° (~28 km) | 6-Hourly | 15 days | Every 6 hours | [API Documentation\ -----------------](https://open-meteo.com/en/docs/ecmwf-api#api_documentation) The API endpoint /v1/ecmwf accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 10 days. Time always starts at 0:00 today. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all time is then in GMT+0! For daily values with unix timestamp, please apply utc\_offset\_seconds again to get the correct date. | | past\_days | Integer (0-92) | No | 0 | If past\_days is set, yesterday or the day before yesterday data are also returned. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/ecmwf-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as and average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent. Snowfall amount is not provided by ECMWF directly, instead it is approximated based on total precipitation and temperature | | precipitation\_type | Instantaneous | mm (inch) | 0 = No precipitation, 1 = Rain, 3 = Freezing rain (i.e. supercooled raindrops which freeze on contact with the ground and other surfaces), 5 = Snow, 6 = Wet snow (i.e. snow particles which are starting to melt), 7 = Mixture of rain and snow, 8 = Ice pellets, 12 = Freezing drizzle (i.e. supercooled drizzle which freezes on contact with the ground and other surfaces) | | runoff | Preceding hour sum | mm (inch) | Execess rain that is not absorbed by the soil | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation and snowfall. As ECMWF IFS has barely no information about atmospheric stability, estimation about thunderstorms is not possible. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction. Calculated as a weighted function from low, mid and high level clouds. | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude. In case of ECMWF IFS it is based on relative humidity on pressure levels 1000, 925 and 850 hPa. | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude. In case of ECMWF IFS it is based on relative humidity on pressure levels 700 and 500 hPa. | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude. In case of ECMWF IFS it is based on relative humidity on pressure levels 300, 250 and 200 hPa. | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to sea level (Mean sea level) and actual pressure at surface level | | surface\_temperature | Instant | °C (°F) | Temperature of the the surface. Depending on the type of surface (e.g. concrete) this temperature can be significantly higher then the 2 meter air temperature | | soil\_temperature\_0\_7cm
soil\_temperature\_7\_to\_28cm
soil\_temperature\_28\_to\_100cm
soil\_temperature\_100\_to\_255cm | Instant | °C (°F) | Average temperature of different soil depths below ground. | | soil\_moisture\_0\_to\_7cm
soil\_moisture\_7\_to\_28cm
soil\_moisture\_28\_to\_100cm
soil\_moisture\_100\_to\_255cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-7, 7-28, 28-100 and 100-255 cm depths. | | total\_column\_integrated\_water\_vapour | Instant | kg/m² | Total amount of water in the atmosphere. | | temperature\_2m
temperature\_1000hPa, ... | Instant | °C (°F) | Air temperature 2 meter above ground. Additional temperature in the atmopshere are given on different pressure levels. | | temperature\_2m\_min
temperature\_2m\_max | Preceding 3-hour | °C (°F) | Minimum and maximum temperature of the preceding 3 hours. | | geopotential\_height\_1000hPa | Instant | meter | Geopotential height on different atmospheric pressure levels | | wind\_speed\_10m
wind\_speed\_1000hPa, ... | Instant | km/h (mph, m/s, knots) | Wind speed at 10 meters above ground. Wind speed on 10 meters is the standard level. Additional wind speeds are given on atmospheric pressure levels. | | wind\_direction\_10m
wind\_direction\_1000hPa, ... | Instant | ° | Wind direction at 10 meters above ground and different pressure levels. | | wind\_gusts\_10m | Preceding 3-hour max | km/h (mph, m/s, knots) | Maximum 3 second wind at 10 m height above ground as a maximum of the preceding 3 hours | | relative\_humidity\_1000hPa, ... | Instant | % | Relative humidity at atmospheric pressure levels. Unfortunately, 2 meter relative humidity is unavailable. | | cloud\_cover\_1000hPa, ... | Instant | % | Cloud cover at the specified pressure level. Cloud cover is approximated based on relative humidity using [Sundqvist et al. (1989)](https://www.ecmwf.int/sites/default/files/elibrary/2005/16958-parametrization-cloud-cover.pdf) | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). ECMWF IFS open-data does not provide direct and diffuse radiation. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. Similar to direct radiation, it is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | [### JSON Return Object](https://open-meteo.com/en/docs/ecmwf-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/ecmwf-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } [Weather variable documentation\ ------------------------------](https://open-meteo.com/en/docs/ecmwf-api#weather_variable_documentation) ### WMO Weather interpretation codes (WW) | Code | Description | | --- | --- | | 0 | Clear sky | | 1, 2, 3 | Mainly clear, partly cloudy, and overcast | | 45, 48 | Fog and depositing rime fog | | 51, 53, 55 | Drizzle: Light, moderate, and dense intensity | | 56, 57 | Freezing Drizzle: Light and dense intensity | | 61, 63, 65 | Rain: Slight, moderate and heavy intensity | | 66, 67 | Freezing Rain: Light and heavy intensity | | 71, 73, 75 | Snow fall: Slight, moderate, and heavy intensity | | 77 | Snow grains | | 80, 81, 82 | Rain showers: Slight, moderate, and violent | | 85, 86 | Snow showers slight and heavy | | 95 \* | Thunderstorm: Slight or moderate | | 96, 99 \* | Thunderstorm with slight and heavy hail | (\*) Thunderstorm forecast with hail is only available in Central Europe --- # JMA API | Open-Meteo.com JMA API ======= 5-km high resolution forecasts for Japan, Korea, parts of China and Russia The API is optimised for Japan, utilizing JMA global GSM and local MSM models. However, for most use-cases, we recommend the [generic Weather Forecast API](https://open-meteo.com/en/docs) . [Location and Time\ -----------------](https://open-meteo.com/en/docs/jma-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/jma-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Snowfall Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Wind Speed (10 m) Wind Direction (10 m) Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Additional Variables And Options -------------------------------- Is Day or Night Sunshine Duration Wet Bulb Temperature (2 m) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Dewpoint Relative Humidity Cloud Cover Wind Speed Wind Direction Vertical Velocity Geopotential Height Temperature 1000 hPa (110 m) 975 hPa (320 m) 950 hPa (500 m) 925 hPa (800 m) 900 hPa (1000 m) 850 hPa (1500 m) 800 hPa (1900 m) 700 hPa (3 km) 600 hPa (4.2 km) 500 hPa (5.6 km) 400 hPa (7.2 km) 300 hPa (9.2 km) 250 hPa (10.4 km) 200 hPa (11.8 km) 150 hPa (13.5 km) 100 hPa (15.8 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- JMA Seamless JMA MSM JMA GSM Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/jma-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration Rain Sum Snowfall Sum Precipitation Sum Precipitation Hours Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/jma-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/jma-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/jma-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=jma_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=jma_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=jma_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/jma-api#data_sources) This API uses global and local weather models from the Japan Meteorological Agency JMA. Due to data licence restrictions only a limited version of data is available. A list of official JMA data is available on the [JMA website](https://www.jma.go.jp/jma/en/Activities/nwp.html) . For GSM, values are interpolated from 6-hourly to 1-hourly values. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | GSM | Global | 0.5° (~55 km) | 6-Hourly | 11 days | Every 6 hours | | MSM | Japan, Korea | 0.05° (~5 km) | Hourly | 4 days | Every 3 hours | | MSM Pressure Level | Japan, Korea | 0.1° (~11 km) | 3-Hourly | 4 days | Every 3 hours | JMA models like RSM are not available. ![...](https://open-meteo.com/images/models/jma_msm.webp) JMA MSM model area. Source: [Open-Meteo](https://open-meteo.com/) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/jma-api#api_documentation) The API endpoint /v1/jma accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 4 days. Time always starts at 0:00 today and contains 168 hours. All URL parameters are listed below: | | | | | | | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | current | String array | No | | A list of weather variables to get current conditions. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer | No | 0 | If past\_days is set, past weather data can be returned. | | forecast\_days | Integer (0-11) | No | 7 | Per default, 7 days are returned. Up to 11 days of forecast are possible. | | forecast\_hours
past\_hours | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly data can controlled. Instead of using the current day as a reference, the current hour is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/jma-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude | | wind\_speed\_10m | Instant | km/h (mph, m/s, knots) | Wind speed at 10 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m | Instant | ° | Wind direction at 10 meters above ground | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). JMA does not offers diffuse and direct radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. MA does not offers diffuse and direct radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation and snowfall. As JMA has barely no information about atmospheric stability, estimation about thunderstorms is not possible. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent. Snowfall amount is not provided by JMA directly, instead it is approximated based on total precipitation and temperature | [### Pressure Level Variables](https://open-meteo.com/en/docs/jma-api#pressure_level_variables) Pressure level variables do not have fixed altitudes. Altitude varies with atmospheric pressure. 1000 hPa is roughly between 60 and 160 meters above sea level. Estimated altitudes are given below. Altitudes are in meters above sea level (not above ground). For precise altitudes, geopotential\_height can be used. | | | | | | | | | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Level (hPa) | 1000 | 975 | 950 | 925 | 900 | 850 | 800 | 700 | 600 | 500 | 400 | 300 | 250 | 200 | 150 | 100 | | Altitude | 110 m | 320 m | 500 m | 800 m | 1000 m | 1500 m | 1900 m | 3 km | 4.2 km | 5.6 km | 7.2 km | 9.2 km | 10.4 km | 11.8 km | 13.5 km | 15.8 km | All pressure levels have valid times of the indicated hour (instant). | Variable | Unit | Description | | --- | --- | --- | | temperature\_1000hPa
temperature\_975hPa, ... | °C (°F) | Air temperature at the specified pressure level. Air temperatures decrease linearly with pressure. | | relative\_humidity\_1000hPa
relative\_humidity\_975hPa, ... | % | Relative humidity at the specified pressure level. | | dew\_point\_1000hPa
dew\_point\_975hPa, ... | °C (°F) | Dew point temperature at the specified pressure level. | | cloud\_cover\_1000hPa
cloud\_cover\_975hPa, ... | % | Cloud cover at the specified pressure level. JMA models do not inlude parameterised cloud cover directly. It is approximated based on relative humidity using [Sundqvist et al. (1989)](https://www.ecmwf.int/sites/default/files/elibrary/2005/16958-parametrization-cloud-cover.pdf)
. It may not match perfectly with low, mid and high cloud cover variables. | | wind\_speed\_1000hPa
wind\_speed\_975hPa, ... | km/h (mph, m/s, knots) | Wind speed at the specified pressure level. | | wind\_direction\_1000hPa
wind\_direction\_975hPa, ... | ° | Wind direction at the specified pressure level. | | geopotential\_height\_1000hPa
geopotential\_height\_975hPa, ... | meter | Geopotential height at the specified pressure level. This can be used to get the correct altitude in meter above sea level of each pressure level. Be carefull not to mistake it with altitude above ground. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/jma-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | weather\_code | WMO code | The most severe weather condition on a given day | | temperature\_2m\_max
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | precipitation\_hours | hours | The number of hours with rain | | snowfall\_sum | cm | Sum of daily snowfall | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | [### JSON Return Object](https://open-meteo.com/en/docs/jma-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/jma-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } --- # UK Met Office API | Open-Meteo.com UK Met Office API ================= Weather forecasts from the United Kingdom's national weather and climate service UKMO UK Met Office data is provided under the [CC BY-SA 4.0](https://creativecommons.org/licences/by-sa/4.0/deed.en) licence. Therefore, any derived products from this data should also be redistributed under the same or a compatible licence. Typically, Open-Meteo provides data under [CC BY 4.0](https://creativecommons.org/licences/by/4.0/deed.en) . [Location and Time\ -----------------](https://open-meteo.com/en/docs/ukmo-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/ukmo-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Showers Snowfall Hail Weather code Visibility Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Cloud Cover / Fog (2m) Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Additional Variables And Options -------------------------------- Is Day or Night Wet Bulb Temperature (2 m) CAPE Convective Inhibition Freezing Level Height Sunshine Duration Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Height Level Variables ---------------------- Temperature Cloud Cover Wind Speed Wind Direction Temperature 20 m 30 m 50 m 75 m 100 m 150 m 200 m 250 m 300 m 400 m 500 m 600 m 700 m 800 m 1000 m 1250 m 1500 m 1750 m 2000 m 2250 m 2500 m 2750 m 3000 m 3250 m 3500 m 3750 m 4000 m 4500 m 5000 m 5500 m 6000 m Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Pressure Level Variables ------------------------ Temperature Relative Humidity Cloud Cover Wind Speed Wind Direction Vertical Velocity Geopotential Height Temperature 1000 hPa (110 m) 975 hPa (320 m) 950 hPa (500 m) 925 hPa (800 m) 900 hPa (1000 m) 850 hPa (1500 m) 800 hPa (1900 m) 750 hPa (2.5 km) 700 hPa (3 km) 650 hPa (3.6 km) 600 hPa (4.2 km) 550 hPa (4.9 km) 500 hPa (5.6 km) 450 hPa (6.3 km) 400 hPa (7.2 km) 375 hPa (7.6 km) 350 hPa (8.1 km) 325 hPa (8.6 km) 300 hPa (9.2 km) 275 hPa (9.7 km) 250 hPa (10.4 km) 225 hPa (11 km) 200 hPa (11.8 km) 175 hPa (12.6 km) 150 hPa (13.5 km) 125 hPa (14.6 km) 100 hPa (15.8 km) 70 hPa (17.7 km) 50 hPa (19.3 km) 40 hPa (20 km) 30 hPa (22 km) 20 hPa (23 km) 10 hPa (26 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- UK Met Office Seamless UK Met Office Global 10km UK Met Office UK 2km Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/ukmo-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/ukmo-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/ukmo-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/ukmo-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=51.5085&longitude=-0.1257&hourly=temperature_2m&models=ukmo_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=51.5085&longitude=-0.1257&hourly=temperature_2m&models=ukmo_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=51.5085&longitude=-0.1257&hourly=temperature_2m&models=ukmo_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/ukmo-api#data_sources) This API uses global UKMO Global 10 km weather forecasts and combines them with high-resolution UKV 2 km model for the United Kingdom and Ireland. Information about UKMO weather models is available [here](https://www.metoffice.gov.uk/services/data/external-data-channels) . For UKMO Global, values are interpolated from 3-hourly to 1-hourly after 54 hours and from 6-hourly data after 144 hours. Note: UKMO open-data has an additional delay of 4 hours. The forecast is therefore not as accurate as it could be. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | UKMO Global | Global | 0.09° (~10 km) | Hourly, 3-hourly after 54 hours, 6-hourly after 144 hours | 7 days | Every 6 hours | | UKMO UKV | UK and Ireland | 2 km | Hourly | 2 days | Every hour | ![...](https://open-meteo.com/images/models/ukmo_2km_ukv.webp) UKMO UKV 2km model covering UK and Ireland. Source: UK Met Office. [API Documentation\ -----------------](https://open-meteo.com/en/docs/ukmo-api#api_documentation) For a detailed list of all available weather variables please refer to the general [Weather Forecast API](https://open-meteo.com/en/docs) . Only notable remarks are listed below * **Solar radiation:**UKMO supplies shortwave radiation as instantaneous values. Open-Meteo transforms these into backward-averaged radiation to align with the definition used by other weather models. However, in the global domain, data shifts to 6-hour intervals, rendering instantaneous values useless at that temporal resolution. As a result, solar radiation forecasts are only offered for a 2-day forecast horizon, where 1-hourly data remains available. * **Direct Solar Radiation:** UKMO provides direct solar radiation. Many other weather models only provide global solar radiation and direct solar radiation must be calculated user separation models. * **Wind, temperature and cloud forecasts on height levels 100m and above:** Forecasts at different levels above ground are only available for the 2 km UKV model. * **Cloud Cover (2m):** UKMO UKV 2 km provides cloud cover at 2 metre above ground which can be interpreted as fog. This is remarkable, because only very weather models are capable of modeling low level cloud cover and fog with a good degree of accuracy. --- # MET Norway API | Open-Meteo.com MET Norway API ============== Hourly updates & 1 km forecasts for Scandinavia The API makes use of MET Nordic weather models exclusively for North Europe, offering exceptional short-term weather forecasts with hourly updates and 1 km resolution. However, for longer forecasts of up to 16 days, the [generic Weather Forecast API](https://open-meteo.com/en/docs) transparently combines MET Nordic with other weather models to take advantage of hourly updates. [Location and Time\ -----------------](https://open-meteo.com/en/docs/metno-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 3 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/metno-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow) Rain Snowfall Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Additional Variables And Options -------------------------------- Is Day or Night Sunshine Duration Wet Bulb Temperature (2 m) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Weather models -------------- MET Norway Nordic Seamless (with ECMWF) MET Norway Nordic Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Current Weather\ ---------------](https://open-meteo.com/en/docs/metno-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/metno-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/metno-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=59.91&longitude=10.75&hourly=temperature_2m&models=metno_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=59.91&longitude=10.75&hourly=temperature_2m&models=metno_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=59.91&longitude=10.75&hourly=temperature_2m&models=metno_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/metno-api#data_sources) This API uses local weather models from the Norwegian Meteorological Institute. The [MET Nordic](https://github.com/metno/NWPdocs/wiki/MET-Nordic-dataset) dataset is derived from the 2.5 km MetCoOp ensemble model with ECMWF initialization. With post-processing based on measurement & radar and with updates every hour, the short-term forecast performance skill should be high. Unfortunately, only 2.5 days of forecast are available. The Open-Meteo [weather forecast API](https://open-meteo.com/en/docs) automatically uses MET Nordic in combination with larger scale models to offer a 7 days forecast. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [MET Nordic](https://github.com/metno/NWPdocs/wiki/MET-Nordic-dataset) | Norway, Denmark, Sweden, Finland | 1 km | Hourly | 2.5 days | Every hour | ![...](https://open-meteo.com/_app/immutable/assets/metno_nordic.BpYurGCM.png) MET Nordic model area (marked in red). Source: [Met Norway GitHub](https://github.com/metno/NWPdocs/wiki/MEPS-dataset) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/metno-api#api_documentation) The API endpoint /v1/metno accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 2.5 days. Time always starts at 0:00 today. Data is only available in the Scandinavian region. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | current | String array | No | | A list of weather variables to get current conditions. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all time is then in GMT+0! For daily values with unix timestamp, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer (0-92) | No | 0 | If past\_days is set, yesterday or the day before yesterday data are also returned. | | forecast\_days | Integer (0-3) | No | 3 | Per default, 3 days are returned. Up to 3 days of forecast are possible. | | forecast\_hours
past\_hours | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly data can controlled. Instead of using the current day as a reference, the current hour is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/metno-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as and average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to sea level (Mean sea level) and actual pressure at surface level | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | wind\_speed\_10m | Instant | km/h (mph, m/s, knots) | Wind speed at 10 meters above ground. Wind speed on 10 meters is the standard level.. | | wind\_direction\_10m | Instant | ° | Wind direction at 10 meters above ground. | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. MET Nordic does not offers diffuse and direct radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation, snowfall and gusts. As MET Nordic has barely no information about atmospheric stability, estimation about thunderstorms is not possible. | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent. Snowfall amount is not provided by MET Nordic directly, instead it is approximated based on total precipitation and temperature | [### JSON Return Object](https://open-meteo.com/en/docs/metno-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/metno-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } --- # UK Met Office API | Open-Meteo.com KMA Weather API =============== Weather forecasts from the Korea Meteorological Administration KMA [Location and Time\ -----------------](https://open-meteo.com/en/docs/kma-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/kma-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow + showers) Rain Showers Snowfall Weather code Visibility Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Cloud Cover / Fog (2m) Wind Speed (10 m) Wind Direction (10 m) Wind Speed (50 m) Wind Gusts (10 m) Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Additional Variables And Options -------------------------------- Is Day or Night Wet Bulb Temperature (2 m) CAPE Sunshine Duration Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Weather models -------------- KMA Seamless KMA GDPS 12km KMA LDPS 1.5km Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/kma-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/kma-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 1 or 3-hourly weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/kma-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/kma-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=51.5085&longitude=-0.1257&hourly=temperature_2m&models=kma_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=51.5085&longitude=-0.1257&hourly=temperature_2m&models=kma_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=51.5085&longitude=-0.1257&hourly=temperature_2m&models=kma_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/kma-api#data_sources) This API uses global KMA GDPS 10 km weather forecasts and combines them with high-resolution LDPS 1.5 km model for the North and South Korea. Information about KMA weather models is available [here](https://www.kma.go.kr/eng/biz/forecast_02.jsp) . For GDPS Global, values are interpolated from 3-hourly to 1-hourly time-steps. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | KMA GDPS | Global | 0.13° (~12 km) | 3-Hourly | 12 days | Every 6 hours | | KMA LDPS | South And North Korea | 1.5 km | Hourly | 2 days | Every 6 hours | ![...](https://open-meteo.com/images/models/kma_ldps.webp) KMA LDPS domain area at 1.5 km resolution. Source: [Open-Meteo](https://open-meteo.com/) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/kma-api#api_documentation) For a detailed list of all available weather variables please refer to the general [Weather Forecast API](https://open-meteo.com/en/docs) . Only notable remarks are listed below * **Direct Solar Radiation:** KMA provides direct solar radiation. Many other weather models only provide global solar radiation and direct solar radiation must be calculated user separation models. * **Cloud Cover (2m):** KMA provides cloud cover at 2 metre above ground which can be interpreted as fog. This is remarkable, because only very weather models are capable of modeling low level cloud cover and fog with a good degree of accuracy. * **Showers:**Showers are only computed in the global GDPS model. Since LDPS is a convection-resolving model, it incorporates showers within the regular rain parameter, resulting in a constant value of 0 for the showers variable in LDPS. --- # BOM ACCESS-G Weather Model API | Open-Meteo.com BOM Forecast API ================ Weather forecasts from the Australian Bureau of Meteorology BOM is currently upgrading its key platforms and services. During this process, open-data delivery has been temporarily suspended. We look forward to BOM resuming open-data access soon so that high-resolution forecasts are once again available to Australian citizens. This API provides weather forecasts based on the global ACCESS-G model from the Australian Bureau of Meteorology (BOM). For more comprehensive applications, we recommend the [Weather Forecast API](https://open-meteo.com/en/docs) , which utilises multiple local weather models for forecasts extending up to 16 days. [Location and Time\ -----------------](https://open-meteo.com/en/docs/bom-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/bom-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Showers Snowfall Snow Depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (40 m) Wind Speed (80 m) Wind Speed (120 m) Wind Direction (10 m) Wind Direction (40 m) Wind Direction (80 m) Wind Direction (120 m) Wind Gusts (10 m) Surface Temperature Soil Temperature (0-10 cm) Soil Temperature (10-35 cm) Soil Temperature (35-100 cm) Soil Temperature (100-300 cm) Soil Moisture (0-10 cm) Soil Moisture (10-35 cm) Soil Moisture (35-100 cm) Soil Moisture (100-300 cm) Additional Variables And Options -------------------------------- Is Day or Night Sunshine Duration Wet Bulb Temperature (2 m) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. \- (default) Forecast Hours \- (default) Past Hours 1 Hourly Temporal Resolution For Hourly Data Terrain Optimised, Prefers Land Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/bom-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration UV Index UV Index Clear Sky Precipitation Sum Rain Sum Showers Sum Snowfall Sum Precipitation Hours Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Settings\ --------](https://open-meteo.com/en/docs/bom-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/bom-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=bom_access_global&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=bom_access_global&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=bom_access_global) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/bom-api#data_sources) The API relies on weather forecasts generated by the ACCESS-G model from the Australian Bureau of Meteorology (BOM). It presents data in 1-hour intervals, delivering forecasts for a duration of up to 10 days. The model undergoes four daily runs at 0:00, 6:00, 12:00, and 18:00 UTC. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [ACCESS-G](http://www.bom.gov.au/nwp/doc/access/NWPData.shtml) | Global | 0.15° (~15 km) | Hourly | 10 days | Every 6 hours | [API Documentation\ -----------------](https://open-meteo.com/en/docs/bom-api#api_documentation) The API endpoint /v1/bom accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 7 days. Time always starts at 0:00 today and contains 168 hours. If &forecast\_days=16 is set, up to 10 days of forecast can be returned. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer | No | 0 | If past\_days is set, past weather data can be returned. | | forecast\_days | Integer (0-16) | No | 7 | Per default, only 7 days are returned. Up to 16 days of forecast are possible. | | forecast\_hours
past\_hours | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly data can controlled. Instead of using the current day as a reference, the current hour is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/bom-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude | | wind\_speed\_10m
wind\_speed\_40m
wind\_speed\_80m
wind\_speed\_120m | Instant | km/h (mph, m/s, knots) | Wind speed at 10, 40, 80 or 120 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_40m
wind\_direction\_80m
wind\_direction\_120m | Instant | ° | Wind direction at 10, 40, 80 or 120 meters above ground | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation, snowfall, cape, lifted index and gusts. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | rain | Preceding hour sum | mm (inch) | Rain from large scale weather systems of the preceding hour in millimeter | | showers | Preceding hour sum | mm (inch) | Showers from convective precipitation in millimeters from the preceding hour | | snow\_depth | Instant | meters | Snow depth on the ground | | visibility | Instant | meters | Viewing distance in meters. Influenced by low clouds, humidity and aerosols. | | soil\_temperature\_0\_to\_10cm
soil\_temperature\_10\_to\_35cm
soil\_temperature\_35\_to\_100cm
soil\_temperature\_100\_to\_300cm | Instant | °C (°F) | Temperature in the soil as an average on 0-10, 10-35, 35-100 and 100-300 cm depths. | | soil\_moisture\_0\_to\_10cm
soil\_moisture\_10\_to\_35cm
soil\_moisture\_35\_to\_100cm
soil\_moisture\_100\_to\_300cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-10, 10-35, 35-100 and 100-300 cm depths. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/bom-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | temperature\_2m\_max
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_hours | hours | The number of hours with rain | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_speed\_10m\_max
wind\_gusts\_10m\_max | km/h (mph, m/s, knots) | Maximum wind speed and gusts on a day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | [### JSON Return Object](https://open-meteo.com/en/docs/bom-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/bom-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } --- # 🏛️ Historical Weather API | Open-Meteo.com Historical Weather API ====================== Discover how weather has shaped our world from 1940 until now Now, with the addition of the 9-kilometre ECMWF IFS model, the historical weather API provides access to a staggering 90 terabytes of meteorological data! Read the [blog article](https://open.substack.com/pub/openmeteo/p/processing-90-tb-historical-weather) . [Location and Time\ -----------------](https://open-meteo.com/en/docs/historical-weather-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Start date End date You can access past weather data dating back to 1940. However, there is a 5-day delay in the data. If you want information for the most recent days, you can use the [forecast API](https://open-meteo.com/en/docs "Weather forecast API") and adjust the Past Days setting. Quick: 2000-2009 2010-2019 2020 2021 2022 2023 2024 2025 [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/historical-weather-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow) Rain Snowfall Snow depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (100 m) Wind Direction (10 m) Wind Direction (100 m) Wind Gusts (10 m) Soil Temperature (0-7 cm) Soil Temperature (7-28 cm) Soil Temperature (28-100 cm) Soil Temperature (100-255 cm) Soil Moisture (0-7 cm) Soil Moisture (7-28 cm) Soil Moisture (28-100 cm) Soil Moisture (100-255 cm) Additional Variables And Options -------------------------------- Boundary Layer Height PBL Wet Bulb Temperature (2 m) Total Column Integrated Water Vapour Is Day or Night Sunshine Duration Albedo (only CERRA) Snow Depth Water Equivalent (only CERRA) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. 1 Hourly Temporal Resolution For Hourly Data Terrain Optimised, Prefers Land Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) ERA5-Ensemble Spread Variables ------------------------------ Temperature (2 m) Dewpoint (2 m) Precipitation (rain + snow) Snowfall Shortwave Solar Radiation GHI Direct Solar Radiation Sea Level Pressure Cloud Cover Low Cloud Cover Mid Cloud Cover High Wind Speed (10 m) Wind Speed (100 m) Wind Direction (10 m) Wind Direction (100 m) Wind Gusts (10 m) Soil Temperature (0-7 cm) Soil Temperature (7-28 cm) Soil Temperature (28-100 cm) Soil Temperature (100-255 cm) Soil Moisture (0-7 cm) Soil Moisture (7-28 cm) Soil Moisture (28-100 cm) Soil Moisture (100-255 cm) Note: Ensemble spread variables are available if the model ERA5-Ensemble is used. Reanalysis models ----------------- Best match ECMWF IFS ECMWF IFS Analysis Long-Window ERA5-Seamless ERA5 ERA5-Land ERA5-Ensemble CERRA Note: The default Best Match combines IFS HRES, ERA5 and ERA5-Land seamlessly. The CERRA model will also be included in Best Match once real-time updates become available. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/historical-weather-api#daily_weather_variables) Weather code Mean Temperature (2 m) Maximum Temperature (2 m) Minimum Temperature (2 m) Mean Apparent Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration Precipitation Sum Rain Sum Snowfall Sum Precipitation Hours Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) Additional Daily Variables -------------------------- Mean Temperature (2 m) Mean Apparent Temperature (2 m) Mean Cloud Cover Maximum Cloud Cover Minimum Cloud Cover Mean Dewpoint (2 m) Maximum Dewpoint (2 m) Minimum Dewpoint (2 m) Reference Evapotranspiration Sum (ET₀) Mean Relative Humidity (2 m) Maximum Relative Humidity (2 m) Minimum Relative Humidity (2 m) Snowfall Water Equivalent Sum Mean Sea Level Pressure Maximum Sea Level Pressure Minimum Sea Level Pressure Mean Surface Pressure Maximum Surface Pressure Minimum Surface Pressure Dominant Wind Direction (10m) Maximum Wind Gusts (10 m) Maximum Wind Speed (10 m) Mean Wind Gusts (10 m) Mean Wind Speed (10 m) Minimum Wind Gusts (10 m) Minimum Wind Speed (10 m) Mean Wet Bulb Temperature (2 m) Maximum Wet Bulb Temperature (2 m) Minimum Wet Bulb Temperature (2 m) Maximum Vapour Pressure Deficit Mean Soil Moisture (0-100 cm) Mean Soil Moisture (0-7 cm) Mean Soil Moisture (28-100 cm) Mean Soil Moisture (7-28 cm) Mean Soil Temperature (0-100 cm) Mean Soil Temperature (0-7 cm) Mean Soil Temperature (28-100 cm) Mean Soil Temperature (7-28 cm) [Settings\ --------](https://open-meteo.com/en/docs/historical-weather-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/historical-weather-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://archive-api.open-meteo.com/v1/archive?latitude=52.52&longitude=13.41&start_date=2026-01-05&end_date=2026-01-19&hourly=temperature_2m&format=xlsx) [Download CSV](https://archive-api.open-meteo.com/v1/archive?latitude=52.52&longitude=13.41&start_date=2026-01-05&end_date=2026-01-19&hourly=temperature_2m&format=csv) API URL ([Open in new tab](https://archive-api.open-meteo.com/v1/archive?latitude=52.52&longitude=13.41&start_date=2026-01-05&end_date=2026-01-19&hourly=temperature_2m) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/historical-weather-api#data_sources) The Historical Weather API is based on reanalysis datasets and uses a combination of weather station, aircraft, buoy, radar, and satellite observations to create a comprehensive record of past weather conditions. These datasets are able to fill in gaps by using mathematical models to estimate the values of various weather variables. As a result, reanalysis datasets are able to provide detailed historical weather information for locations that may not have had weather stations nearby, such as rural areas or the open ocean. The models for historical weather data use a spatial resolution of 9 km to resolve fine details close to coasts or complex mountain terrain. In general, a higher spatial resolution means that the data is more detailed and represents the weather conditions more accurately at smaller scales. The ECMWF IFS dataset has been meticulously assembled by Open-Meteo using simulation runs at 0z and 12z, employing the most up-to-date version of IFS. This dataset offers the utmost resolution and precision in depicting historical weather conditions. However, when studying climate change over decades, it is advisable to exclusively utilise ERA5 or ERA5-Land. This choice ensures data consistency and prevents unintentional alterations that could arise from the adoption of different weather model upgrades. You can access data dating back to 1940 with a delay of 2 days. If you're looking for weather information from the previous day, our [Forecast API](https://open-meteo.com/en/docs "Weather Forecast API documentation") offers the &past\_days= feature for your convenience. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Data Set | Region | Spatial Resolution | Temporal Resolution | Data Availability | Update frequency | | --- | --- | --- | --- | --- | --- | | [ECMWF IFS](https://www.ecmwf.int/en/forecasts/documentation-and-support/changes-ecmwf-model) | Global | 9 km | Hourly | 2017 to present | Daily with 2 days delay | | [ERA5](https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels?tab=overview) | Global | 0.25° (~25 km) | Hourly | 1940 to present | Daily with 5 days delay | | [ERA5-Land](https://cds.climate.copernicus.eu/datasets/reanalysis-era5-land?tab=overview) | Global | 0.1° (~11 km) | Hourly | 1950 to present | Daily with 5 days delay | | [ERA5-Ensemble](https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels?tab=overview) | Global | 0.5° (~55 km) | 3-Hourly | 1940 to present | Daily with 5 days delay | | [CERRA](https://cds.climate.copernicus.eu/datasets/reanalysis-cerra-single-levels?tab=overview) | Europe | 5 km | Hourly | 1985 to June 2021 | \- | | [ECMWF IFS Assimilation Long-Window](https://confluence.ecmwf.int/display/FUG/Section+2.5+Model+Data+Assimilation%2C+4D-Var) | Global | 9 km | 6-Hourly | 2024 to present | Daily with 2 days delay | Different reanalysis models may include different sets of weather variables. For instance, ERA5 offers a full range of variables but only at 0.25° resolution, whereas ERA5-Land focuses on surface conditions like temperature, humidity, soil temperature, and soil moisture. CERRA covers most variables but excludes soil temperature and moisture. IFS includes nearly all variables except snow depth, while IFA Assimilation omits precipitation, snowfall, and solar radiation. | | | | | | | | --- | --- | --- | --- | --- | --- | 1 ERA5-Land is driven by atmospheric variables from ERA5 as its "forcing," meaning it relies on the same data as ERA5. 2 Only with model “ERA5-Seamless” merging temperature and humidity from ERA5-Land with wind and solar radiation from ERA5. | Variable | ERA5 0.25° | ERA5-Land 0.1° | CERRA | IFS 9-km | IFS 9-km Assimilation | | --- | --- | --- | --- | --- | --- | | Temperature, Relative Humidity, Dew-point, Vapour Pressure Deficit | x | x | x | x | x | | Soil Temperature & Moisture | x | x | \- | x | x | | Precipitation, Rain, Snowfall | x | \-\*1 | x | x | \- | | Solar Radiation | x | \-\*1 | x | x | x | | Snow Depth | \- | x | x | \- | \- | | Wind Speed & Direction | x | \-\*1 | x | x | x | | Wind Gusts | \- | x | x | x | \- | | Apparent Temperature, Reference Evapotranspiration (ET₀) | x\*2 | x | x | x | \- | [API Documentation\ -----------------](https://open-meteo.com/en/docs/historical-weather-api#api_documentation) The API endpoint /v1/archive allows users to retrieve historical weather data for a specific location and time period. To use this endpoint, you can specify a geographical coordinate, a time interval, and a list of weather variables that they are interested in. The endpoint will then return the requested data in a format that can be easily accessed and used by applications or other software. This endpoint can be very useful for researchers and other users who need to access detailed historical weather data for specific locations and time periods. All URL parameters are listed below: | | | | | | | --- | --- | --- | --- | --- |Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future. | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude
longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | start\_date
end\_date | String (yyyy-mm-dd) | Yes | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-12-31). | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all time is then in GMT+0! For daily values with unix timestamp, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | [### Hourly Parameter Definition](https://open-meteo.com/en/docs/historical-weather-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as and average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour. Data is stored with a 0.1 mm precision. If precipitation data is summed up to monthly sums, there might be small inconsistencies with the total precipitation amount. | | rain | Preceding hour sum | mm (inch) | Only liquid precipitation of the preceding hour including local showers and rain from large scale systems. | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 2 km altitude | | cloud\_cover\_mid | Instant | % | Mid level clouds from 2 to 6 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 6 km altitude | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | wind\_speed\_10m
wind\_speed\_100m | Instant | km/h (mph, m/s, knots) | Wind speed at 10 or 100 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_100m | Instant | ° | Wind direction at 10 or 100 meters above ground | | wind\_gusts\_10m | Instant | km/h (mph, m/s, knots) | Gusts at 10 meters above ground of the indicated hour. Wind gusts in CERRA are defined as the maximum wind gusts of the preceding hour. Please consult the [ECMWF IFS documentation](https://www.ecmwf.int/en/elibrary/81271-ifs-documentation-cy47r3-part-iv-physical-processes)
for more information on how wind gusts are parameterized in weather models. | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation and snowfall. As barely no information about atmospheric stability is available, estimation about thunderstorms is not possible. | | snow\_depth | Instant | meters | Snow depth on the ground. Snow depth in ERA5-Land tends to be overestimated. As the spatial resolution for snow depth is limited, please use it with care. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | soil\_temperature\_0\_to\_7cm
soil\_temperature\_7\_to\_28cm
soil\_temperature\_28\_to\_100cm
soil\_temperature\_100\_to\_255cm | Instant | °C (°F) | Average temperature of different soil levels below ground. | | soil\_moisture\_0\_to\_7cm
soil\_moisture\_7\_to\_28cm
soil\_moisture\_28\_to\_100cm
soil\_moisture\_100\_to\_255cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-7, 7-28, 28-100 and 100-255 cm depths. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/historical-weather-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | weather\_code | WMO code | The most severe weather condition on a given day | | temperature\_2m\_max
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | rain\_sum | mm | Sum of daily rain | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_hours | hours | The number of hours with rain | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_speed\_10m\_max
wind\_gusts\_10m\_max | km/h (mph, m/s, knots) | Maximum wind speed and gusts on a day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiaion on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | [### JSON Return Object](https://open-meteo.com/en/docs/historical-weather-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/historical-weather-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } [Citation & Acknowledgement\ --------------------------](https://open-meteo.com/en/docs/historical-weather-api#citation) We encourage researchers in the field of meteorology and related disciplines to cite Open-Meteo and its sources in their work. Citing not only gives proper credit but also promotes transparency, reproducibility, and collaboration within the scientific community. Together, let's foster a culture of recognition and support for open-data initiatives like Open-Meteo, ensuring that future researchers can benefit from the valuable resources it provides. Citation: APA MLA Harvard BibTex Zippenfenig, P. (2023). Open-Meteo.com Weather API \[Computer software\]. Zenodo. [https://doi.org/10.5281/ZENODO.7970649](https://doi.org/10.5281/ZENODO.7970649 "zenodo publication") Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A., Muñoz Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers, D., Simmons, A., Soci, C., Dee, D., Thépaut, J-N. (2023). ERA5 hourly data on single levels from 1940 to present \[Data set\]. ECMWF. [https://doi.org/10.24381/cds.adbb2d47](https://doi.org/10.24381/cds.adbb2d47 "era5-land") Muñoz Sabater, J. (2019). ERA5-Land hourly data from 2001 to present \[Data set\]. ECMWF. [https://doi.org/10.24381/CDS.E2161BAC](https://doi.org/10.24381/CDS.E2161BAC "era5-land") Schimanke S., Ridal M., Le Moigne P., Berggren L., Undén P., Randriamampianina R., Andrea U., Bazile E., Bertelsen A., Brousseau P., Dahlgren P., Edvinsson L., El Said A., Glinton M., Hopsch S., Isaksson L., Mladek R., Olsson E., Verrelle A., Wang Z.Q. (2021). CERRA sub-daily regional reanalysis data for Europe on single levels from 1984 to present \[Data set\]. ECMWF. [https://doi.org/10.24381/CDS.622A565A](https://doi.org/10.24381/CDS.622A565A "cerra") Generated using Copernicus Climate Change Service information 2022. --- # KNMI Weather Model API | Open-Meteo.com KNMI Forecast API ================= Weather forecasts from the Royal Netherlands Meteorological Institute [Location and Time\ -----------------](https://open-meteo.com/en/docs/knmi-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/knmi-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow) Rain Snowfall Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (50 m) Wind Speed (100 m) Wind Speed (200 m) Wind Speed (300 m) Wind Direction (10 m) Wind Direction (50 m) Wind Direction (100 m) Wind Direction (200 m) Wind Direction (300 m) Wind Gusts (10 m) Surface Temperature Temperature (5 m) Temperature (100 m) Temperature (200 m) Temperature (300 m) Additional Variables And Options -------------------------------- Is Day or Night Wet Bulb Temperature (2 m) Sunshine Duration Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. \- (default) Forecast Hours \- (default) Past Hours 1 Hourly Temporal Resolution For Hourly Data Terrain Optimised, Prefers Land Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Dewpoint Relative Humidity Cloud Cover Wind Speed Wind Direction Geopotential Height Temperature 925 hPa (800 m) 850 hPa (1500 m) 700 hPa (3 km) 500 hPa (5.6 km) 300 hPa (9.2 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- KNMI Seamless (with ECMWF) KNMI Harmonie Arome Europe KNMI Harmonie Arome Netherlands Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/knmi-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration UV Index UV Index Clear Sky Precipitation Sum Rain Sum Showers Sum Snowfall Sum Precipitation Hours Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Settings\ --------](https://open-meteo.com/en/docs/knmi-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/knmi-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=knmi_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=knmi_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=knmi_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/knmi-api#data_sources) KNMI provides weather forecasts from the HARMONIE AROME model with ECMWF IFS initialization. This is a collaboration of multiple European national weather services under the name "United Weather Centres-West" (UWC-West). Two model configuration one for Europe (5.5 km resolution) and an inset for the Netherlands (2 km resolution) are available. All data is updated hourly and provides forecast for up to 2.5 days. After 2.5 days, Open-Meteo combines forecasts with the [ECMWF IFS 0.25° model](https://open-meteo.com/en/docs/ecmwf-api) to provide up to 10 days of forecast. | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [KNMI HARMONIE AROME Netherlands](https://dataplatform.knmi.nl/dataset/harmonie-arome-cy43-p1-1-0) | Netherlands, Belgium | 2 km | 1-hourly | 2.5 days | Every hour | | [KNMI HARMONIE AROME Europe](https://dataplatform.knmi.nl/dataset/harmonie-arome-cy43-p3-1-0) | Central & Northern Europe up to Iceland | 5.5 km | 1-hourly | 2.5 days | Every hour | ![...](https://open-meteo.com/_app/immutable/assets/knmi_harmonie.w97tD0C6.jpg) KNMI HARMONIE AROME model area Europe (blue/red) and Netherlands nest (green). Source: [KMNI Blog](https://english.knmidata.nl/latest/newsletters/open-data-newsletter/2024/open-data-march-2024) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/knmi-api#api_documentation) For a detailed list of all available weather variables please refer to the general [Weather Forecast API](https://open-meteo.com/en/docs) . Only notable remarks are listed below * **Solar Radiation:** KNMI supplies only global solar radiation data and does not offer direct or diffuse solar radiation. Open-Meteo applies the separation model from [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) to calculate direct radiation from shortwave solar radiation. * **Wind Direction Correction:** Wind direction has been calculated from U/V wind component vectors. Special care has been taken to correct for the Rotated Lat Long projection. Without this correction, wind directions have an error of up to 15°. * **Wind on 50, 100, 200, 300m:** Wind forecasts for higher altitudes are only available for the Netherlands area. * **Pressure Level Data:** Forecasts on pressure level are only available for the European model. --- # ItaliaMeteo ARPAE ICON-2i | Open-Meteo.com ItaliaMeteo ARPAE ICON-2i ========================= Open data weather forecasts from the Italian weather service ItaliaMeteo [Location and Time\ -----------------](https://open-meteo.com/en/docs/italia-meteo-arpae-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 3 days Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/italia-meteo-arpae-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Showers Snowfall Snow Depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Evapotranspiration Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Soil Temperature (0 cm) Soil Temperature (6 cm) Soil Temperature (18 cm) Soil Temperature (54 cm) Soil Temperature (162 cm) Soil Temperature (486 cm) Soil Temperature (1458 cm) Soil Moisture (0-1 cm) Soil Moisture (1-3 cm) Soil Moisture (3-9 cm) Soil Moisture (9-27 cm) Soil Moisture (27-81 cm) Soil Moisture (81-243 cm) Soil Moisture (243-729 cm) Soil Moisture (729-2187 cm) Additional Variables And Options -------------------------------- Is Day or Night Lightning Potential Index LPI (2) Wet Bulb Temperature (2 m) Convective Inhibition CAPE Freezing Level Height Snowfall Height (1) Sunshine Duration Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Relative Humidity Cloud Cover Wind Speed Wind Direction Vertical Velocity Geopotential Height Temperature 1000 hPa (110 m) 925 hPa (800 m) 850 hPa (1500 m) 700 hPa (3 km) 500 hPa (5.6 km) 250 hPa (10.4 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/italia-meteo-arpae-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration Rain Sum Showers Sum Snowfall Sum Precipitation Sum Precipitation Hours Precipitation Probability Max Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/italia-meteo-arpae-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 1 hourly weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/italia-meteo-arpae-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/italia-meteo-arpae-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=41.89&longitude=12.51&hourly=temperature_2m&models=italia_meteo_arpae_icon_2i&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=41.89&longitude=12.51&hourly=temperature_2m&models=italia_meteo_arpae_icon_2i&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=41.89&longitude=12.51&hourly=temperature_2m&models=italia_meteo_arpae_icon_2i) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/italia-meteo-arpae-api#data_sources) This API provides access to the ICON-2I model from ItaliaMeteo-ARPAE. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | ICON 2I | Southern Europe | 0.02° (~2 km) | 1-Hourly | 3 days | Every 12 hours | ![ICON 2I Modal Area](https://open-meteo.com/_app/immutable/assets/italiameteo_icon-2i_original.8kYhrF4s.png) ICON 2I Area. Source: [Open-Meteo](https://open-meteo.com/) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/italia-meteo-arpae-api#api_documentation) For a detailed list of all available weather variables please refer to the general [Weather Forecast API](https://open-meteo.com/en/docs) . --- # DMI Weather Model API | Open-Meteo.com DMI Forecast API ================ Weather forecasts from the Danish Meteorological Institute [Location and Time\ -----------------](https://open-meteo.com/en/docs/dmi-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/dmi-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow) Rain Snowfall Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Cloud Cover / Fog (2m) Visibility Cloud Base Cloud Top Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (50 m) Wind Speed (100 m) Wind Speed (150 m) Wind Speed (250 m) Wind Speed (350 m) Wind Speed (450 m) Wind Direction (10 m) Wind Direction (50 m) Wind Direction (100 m) Wind Direction (150 m) Wind Direction (250 m) Wind Direction (350 m) Wind Direction (450 m) Wind Gusts (10 m) Surface Temperature Temperature (50 m) Temperature (100 m) Temperature (150 m) Temperature (250 m) Additional Variables And Options -------------------------------- Is Day or Night Sunshine Duration Freezing Level Height Wet Bulb Temperature (2 m) CAPE Convective Inhibition Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. \- (default) Forecast Hours \- (default) Past Hours 1 Hourly Temporal Resolution For Hourly Data Terrain Optimised, Prefers Land Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Weather models -------------- DMI Seamless (with ECMWF) DMI Harmonie Arome Europe Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/dmi-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration UV Index UV Index Clear Sky Precipitation Sum Rain Sum Showers Sum Snowfall Sum Precipitation Hours Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Settings\ --------](https://open-meteo.com/en/docs/dmi-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/dmi-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=dmi_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=dmi_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=dmi_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/dmi-api#data_sources) DMI provides weather forecasts from the HARMONIE AROME model with ECMWF IFS initialization. This is a collaboration of multiple European national weather services under the name "United Weather Centres-West" (UWC-West). Forecasts for Europe use 2 km resolution and provide a large range of weather variables. All data is updated every 3 hours and provides forecast for up to 2.5 days. After 2.5 days, Open-Meteo combines forecasts with the [ECMWF IFS 0.25° model](https://open-meteo.com/en/docs/ecmwf-api) to provide up to 10 days of forecast. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [DMI HARMONIE AROME DINI](https://opendatadocs.dmi.govcloud.dk/Data/Forecast_Data_Weather_Model_HARMONIE_DINI_IG) | Central & Northern Europe up to Iceland (green area below) | 2 km | 1-hourly | 2.5 days | Every 3 hours | ![...](https://open-meteo.com/_app/immutable/assets/dmi_harmonie_dini-ig.JLnBJEA-.jpg) DMI HARMONIE AROME DINI model area (green). Source: [DMI](https://opendatadocs.dmi.govcloud.dk/Data/Forecast_Data_Weather_Model_HARMONIE_DINI_IG) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/dmi-api#api_documentation) For a detailed list of all available weather variables please refer to the general [Weather Forecast API](https://open-meteo.com/en/docs) . Only notable remarks are listed below * **Direct Solar Radiation:** DMI provides direct solar radiation. Many other weather models only provide global solar radiation and direct solar radiation must be calculated user separation models. * **Direct Normalized Irradiance (DNI):** Although DNI is available, it has not been integrated. Open-Meteo uses solar position algorithms which calculate DNI from direct radiation with (almost) the same results. * **Wind Direction Correction:** Wind direction has been calculated from U/V wind component vectors. Special care has been taken to correct for the Lambert Conformal Conic projection. Without this correction, wind directions have an error of up to 15°. * **Cloud Cover (2m):** DMI provides cloud cover at 2 metre abouve ground which can be interpreted as fog. This is remarkable, because only very weather models are capable of modeling low level cloud cover and fog with a good degree of accuracy. --- # 🌡️ Climate API | Open-Meteo.com Climate API =========== Explore Climate Change on a Local Level with High-Resolution Climate Data Read the [blog article](https://openmeteo.substack.com/p/climate-change-api) with more information about climate models and how data is downscaled to 10 km resolution. [Location and Time\ -----------------](https://open-meteo.com/en/docs/climate-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Start date End date Past weather forecasts from 2022 onwards are available. Quick: 1950-2050 2015-2050 [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/climate-api#daily_weather_variables) Mean Temperature (2 m) Maximum Temperature (2 m) Minimum Temperature (2 m) Mean Wind Speed (10 m) Max Wind Speed (10 m) Mean Cloud Cover Shortwave Radiation Sum Mean Relative Humidity (2 m) Maximum Relative Humidity (2 m) Minimum Relative Humidity (2 m) Mean Dewpoint (2 m) Minimum Dewpoint (2 m) Maximum Dewpoint (2 m) Precipitation Sum Rain Sum Snowfall Sum Sea Level Pressure Mean Soil Moisture (0-10 cm) Reference Evapotranspiration (ET₀) Climate models -------------- 7 / 7 CMCC\_CM2\_VHR4 FGOALS\_f3\_H HiRAM\_SIT\_HR MRI\_AGCM3\_2\_S EC\_Earth3P\_HR MPI\_ESM1\_2\_XR NICAM16\_8S [Settings\ --------](https://open-meteo.com/en/docs/climate-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted Raw data disabled. Statistic downscaling with ERA5-Land (10km) [API Response\ ------------](https://open-meteo.com/en/docs/climate-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://climate-api.open-meteo.com/v1/climate?latitude=52.52&longitude=13.41&start_date=1950-01-01&end_date=2050-12-31&models=CMCC_CM2_VHR4,FGOALS_f3_H,HiRAM_SIT_HR,MRI_AGCM3_2_S,EC_Earth3P_HR,MPI_ESM1_2_XR,NICAM16_8S&daily=temperature_2m_max&format=xlsx) [Download CSV](https://climate-api.open-meteo.com/v1/climate?latitude=52.52&longitude=13.41&start_date=1950-01-01&end_date=2050-12-31&models=CMCC_CM2_VHR4,FGOALS_f3_H,HiRAM_SIT_HR,MRI_AGCM3_2_S,EC_Earth3P_HR,MPI_ESM1_2_XR,NICAM16_8S&daily=temperature_2m_max&format=csv) API URL ([Open in new tab](https://climate-api.open-meteo.com/v1/climate?latitude=52.52&longitude=13.41&start_date=1950-01-01&end_date=2050-12-31&models=CMCC_CM2_VHR4,FGOALS_f3_H,HiRAM_SIT_HR,MRI_AGCM3_2_S,EC_Earth3P_HR,MPI_ESM1_2_XR,NICAM16_8S&daily=temperature_2m_max) or copy this URL into your application) Note: This API call is equivalent to **1844.5** calls because of factors like long time intervals, the number of locations, variables, or models involved. [Data Sources\ ------------](https://open-meteo.com/en/docs/climate-api#data_sources) This API utilises regional downscaled climate models with up to 20 kilometre resolution from the [HighResMip working group](https://hrcm.ceda.ac.uk/research/cmip6-highresmip/ "CMIP6 HighResMIP") , which are part of the IPCC CMIP6 project. The API offers climate data at a regional, rather than continental, level by downsizing it to a 10 km resolution. This allows for direct comparison of various climate models to identify vulnerable regions to climate change impacts or assessing the impact of climate change on specific sectors, such as agriculture or public health. The reference point used is ERA5-Land, which is accessible through the [Historical Weather API](https://open-meteo.com/en/docs/historical-weather-api "Historical Weather Information via API") . With typical weather variables in daily resolution data from 1950 to 2050 data allows estimation of common climate parameters like the number of days with temperatures exceeding 30°C or duration and frequency of droughts. Furthermore, daily data enables running of models to predict crop yield, pest infestation, and water balance. While the data from past and recent years is available, it should not be mistaken for actual measurements, as it serves the purpose of model validation rather than showing actual past weather. Projections beyond 2050 are highly dependent on different emission scenarios. The high resolution climate models are as close to RCP8.5 as possible within CMIP6. While other models consider different emission scenarios, the variations in these scenarios are less noticeable until 2050. Projections until 2100 are not part of this API. The climate models available in this API vary in their accuracy and level of uncertainty, and depending on the analysis, some models may be more suitable than others. It is not possible to provide a general recommendation on which model is better. It is recommended to run analyses with multiple models and evaluate their performance afterward. | Climate Model | Origin | Run by | Resolution | Description | | --- | --- | --- | --- | --- | | [CMCC-CM2-VHR4](https://www.wdc-climate.de/ui/cmip6?input=CMIP6.HighResMIP.CMCC.CMCC-CM2-VHR4) | Italy | Fondazione Centro Euro-Mediterraneo sui Cambiamenti Climatici, Lecce (CMCC) | 30 km | | | [FGOALS\_f3\_H](https://www.wdc-climate.de/ui/cmip6?input=CMIP6.HighResMIP.CAS.FGOALS-f3-H) | China | Chinese Academy of Sciences, Beijing (CAS) | 28 km | [Model](https://link.springer.com/content/pdf/10.1007/s00376-022-2030-5.pdf) | | [HiRAM\_SIT\_HR](https://www.wdc-climate.de/ui/cmip6?input=CMIP6.HighResMIP.AS-RCEC.HiRAM-SIT-HR) | Taiwan | Research Center for Environmental Changes, Academia Sinica, Nankang, Taipei (AS-RCEC) | 25 km | | | [MRI\_AGCM3\_2\_S](https://www.wdc-climate.de/ui/cmip6?input=CMIP6.HighResMIP.MRI.MRI-AGCM3-2-S.highresSST-present) | Japan | Meteorological Research Institute, Tsukuba, Ibaraki (MRI) | 20 km | | | [EC\_Earth3P\_HR](https://www.wdc-climate.de/ui/cmip6?input=CMIP6.HighResMIP.EC-Earth-Consortium.EC-Earth3P-HR) | Europe | EC-Earth consortium, Rossby Center, Swedish Meteorological and Hydrological Institute/SMHI, Norrkoping, Sweden | 29 km | [Model](https://gmd.copernicus.org/articles/13/3507/2020/) | | [MPI\_ESM1\_2\_XR](https://www.wdc-climate.de/ui/cmip6?input=CMIP6.HighResMIP.MPI-M.MPI-ESM1-2-XR) | Germany | Max Planck Institute for Meteorology, Hamburg 20146, Germany | 51 km | [Model](https://gmd.copernicus.org/articles/12/3241/2019/) | | [NICAM16\_8S](https://www.wdc-climate.de/ui/cmip6?input=CMIP6.HighResMIP.MIROC.NICAM16-8S) | Japan | Japan Agency for Marine-Earth Science and Technology, Kanagawa 236-0001, Japan (MIROC) | 31 km | [Model](https://gmd.copernicus.org/articles/14/795/2021/) | Some weather variables may not be available in all climate models. Notably, soil moisture is only available in MRI-AGCM3-2-S and EC\_Earth3P\_HR. Additionally, some models may not provide certain aggregations, such as maximum relative humidity. However, mean relative humidity is generally available. The table below outlines the weather variables that are available in each model: | | | | | | | | | --- | --- | --- | --- | --- | --- | --- |⚠️ = Only daily mean values available. No daily minima or maxima. | Model | Temperature | Relative
Humidity | Wind | Precipitation | Snowfall,
Solar Radiation &
Clouds | Soil moisture | | --- | --- | --- | --- | --- | --- | --- | | CMCC-CM2-VHR4 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | | FGOALS-f3-H | ✅ | ⚠️ | ⚠️ | ✅ | ✅ | ❌ | | HiRAM-SIT-HR | ✅ | ⚠️ | ⚠️ | ✅ | ✅ | ❌ | | MRI-AGCM3-2-S | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | EC\_Earth3P\_HR | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | MPI\_ESM1\_2\_XR | ✅ | ⚠️ | ✅ | ✅ | ✅ | ❌ | | NICAM16\_8S | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | [API Documentation\ -----------------](https://open-meteo.com/en/docs/climate-api#api_documentation) The API endpoint /v1/climate allows users to retrieve climate weather data from multiple climate models. To use this endpoint, you can specify a geographical coordinate, a time interval, and a list of weather variables that they are interested in. It is recommended to use the full time range of 1950 to 2050. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude
longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | start\_date
end\_date | String (yyyy-mm-dd) | Yes | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-12-31). Data is available from 1950-01-01 until 2050-01-01. | | models | String array | Yes | | A list of climate models separated by comma. 7 climate models are available CMCC\_CM2\_VHR4, FGOALS\_f3\_H, HiRAM\_SIT\_HR MRI\_AGCM3\_2\_S, EC\_Earth3P\_HR, MPI\_ESM1\_2\_XR, and NICAM16\_8S are supported. | | daily | String array | Yes | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all time is then in GMT+0! For daily values with unix timestamp, please apply utc\_offset\_seconds again to get the correct date. | | disable\_bias\_correction | Bool | No | false | Setting disable\_bias\_correction to true disables statistical downscaling and bias correction onto ERA5-Land. By default, all data is corrected using linear bias correction, and coefficients have been calculated for each month over a 50-year time series. The climate change signal is not affected by linear bias correction. | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters may be added. For API stability, no required parameters will be added in the future! [### Daily Parameter Definition](https://open-meteo.com/en/docs/climate-api#daily_parameter_definition) The climate data in this API is presented as daily aggregations. Multiple weather variables can be retrieved at once. The parameter &daily= accepts the following values as comma separated list: | Variable | Unit | Description | | --- | --- | --- | | temperature\_2m\_max
temperature\_2m\_min
temperature\_2m\_mean | °C (°F) | Maximum, minimum and mean daily air temperature at 2 meters above ground. Additionally, temperature is downscaled using a 90-meter digital elevation model. Climate models are not perfect, and they have inherent uncertainties and biases that can affect the accuracy of their temperature predictions. However, the temperature anomaly over a long period of time is a good indicator the future Earth's climate. The following paper analyses the [robustness of CMIP6 temperature predictions](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2020EF001667)
. | | cloud\_cover\_mean | % | Mean cloud cover on a given day. Cloud cover in climate models is generally represented through simplified parameterizations that estimate the cloud amount, height, and thickness based on atmospheric conditions such as temperature, humidity, and wind speed. These parameterizations have been shown to provide reasonable estimates of global cloud cover but they can have significant uncertainties and biases on regional and local scales. Systematic biases have been corrected using the weather reanalysis ERA5. | | relative\_humidity\_2m\_max
relative\_humidity\_2m\_min
relative\_humidity\_2m\_mean | % | Maximum, minimum and mean daily relative humidity at 2 meters above ground. While systematic biases in relative humidity have been removed through bias correction, caution should still be exercised when using relative humidity data as raw data shows larger differences between different climate models. | | soil\_moisture\_0\_to\_10cm\_mean | m³/m³ | Daily mean soil moisture fraction within 0-10 cm. Soil moisture data is only available by MRI\_AGCM3\_2\_S and EC\_Earth3P\_HR. Due to the limited number of climate models that provide soil moisture data, it is not possible to make a general statement about their accuracy. As a result, it may be advisable to conduct your own water balance modeling. | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall). Climate models have been able to capture some of the large-scale patterns of precipitation and associated droughts and extreme precipitation events, particularly over longer time scales. However, there are still uncertainties associated with the representation of precipitation at smaller geographical scales including thunderstorm. Please compare different climate models for drought duration or extreme precipitation events. The following papers analyze [extreme precipitation](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2021EF002196)
and [droughts in CMIP6 models](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2021EF002150)
. | | rain\_sum | mm | Sum of daily liquid rain, excluding snow. | | snowfall\_sum | cm | Sum of daily snowfall. Please note that snowfall data may have larger biases in complex terrain, as it is not adjusted for different terrain elevations. Use this data with caution to estimate how mountainous regions will be effected by reduced snowfall. | | wind\_speed\_10m\_mean
wind\_speed\_10m\_max | km/h (mph, m/s, knots) | Mean and maximum wind speed 10 meter above ground on a day. Simulations of winds and pressure systems in climate models are greatly influenced by the resolution used to model the terrain. Without bias correction, wind speed can vary significantly between different climate models, particularly in complex terrain. Although, data is bias corrected with ERA5, it might not accurately represent local conditions. | | pressure\_msl\_mean | hPa | Daily mean air pressure reduced to mean sea level. | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules. Shortwave radiation predictions are impacted by aerosols and clouds present in the atmosphere. The future composition of gases in the atmosphere is a key area of study in climate modeling. As there are uncertainties associated with aerosols and clouds, it is important to take these into account when using shortwave radiation data. | [### JSON Return Object](https://open-meteo.com/en/docs/climate-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "generationtime_ms": 2.2119, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "daily": { "time": ["2022-07-01", "2022-07-01", "2022-07-01", ...], "temperature_2m_max": [13, 12.7, 12.7, 12.5, 12.5, 12.8, ...] }, "daily_units": { "temperature_2m": "°C" }, } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/climate-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m_max for key daily" } [Citation & Acknowledgement\ --------------------------](https://open-meteo.com/en/docs/climate-api#citation) CMIP6 model data is licenced under a Creative Commons Attribution 4.0 International Licence ([CC BY 4.0](https://creativecommons.org/licenses/) ). Consult [https://pcmdi.llnl.gov/CMIP6/TermsOfUse](https://pcmdi.llnl.gov/CMIP6/TermsOfUse) for terms of use governing CMIP6 output, including citation requirements and proper acknowledgment. The data producers and data providers make no warranty, either express or implied, including, but not limited to, warranties of merchantability and fitness for a particular purpose. All liabilities arising from the supply of the information (including any liability arising in negligence) are excluded to the fullest extent permitted by law. All users of Open-Meteo data must provide a clear attribution to the CMIP6 program as well as a reference to Open-Meteo. --- # Satellite Radiation API 🛰️☀️ | Open-Meteo.com Satellite Radiation API ======================= Real-time Solar Irradiance From Multiple Satellites Solar radiation data from NASA GOES satellites has not been integrated yet, so data is currently unavailable for North America. [Location and Time\ -----------------](https://open-meteo.com/en/docs/satellite-radiation-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 1 day (default) Forecast days 0 days (default) Past days By default, solar radiation for the current day is returned. If you're interested in past satellite data, you can use the Past Days feature to access archived data. [Hourly Radiation Variables\ --------------------------](https://open-meteo.com/en/docs/satellite-radiation-api#hourly_weather_variables) Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Additional Variables And Options -------------------------------- Is Day or Night Sunshine Duration Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Satellite Data Sources ---------------------- Automatic Selection EUMETSAT MSG (Europe, Africa, South America, 15-minutely, since 2025, 2 hours delay) EUMETSAT IODC (Europe, Africa, India, 15-minutely, since 2025, 2 hours delay) EUMETSAT Sarah3 (Europe, Africa, 30-minutely, since 1983, 1 day delay) JMA JAXA Himawari (India, Asia, Australia, New Zealand, 10-minutely, since 2023, 20 minutes delay) EUMETSAT MTG Third Generation via JMA JAXA (Europe, Africa, India, 10-minutely, since 2025, 20 minutes delay) You can also compare solar radiation directly with weather models by selecting a model below Best match ECMWF IFS HRES 9km ECMWF IFS 0.25° ECMWF AIFS 0.25° Single CMA GRAPES Global BOM ACCESS Global NCEP GFS Seamless NCEP GFS Global 0.11°/0.25° NCEP HRRR U.S. Conus NCEP NBM U.S. Conus NCEP NAM U.S. Conus GFS GraphCast JMA Seamless JMA MSM JMA GSM KMA Seamless KMA LDPS KMA GDPS DWD ICON Seamless DWD ICON Global DWD ICON EU DWD ICON D2 GEM Seamless GEM Global GEM Regional GEM HRDPS Continental GEM HRDPS West Météo-France Seamless Météo-France ARPEGE World Météo-France ARPEGE Europe Météo-France AROME France Météo-France AROME France HD ItaliaMeteo ARPAE ICON 2I MET Norway Nordic Seamless (with ECMWF) MET Norway Nordic KNMI Seamless (with ECMWF) KNMI Harmonie Arome Europe KNMI Harmonie Arome Netherlands DMI Seamless (with ECMWF) DMI Harmonie Arome Europe UK Met Office Seamless UK Met Office Global 10km UK Met Office UK 2km MeteoSwiss ICON Seamless MeteoSwiss ICON CH1 MeteoSwiss ICON CH2 ECMWF IFS 9km HRES ERA5-Seamless ERA5 ERA5-Land ERA5-Ensemble CERRA Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Daily Radiation Variables\ -------------------------](https://open-meteo.com/en/docs/satellite-radiation-api#daily_weather_variables) Sunrise Sunset Daylight Duration Sunshine Duration Shortwave Radiation Sum [Settings\ --------](https://open-meteo.com/en/docs/satellite-radiation-api#settings) ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/satellite-radiation-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://satellite-api.open-meteo.com/v1/archive?latitude=52.52&longitude=13.41&hourly=shortwave_radiation&models=satellite_radiation_seamless&format=xlsx) [Download CSV](https://satellite-api.open-meteo.com/v1/archive?latitude=52.52&longitude=13.41&hourly=shortwave_radiation&models=satellite_radiation_seamless&format=csv) API URL ([Open in new tab](https://satellite-api.open-meteo.com/v1/archive?latitude=52.52&longitude=13.41&hourly=shortwave_radiation&models=satellite_radiation_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/satellite-radiation-api#data_sources) | Provider | Satellite | Region | Spatial Resolution | Temporal Resolution | Update frequency | Delay | Archive since | | --- | --- | --- | --- | --- | --- | --- | --- | | [EUMETSAT LSA SAF](https://lsa-saf.eumetsat.int/en/data/products/radiation/) | MSG | Europe, Africa, South America (only land) | 0.05° (~ 5km) | 15 minutely | Every Hour | 2 Hours | 2025 | | IODC | Europe, Africa, India (only land) | 0.05° (~ 5km) | 15 minutely | Every Hour | 2 Hours | 2025 | | [EUMETSAT CM SAF SARAH3](https://wui.cmsaf.eu/safira/action/viewDoiDetails?acronym=SARAH_V003) | MSG | Europe, Africa, South America | 0.05° (~ 5km) | 30 minutely | Every Hour | 2 Days | 1983 | | [JMA JAXA](https://www.eorc.jaxa.jp/ptree/userguide.html) | Himawari-9 | India, Asia, Australia, New Zealand | 0.05° (~ 5km) | 10 minutely | Every 10 minutes | 20 Minutes | 2015 | | EUMETSAT MTG | Europe, Africa | 0.05° (~ 5km) | 10 minutely | Every 10 minutes | 2 Hours | 2025 | | NASA (not yet available) | GOES-East | North & South America | 0.05° (~ 5km) | N/A | N/A | N/A | N/A | | GOES-West | Pacific Ocean & Alaska | N/A | N/A | N/A | N/A | N/A | ![Geostationary satellites for solar radiation](https://open-meteo.com/_app/immutable/assets/geostationary-satellites.DZuYvRWm.png) Geostationary satellites for solar radiation. Source: [NASA](https://www.earthdata.nasa.gov/news/blog/geostationary-active-fire-detection-data-firms) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/satellite-radiation-api#api_documentation) The Satellite Radiation API integrate solar radiation data from various satellite datasets into a single consistent endpoint. Different geostationary satellites are used to provide global coverage. * **Himawari direct and diffuse radiation** JMA JAXA provides only shortwave radiation data and does not offer direct or diffuse solar radiation. Open-Meteo applies the separation model from [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) to calculate direct radiation from shortwave solar radiation. * **Instantaneous Values Correction**: All satellites provide data as instantaneous values. However, a full Earth scan takes approximately 10–15 minutes. As a result, the top and bottom of each scan have a significant time difference. To ensure comparability with data sources like weather models, OpenMeteo corrects for these scan time differences and derives backward-averaged values. * **Different temporal resolutions:** Data is available in 10, 15 or 30–minutely steps. For compatibility, the API returns 1–hourly data. If you want to access the underlying time resolution, make sure to set "Temporal resolution for hourly data" to "native". [### Hourly Parameter Definition](https://open-meteo.com/en/docs/satellite-radiation-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. All data is provided in W/m². Solar radiation parameters are available as either instantaneous values or backward averages over the past hour. If you select 10/15/30-minute data, the backward averages will use the same 10/15/30-minute intervals. | Variable | Valid time | Description | | --- | --- | --- | | shortwave\_radiation | Preceding hour mean | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation. This is equal the sum of direct and diffuse radiation. | | diffuse\_radiation | Preceding hour mean | Diffuse solar radiation as average of the preceding hour | | direct\_radiation | Preceding hour mean | Direct solar radiation as average of the preceding hour on the horizontal plane. | | direct\_normal\_irradiance | Preceding hour mean | Direct solar radiation as average of the preceding hour on the normal plane (perpendicular to the sun). Often denoted DNI. | | global\_tilted\_irradiance | Preceding hour mean | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | terrestrial\_radiation | Preceding hour mean | The solar radiation at the top of the atmosphere, unaffected by clouds or aerosols. It is purely calculated using the solar position factor multiplied by the solar constant of 1367.7 W/m². This differs from clear sky radiation, which accounts for aerosols but not clouds. | | \*\_instant | Instant | All solar radiation parameters can be converted to instantaneous values by integrating the solar zenith angle. Instantaneous values are useful for comparing data with local measurements. However, for energy calculations or comparisons with numerical weather models, backward-averaged data is recommended. | --- # 🌊 Marine Weather API | Open-Meteo.com Marine Weather API ================== Hourly wave forecasts at 5 km resolution [Location and Time\ -----------------](https://open-meteo.com/en/docs/marine-weather-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Marine Variables\ -----------------------](https://open-meteo.com/en/docs/marine-weather-api#hourly_weather_variables) Wave Height Wave Direction Wave Period Wave Peak Period (ECMWF WAM & ERA5) Wind Wave Height Wind Wave Direction Wind Wave Period Wind Wave Peak Period Swell Wave Height Swell Wave Direction Swell Wave Period Swell Wave Peak Period Secondary Swell Wave Height Secondary Swell Wave Pediod Secondary Swell Wave Direction Tertiary Swell Wave Height Tertiary Swell Wave Pediod Tertiary Swell Wave Direction Sea Level Height including tides (above global mean sea level) Sea Surface Temperature SST Ocean Current Velocity Ocean Current Direction Note: Tides and ocean currents are computed at 0.08° (~8 km) resolution using numerical models. Accuracy at coastal areas is limited. This is not suitable for coastal navigation and does not replace your nautical almanac. Use with caution! Note: Secondary swell components are only available for some models. Tertiary components are only available for the GFS wave models. Additional Variables And Options -------------------------------- Inverted Barometer Height Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Weather models -------------- Best match MeteoFrance Wave MeteoFrance Ocean Currents DWD EWAM DWD GWAM ECMWF WAM ECMWF WAM 0.25 GFS Wave 0.25° GFS Wave 0.16° ERA5-Ocean Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. 15-Minutely Weather Variables ----------------------------- Ocean Current Velocity Ocean Current Direction Sea Level Height including tides (above global mean sea level) Note: Only available in Central Europe and North America. Other regions use interpolated hourly data. Solar radiation is averaged over the 15 minutes. Use instant for radiation at the indicated time. Note: You can further adjust the forecast time range for 15-minutely weather variables using &forecast\_minutely\_15= and &past\_minutely\_15= as shown below. \- (default) Forecast Minutely 15 \- (default) Past Minutely 15 [Daily Marine Variables\ ----------------------](https://open-meteo.com/en/docs/marine-weather-api#daily_weather_variables) Wave Height Max Wave Direction Dominant Wave Period Max Wind Wave Height Max Wind Wave Direction Dominant Wind Wave Period Max Wind Wave Peak Period Max Swell Wave Height Max Swell Wave Direction Dominant Swell Wave Period Max Swell Wave Peak Period Max [Current Conditions\ ------------------](https://open-meteo.com/en/docs/marine-weather-api#current_weather) Wave Height Wave Direction Wave Period Wave Peak Period (ECMWF WAM & ERA5) Wind Wave Height Wind Wave Direction Wind Wave Period Wind Wave Peak Period Swell Wave Height Swell Wave Direction Swell Wave Period Swell Wave Peak Period Secondary Swell Wave Height Secondary Swell Wave Pediod Secondary Swell Wave Direction Tertiary Swell Wave Height Tertiary Swell Wave Pediod Tertiary Swell Wave Direction Sea Level Height including tides (above global mean sea level) Sea Surface Temperature SST Ocean Current Velocity Ocean Current Direction Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/marine-weather-api#settings) Metric Length Unit km/h Velocity Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/marine-weather-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://marine-api.open-meteo.com/v1/marine?latitude=54.544587&longitude=10.227487&hourly=wave_height&format=xlsx) [Download CSV](https://marine-api.open-meteo.com/v1/marine?latitude=54.544587&longitude=10.227487&hourly=wave_height&format=csv) API URL ([Open in new tab](https://marine-api.open-meteo.com/v1/marine?latitude=54.544587&longitude=10.227487&hourly=wave_height) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/marine-weather-api#data_sources) The Marine API combines wave models from different sources. | | | | | | | | | --- | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Data Set | Region | | Spatial Resolution | Temporal Resolution | Data Availability | Update frequency | | --- | --- | --- | --- | --- | --- | --- | | [MeteoFrance MFWAM](https://data.marine.copernicus.eu/product/GLOBAL_ANALYSISFORECAST_WAV_001_027/description) | Global | [Map](https://data.marine.copernicus.eu/viewer/expert?view=viewer&crs=epsg%3A4326&z=0¢er=-23.399717243797422%2C42.59188729714914&zoom=10.52284658362573&layers=W3sib3BhY2l0eSI6MSwiaWQiOiJ0ZW1wMSIsImxheWVySWQiOiJHTE9CQUxfQU5BTFlTSVNGT1JFQ0FTVF9XQVZfMDAxXzAyNy9jbWVtc19tb2RfZ2xvX3dhdl9hbmZjXzAuMDgzZGVnX1BUM0gtaV8yMDIzMTEvVkhNMCIsInpJbmRleCI6MCwiaXNFeHBsb3JpbmciOnRydWUsImxvZ1NjYWxlIjpmYWxzZX1d&basemap=dark "Visualize as map") | 0.08° (~8 km) | 3-Hourly | October 2021 with 10 day forecast | Every 12 hours | | [MeteoFrance SMOC Currents, Tides & SST](https://data.marine.copernicus.eu/product/GLOBAL_ANALYSISFORECAST_PHY_001_024/services) | Global | [Map](https://data.marine.copernicus.eu/viewer/expert?view=viewer&crs=epsg%3A4326&z=-0.49402499198913574¢er=-12.433872193277338%2C42.88370285999325&zoom=11.872305323411199&layers=W3sib3BhY2l0eSI6MSwiaWQiOiJ0ZW1wMSIsImxheWVySWQiOiJHTE9CQUxfQU5BTFlTSVNGT1JFQ0FTVF9QSFlfMDAxXzAyNC9jbWVtc19tb2RfZ2xvX3BoeV9hbmZjX21lcmdlZC11dl9QVDFILWlfMjAyMjExL3VvIiwiekluZGV4IjowLCJpc0V4cGxvcmluZyI6dHJ1ZSwibG9nU2NhbGUiOmZhbHNlfV0%3D&basemap=dark "Visualize as map") | 0.08° (~8 km) | Hourly | January 2022 with 10 day forecast | Every 24 hours | | [ECMWF WAM](https://www.ecmwf.int/en/elibrary/79883-wave-model) | Global | | 9 km | Hourly | November 2025 with 15 day forecast | Every 6 hours | | [ECMWF WAM 0.25](https://www.ecmwf.int/en/elibrary/79883-wave-model) | Global | | 0.25° (~25 km) | 3-Hourly | March 2024 with 15 day forecast | Every 6 hours | | [NCEP GFS Wave](https://polar.ncep.noaa.gov/waves/index.php) | Global | | 0.25° (~25 km) | Hourly | June 2024 with 16 day forecast | Every 6 hours | | [NCEP GFS Wave](https://polar.ncep.noaa.gov/waves/index.php) | Latitude 52.5°N - 15°S | | 0.16° (~16 km) | Hourly | October 2024 with 16 day forecast | Every 6 hours | | [DWD EWAM](https://www.dwd.de/EN/specialusers/shipping/seegangsvorhersagesystem_en.html) | Europe | | 0.05° (~5 km) | Hourly | August 2022 with 8 day forecast | Every 12 hours | | [DWD GWAM](https://www.dwd.de/EN/specialusers/shipping/seegangsvorhersagesystem_en.html) | Global | | 0.25° (~25 km) | Hourly | August 2022 with 4 day forecast | Every 12 hours | | [ERA5-Ocean](https://cds.climate.copernicus.eu/datasets/reanalysis-era5-single-levels?tab=overview) | Global | | 0.5° (~50 km) | Hourly | 1940 to present | Daily with 5 days delay | [API Documentation\ -----------------](https://open-meteo.com/en/docs/marine-weather-api#api_documentation) The API endpoint /v1/marine accepts a geographical coordinate, a list of marine variables and responds with a JSON hourly marine weather forecast for 7 days. Time always starts at 0:00 today. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | current | String array | No | | A list of variables to get current conditions. | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer (0-92) | No | 0 | If past\_days is set, yesterday or the day before yesterday data are also returned. | | forecast\_days | Integer (0-8) | No | 5 | Per default, 7 days are returned. Up to 8 days of forecast are possible. | | forecast\_hours
past\_hours | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly data can controlled. Instead of using the current day as a reference, the current hour is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | length\_unit | String | No | metric | Options metric and imperial | | cell\_selection | String | No | sea | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/marine-weather-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | wave\_height
wind\_wave\_height
swell\_wave\_height
secondary\_swell\_wave\_height
tertiary\_swell\_wave\_height | Instant | Meter | Wave height of significant mean, wind and swell waves. Wave directions are always reported as the direction the waves come from. 0° = From north towards south; 90° = From east | | wave\_direction
wind\_wave\_direction
swell\_wave\_direction
secondary\_swell\_wave\_direction
tertiary\_swell\_wave\_direction | Instant | ° | Mean direction of mean, wind and swell waves | | wave\_period
wind\_wave\_period
swell\_wave\_period
secondary\_swell\_wave\_period
tertiary\_swell\_wave\_period | Instant | Seconds | Period between mean, wind and swell waves. | | wind\_wave\_peak\_period
swell\_wave\_peak\_period | Instant | Seconds | Peak period between wind and swell waves. | | ocean\_current\_velocity | Instant | km/h (mph, m/s, knots) | Velocity of ocean current considering Eulerian, Waves and Tides. | | ocean\_current\_direction | Instant | ° | Direction following the flow of the current. E.g. where the current is heading towards. 0° = Going north; 90° = Towards east. | | sea\_surface\_temperature | Instant | Celsius | The sea surface temperature close to the water surface | | sea\_level\_height\_msl | Instant | metre | The sea level height accounts for ocean tides, the inverted barometer effect, sea surface height, global mean steric variation, and global mean mass volume variation. The reference (datum) height is the global mean sea level, not the lowest astronomical tide. Accuracy is limited in coastal areas—while it can be reasonably accurate near unobstructed coasts, it may be completely unreliable further inland. This data is not suitable for coastal navigation. | | invert\_barometer\_height | Instant | metre | Invert barometer effect is the height low and high pressure systems effect the sea level height. This is already considered in sea\_level\_height\_msl | [### Daily Parameter Definition](https://open-meteo.com/en/docs/marine-weather-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | wave\_height\_max
wind\_wave\_height\_max
swell\_wave\_height\_max | Meter | Maximum wave height on a given day for mean, wind and swell waves | | wave\_direction\_dominant
wind\_wave\_direction\_dominant
swell\_wave\_direction\_dominant | ° | Dominant wave direction of mean, wind and swell waves | | wave\_period\_max
wind\_wave\_period\_max
swell\_wave\_period\_max | Seconds | Maximum wave period of mean, wind and swell | | wind\_wave\_peak\_period\_max
swell\_wave\_peak\_period\_max | Seconds | Maximum peak period between wind and swell waves. | [### JSON Return Object](https://open-meteo.com/en/docs/marine-weather-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "wave_height": [1, 1.7, 1.7, 1.5, 1.5, 1.8, 2.0, 1.9, 1.3, ...] }, "hourly_units": { "wave_height": "m" }, } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/marine-weather-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } [Citation & Acknowledgement\ --------------------------](https://open-meteo.com/en/docs/marine-weather-api#citation) Citation & Acknowledgement -------------------------- Generated using ICON Wave forecast from the [German Weather Service DWD](https://www.dwd.de/EN/service/copyright/copyright_node.html) . All users of Open-Meteo data must provide a clear attribution to DWD as well as a reference to Open-Meteo. --- # Elevation API | Open-Meteo.com Elevation API ============= 90 meter resolution digital elevation model Get more information on how weather forecasts are improved with elevation models in our [blog article](https://openmeteo.substack.com/p/87a094f1-325d-497a-8a9d-4d16b794fd15) . [Select Coordinates or City\ --------------------------](https://open-meteo.com/en/docs/elevation-api#elevation_search) Latitude Longitude Search Usage licence: Non-Commercial Commercial Self-Hosted [Preview and API URL\ -------------------](https://open-meteo.com/en/docs/elevation-api#api_response) {"elevation":\[38.0\]} API URL ([Open in new tab](https://api.open-meteo.com/v1/elevation?latitude=52.52&longitude=13.41) ) You can copy this API URL into your application [API Documentation\ -----------------](https://open-meteo.com/en/docs/elevation-api#api_documentation) The API endpoint /v1/elevation accepts one or multiple geographical coordinate and returns the terrain elevation for those points. Data is based on the [Copernicus DEM 2021 release GLO-90](https://spacedata.copernicus.eu/collections/copernicus-digital-elevation-model) with 90 meters resolution. The GLO-90 dataset is available worldwide with a free licence. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude
longitude | Floating point array | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma , separated. Up to 100 coordinates can be requested at once. Example for [multiple coordinates](https://api.open-meteo.com/v1/elevation?latitude=52.52,48.85&longitude=13.41,2.35)
. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### JSON Return Object](https://open-meteo.com/en/docs/elevation-api#json_return_object) On success a JSON object is returned with just one attribute elevation. It is always an array, even if only one coordinate is requested. { "elevation": [38.0] } [### Errors](https://open-meteo.com/en/docs/elevation-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error":true, "reason":"Latitude must be in range of -90 to 90°. Given: 522.52." } [Citation & Acknowledgement\ --------------------------](https://open-meteo.com/en/docs/elevation-api#citation) ESA - EUsers, who, in their research, use the Copernicus DEM, are requested to use the following DOI when citing the data source in their publications: https://doi.org/10.5270/ESA-c5d3d65 All users of Open-Meteo data must provide a clear attribution to the Copernicus program as well as a reference to Open-Meteo. --- # Geocoding API | Open-Meteo.com Geocoding API ============= Search locations globally in any language [Search for cities or postal code\ --------------------------------](https://open-meteo.com/en/docs/geocoding-api#geocoding_search) Name English Language 10 (default) Number of Results Json Format None Country Code Usage licence: Non-Commercial Commercial Self-Hosted [Preview and API URL\ -------------------](https://open-meteo.com/en/docs/geocoding-api#api_response) Loading... API URL ([Open in new tab](https://open-meteo.com/en/docs/geocoding-api) ) You can copy this API URL into your application [API Documentation\ -----------------](https://open-meteo.com/en/docs/geocoding-api#api_documentation) The API endpoint https://geocoding-api.open-meteo.com/v1/search accepts a search term and returns a list of matching locations. URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | name | String | Yes | | String to search for. An empty string or only 1 character will return an empty result. 2 characters will only match exact matching locations. 3 and more characters will perform fuzzy matching. The search string can be a location name or a postal code. | | count | Integer | No | 10 | The number of search results to return. Up to 100 results can be retrieved. | | format | String | No | json | By default, results are returned as JSON. Alternatively, protobuf is supported for more efficient encoding and transfer. The .proto file to decode the protobuf message is available in the [geocoding GitHub repository](https://github.com/open-meteo/geocoding-api/blob/main/Sources/App/api.proto)
. | | language | String | No | en | Return translated results, if available, otherwise return english or the native location name. Lower-cased. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | | countryCode | String | No | | ISO-3166-1 alpha2 [country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
, which the results will be filtered for. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### JSON Return Object](https://open-meteo.com/en/docs/geocoding-api#json_return_object) On success a JSON object will be returned. Empty fields are not returned. E.g. admin4 will be missing if no fourth administrative level is available. { "results": [\ {\ "id": 2950159,\ "name": "Berlin",\ "latitude": 52.52437,\ "longitude": 13.41053,\ "elevation": 74.0,\ "feature_code": "PPLC",\ "country_code": "DE",\ "admin1_id": 2950157,\ "admin2_id": 0,\ "admin3_id": 6547383,\ "admin4_id": 6547539,\ "timezone": "Europe/Berlin",\ "population": 3426354,\ "postcodes": [\ "10967",\ "13347"\ ],\ "country_id": 2921044,\ "country": "Deutschland",\ "admin1": "Berlin",\ "admin2": "",\ "admin3": "Berlin, Stadt",\ "admin4": "Berlin"\ },\ \ {\ ...\ }\ ] } | Parameter | Format | Description | | --- | --- | --- | | id | Integer | Unique ID for this location | | name | String | Location name. Localized following the &language= parameter, if possible | | latitude, longitude | Floating point | Geographical WGS84 coordinates of this location | | elevation | Floating point | Elevation above mean sea level of this location | | timezone | String | Time zone using [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
definitions | | feature\_code | String | Type of this location. Following the [GeoNames feature\_code definition](https://www.geonames.org/export/codes.html) | | country\_code | String | 2-Character ISO-3166-1 alpha2 [country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
. E.g. DE for Germany | | country | String | Country name. Localized following the &language= parameter, if possible | | country\_id | Integer | Unique ID for this country | | population | Integer | Number of inhabitants | | postcodes | String array | List of postcodes for this location | | admin1, admin2, admin3, admin4 | String | Name of hierarchical administrative areas this location resides in. Admin1 is the first administrative level. Admin2 the second administrative level. Localized following the &language= parameter, if possible | | admin1\_id, admin2\_id, admin3\_id, admin4\_id | Integer | Unique IDs for the administrative areas | \*Note: All IDs can be can be resolved via the API endpoint [https://geocoding-api.open-meteo.com/v1/get?id=2950159](https://geocoding-api.open-meteo.com/v1/get?id=2950159) [### Errors](https://open-meteo.com/en/docs/geocoding-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Parameter count must be between 1 and 100." } [Attribution\ -----------](https://open-meteo.com/en/docs/geocoding-api#attribution) * Location data based on [GeoNames](https://www.geonames.org/) * Country flags from [HatScripts/circle-flags](https://github.com/HatScripts/circle-flags) --- # 💨 Air Quality API | Open-Meteo.com Air Quality API =============== Pollutants and pollen forecast in 11 km resolution [Location and Time\ -----------------](https://open-meteo.com/en/docs/air-quality-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 5 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Air Quality Variables\ ----------------------------](https://open-meteo.com/en/docs/air-quality-api#hourly_weather_variables) Particulate Matter PM10 Particulate Matter PM2.5 Carbon Monoxide CO Carbon Dioxide CO2 Nitrogen Dioxide NO2 Sulphur Dioxide SO2 Ozone O3 Aerosol Optical Depth Dust UV Index UV Index Clear Sky Ammonia NH3 (\*) Methane CH4 Alder Pollen (\*) Birch Pollen (\*) Grass Pollen (\*) Mugwort Pollen (\*) Olive Pollen (\*) Ragweed Pollen (\*) \* Only available in Europe during pollen season with 4 days forecast European Air Quality Index -------------------------- European AQI European AQI PM2.5 European AQI PM10 European AQI NO2 European AQI O3 European AQI SO2 Note: The European Air Quality Index (AQI) ranges from 0-20 (good), 20-40 (fair), 40-60 (moderate), 60-80 (poor), 80-100 (very poor) and exceeds 100 for extremely poor conditions. Pollutant thresholds in μg/m³ from the [European Environment Agency (EAA)](https://www.eea.europa.eu/themes/air/air-quality-index) are given on the right. Particulate Matter (PM) is using a 24 hour roling average, while gases use hourly values. | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Pollutant (μg/m³) | Timespan | Good | Fair | Moderate | Poor | Very poor | Extremely poor | | --- | --- | --- | --- | --- | --- | --- | --- | | PM2.5 | 24h | 0-10 | 10-20 | 20-25 | 25-50 | 50-75 | 75-800 | | PM10 | 24h | 0-20 | 20-40 | 40-50 | 50-100 | 100-150 | 150-1200 | | NO2 | 1h | 0-40 | 40-90 | 90-120 | 120-230 | 230-340 | 340-1000 | | O3 | 1h | 0-50 | 50-100 | 100-130 | 130-240 | 240-380 | 380-800 | | SO2 | 1h | 0-100 | 100-200 | 200-350 | 350-500 | 500-750 | 750-1250 | United States Air Quality Index ------------------------------- United States AQI United States AQI PM2.5 United States AQI PM10 United States AQI NO2 United States AQI CO United States AQI O3 United States AQI SO2 Note: The United States Air Quality Index (AQI) ranges from 0-50 (good), 51-100 (moderate), 101-150 (unhealthy for sensitive groups), 151-200 (unhealthy), 201-300 (very unhealthy) and 301-500 (hazardous). Pollutant thresholds from the [United States Environmental Protection Agency (EPA)](https://en.wikipedia.org/wiki/Air_quality_index#United_States) are given below. Some thresholds are in parts per billion (ppb) instead of μg/m³. Conversion explained [here](https://www.breeze-technologies.de/blog/air-pollution-how-to-convert-between-mgm3-%C2%B5gm3-ppm-ppb/) . Particulate Matter (PM) is using a 24 hour roling average, ozone and carbon monoxide use 8 hour averages, other gases use hourly values. | Pollutant | Timespan | Good | Moderate | Unhealthy for
Sensitive Groups | Unhealthy | Very Unhealthy | Hazardous | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | O3 (ppb) | 8h | 0-55 | 55-70 | 70-85 | 85-105 | 105-200 | \- | \- | | O3 (ppb) | 1h | \- | \- | 125-165 | 165-205 | 205-405 | 405-505 | 505-605 | | PM2.5 (μg/m³) | 24h | 0-12 | 12-35.5 | 35.5-55.5 | 55.5-150.5 | 150.5-250.5 | 250.5-350.5 | 350.5-500.5 | | PM10 (μg/m³) | 24h | 0-55 | 55-155 | 155-255 | 255-355 | 355-425 | 425-505 | 505-605 | | CO (ppm) | 8h | 0-4.5 | 4.5-9.5 | 9.5-12.5 | 12.5-15.5 | 15.5-30.5 | 30.5-40.5 | 40.5-50.5 | | SO2 (ppb) | 1h | 0-35 | 35-75 | 75-185 | 185-305 | \- | \- | \- | | SO2 (ppb) | 24h | \- | \- | \- | \- | 305-605 | 605-805 | 805-1005 | | NO2 (ppb) | 1h | 0-54 | 54-100 | 100-360 | 360-650 | 650-1250 | 1250-1650 | 1650-2050 | Additional Variables And Options -------------------------------- Formaldehyde CH₂O Glyoxal C₂H₂O₂ Non Methane Volatile Organic Compounds (\*) PM10 caused by wildfires (\*) Peroxyacyl Nitrates PAN Secondary Inorganic Aerosol (\*) Residential Elementary Carbon (\*) Total Elementary Carbon (\*) PM2.5 Total Organic Matter (\*) Sea Salt Aerosol Nitrogen Monoxide NO Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection [Current Conditions\ ------------------](https://open-meteo.com/en/docs/air-quality-api#current_weather) European AQI United States AQI Particulate Matter PM10 Particulate Matter PM2.5 Carbon Monoxide CO Nitrogen Dioxide NO2 Sulphur Dioxide SO2 Ozone O3 Aerosol Optical Depth Dust UV Index UV Index Clear Sky Ammonia NH3 (\*) Alder Pollen (\*) Birch Pollen (\*) Grass Pollen (\*) Mugwort Pollen (\*) Olive Pollen (\*) Ragweed Pollen (\*) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/air-quality-api#settings) Global + European Domain ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/air-quality-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://air-quality-api.open-meteo.com/v1/air-quality?latitude=52.52&longitude=13.41&hourly=pm10,pm2_5&format=xlsx) [Download CSV](https://air-quality-api.open-meteo.com/v1/air-quality?latitude=52.52&longitude=13.41&hourly=pm10,pm2_5&format=csv) API URL ([Open in new tab](https://air-quality-api.open-meteo.com/v1/air-quality?latitude=52.52&longitude=13.41&hourly=pm10,pm2_5) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/air-quality-api#data_sources) Forecast is based on the 11 kilometre CAMS European air quality forecast and the 40 kilometre CAMS global atmospheric composition forecasts. The European and global domain are not coupled and may show different forecasts. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Data Set | Region | Spatial Resolution | Temporal Resolution | Data Availability | Update frequency | | --- | --- | --- | --- | --- | --- | | [CAMS European Air Quality Forecast](https://ads.atmosphere.copernicus.eu/datasets/cams-europe-air-quality-forecasts?tab=overview) | Europe | 0.1° (~11 km) | 1-Hourly | October 2023 onwards | Every 24 hours, 4 days forecast | | [CAMS European Air Quality Reanalysis](https://ads.atmosphere.copernicus.eu/datasets/cams-europe-air-quality-reanalyses?tab=overview) | Europe | 0.1° (~11 km) | Hourly | 2013 onwards | \- | | [CAMS global atmospheric composition forecasts](https://ads.atmosphere.copernicus.eu/datasets/cams-global-atmospheric-composition-forecasts?tab=overview) | Global | 0.25° (~25 km) | 3-Hourly | August 2022 onwards | Every 12 hours, 5 days forecast | | [CAMS Global Greenhouse Gas Forecast](https://ads.atmosphere.copernicus.eu/datasets/cams-global-greenhouse-gas-forecasts?tab=overview) | Global | 0.1° (~11 km) | 3-Hourly | November 2024 onwards | Every 24 hours, 5 days forecast | [API Documentation\ -----------------](https://open-meteo.com/en/docs/air-quality-api#api_documentation) The API endpoint /v1/air-quality accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly air quality forecast for 5 days. Time always starts at 0:00 today. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | current | String array | No | | A list of variables to get current conditions. | | domains | String | No | auto | Automatically combine both domains auto or specifically select the European cams\_europe or global domain cams\_global. | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer (0-92) | No | 0 | If past\_days is set, yesterday or the day before yesterday data are also returned. | | forecast\_days | Integer (0-7) | No | 5 | Per default, 5 days are returned. Up to 7 days of forecast are possible. | | forecast\_hours
past\_hours | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly data can controlled. Instead of using the current day as a reference, the current hour is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | nearest | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/air-quality-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | pm10
pm2\_5 | Instant | μg/m³ | Particulate matter with diameter smaller than 10 µm (PM10) and smaller than 2.5 µm (PM2.5) close to surface (10 meter above ground) | | carbon\_monoxide
nitrogen\_dioxide
sulphur\_dioxide
ozone | Instant | μg/m³ | Atmospheric gases close to surface (10 meter above ground) | | carbon\_dioxide | Instant | ppm | CO2 close to surface (10 meter above ground) | | ammonia | Instant | μg/m³ | Ammonia concentration. Only available for Europe. | | aerosol\_optical\_depth | Instant | Dimensionless | Aerosol optical depth at 550 nm of the entire atmosphere to indicate haze. | | methane | Instant | μg/m³ | Methane close to surface (10 meter above ground) | | dust | Instant | μg/m³ | Saharan dust particles close to surface level (10 meter above ground). | | uv\_index
uv\_index\_clear\_sky | Instant | Index | UV index considering clouds and clear sky. See [ECMWF UV Index recommendation](https://confluence.ecmwf.int/display/CUSF/CAMS+global+UV+index)
for more information | | alder\_pollen
birch\_pollen
grass\_pollen
mugwort\_pollen
olive\_pollen
ragweed\_pollen | Instant | Grains/m³ | Pollen for various plants. Only available in Europe as provided by CAMS European Air Quality forecast. | | european\_aqi
european\_aqi\_pm2\_5
european\_aqi\_pm10
european\_aqi\_nitrogen\_dioxide
european\_aqi\_ozone
european\_aqi\_sulphur\_dioxide | Instant | European AQI | European Air Quality Index (AQI) calculated for different particulate matter and gases individually. The consolidated european\_aqi returns the maximum of all individual indices. Ranges from 0-20 (good), 20-40 (fair), 40-60 (moderate), 60-80 (poor), 80-100 (very poor) and exceeds 100 for extremely poor conditions. | | us\_aqi
us\_aqi\_pm2\_5
us\_aqi\_pm10
us\_aqi\_nitrogen\_dioxide
us\_aqi\_ozone
us\_aqi\_sulphur\_dioxide
us\_aqi\_carbon\_monoxide | Instant | U.S. AQI | United States Air Quality Index (AQI) calculated for different particulate matter and gases individually. The consolidated us\_aqi returns the maximum of all individual indices. Ranges from 0-50 (good), 51-100 (moderate), 101-150 (unhealthy for sensitive groups), 151-200 (unhealthy), 201-300 (very unhealthy) and 301-500 (hazardous). | [### JSON Return Object](https://open-meteo.com/en/docs/air-quality-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "pm10": [1, 1.7, 1.7, 1.5, 1.5, 1.8, 2.0, 1.9, 1.3, ...] }, "hourly_units": { "pm10": "μg/m³" }, } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/air-quality-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } [Citation & Acknowledgement\ --------------------------](https://open-meteo.com/en/docs/air-quality-api#citation) METEO FRANCE, Institut national de l'environnement industriel et des risques (Ineris), Aarhus University, Norwegian Meteorological Institute (MET Norway), Jülich Institut für Energie- und Klimaforschung (IEK), Institute of Environmental Protection – National Research Institute (IEP-NRI), Koninklijk Nederlands Meteorologisch Instituut (KNMI), Nederlandse Organisatie voor toegepast-natuurwetenschappelijk onderzoek (TNO), Swedish Meteorological and Hydrological Institute (SMHI), Finnish Meteorological Institute (FMI), Italian National Agency for New Technologies, Energy and Sustainable Economic Development (ENEA) and Barcelona Supercomputing Center (BSC) (2022): CAMS European air quality forecasts, ENSEMBLE data. Copernicus Atmosphere Monitoring Service (CAMS) Atmosphere Data Store (ADS). (Updated twice daily). All users of Open-Meteo data must provide a clear attribution to [CAMS ENSEMBLE data provider](https://confluence.ecmwf.int/display/CKB/CAMS+Regional%3A+European+air+quality+analysis+and+forecast+data+documentation/#CAMSRegional:Europeanairqualityanalysisandforecastdatadocumentation-Howtoacknowledge,citeandrefertothedata) as well as a reference to Open-Meteo. --- # API Production Status | Open-Meteo.com Model Updates and Data Availability =================================== Overview of Model Timings and Data Availability via Open-Meteo API [Model Updates\ -------------](https://open-meteo.com/en/docs/model-updates#model_updates) This page offers a brief overview of all models integrated into Open-Meteo. These models are typically updated every few hours. Open-Meteo aims to download and process the data as soon as it becomes available, immediately after it is released by national weather services. Open-Meteo operates with geographically distributed and redundant servers. Data across all Open-Meteo servers is [eventually consistent](https://en.wikipedia.org/wiki/Eventual_consistency "Wikipedia: Eventual consistency") , meaning there may be instances where the API indicates a weather model has been updated, but not all servers have been fully updated yet. If you need access to the most recent forecast, it's recommended to wait an additional 10 minutes after the forecast update has been applied. Models with a delay exceeding 20 minutes are highlighted in yellow. If multiple weather model updates are missed, the model is marked in red. Minor delays are fairly common. To report a model issue, please open a ticket on [GitHub](https://github.com/open-meteo/open-meteo/issues "GitHub Open-Meteo Repository") . Commercial clients can contact us directly via email. The free and commercial API services of Open-Meteo operate on different servers, leading to slight variations in update times. Please choose the appropriate type below. Note that API calls to the metadata API are not counted toward daily or monthly request limits. Usage licence: Non-Commercial Commercial Self-Hosted Global Weather Models Local European Models ![european_union](https://open-meteo.com/images/country-flags/european_union.svg) Local North American Models ![us](https://open-meteo.com/images/country-flags/us.svg) ![ca](https://open-meteo.com/images/country-flags/ca.svg) Local Asian Models ![jp](https://open-meteo.com/images/country-flags/jp.svg) [Forecast API\ ------------](https://open-meteo.com/en/docs/model-updates#forecast_api) | Provider | Weather Model | Area | Last Model Run | Update Available | Temporal Resolution | Update frequency | API | | --- | --- | --- | --- | --- | --- | --- | --- | | ItaliaMeteo ARPAE | ICON 2I | ![it](https://open-meteo.com/images/country-flags/it.svg "it") | Loading | | | | | | | BOM | ACCESS-G 0.15° | | Loading | | | | | | | CMA | GFS Grapes 0.125° | | Loading | | | | | | | Canadian Weather Service | GDPS 0.125° | | Loading | | | | | | | RDPS | ![ca](https://open-meteo.com/images/country-flags/ca.svg "ca")![us](https://open-meteo.com/images/country-flags/us.svg "us") | Loading | | | | | | | HRDPS | ![ca](https://open-meteo.com/images/country-flags/ca.svg "ca") | Loading | | | | | | | HRDPS West | ![ca](https://open-meteo.com/images/country-flags/ca.svg "ca") | Loading | | | | | | | DMI | Harmonie AROME Europe | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | | DWD | ICON | | Loading | | | | | | | ICON-EU | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | | ICON-D2 | ![de](https://open-meteo.com/images/country-flags/de.svg "de")![ch](https://open-meteo.com/images/country-flags/ch.svg "ch")![at](https://open-meteo.com/images/country-flags/at.svg "at") | Loading | | | | | | | ICON-D2 15min | ![de](https://open-meteo.com/images/country-flags/de.svg "de")![ch](https://open-meteo.com/images/country-flags/ch.svg "ch")![at](https://open-meteo.com/images/country-flags/at.svg "at") | Loading | | | | | | | ECMWF | IFS HRES 9km | | Loading | | | | | | | AIFS 0.25° Single | | Loading | | | | | | | IFS 0.25° | | Loading | | | | | | | JMA | GSM 0.5° | | Loading | | | | | | | MSM 0.05° | ![jp](https://open-meteo.com/images/country-flags/jp.svg "jp") | Loading | | | | | | | KMA Korea | KMA GDPS 0.13° | | Loading | | | | | | | KMA LDPS 1.5km | ![kr](https://open-meteo.com/images/country-flags/kr.svg "kr") | Loading | | | | | | | KNMI | Harmonie AROME Europe | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | | Harmonie AROME Netherlands | ![nl](https://open-meteo.com/images/country-flags/nl.svg "nl")![be](https://open-meteo.com/images/country-flags/be.svg "be") | Loading | | | | | | | Météo-France | ARPEGE World 0.25° | | Loading | | | | | | | ARPEGE Europe 0.1° | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | | ARPEGE Europe 0.1° Probabilities | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | | AROME France 0.01 HD° | ![fr](https://open-meteo.com/images/country-flags/fr.svg "fr") | Loading | | | | | | | AROME France 0.01 HD 15min | ![fr](https://open-meteo.com/images/country-flags/fr.svg "fr") | Loading | | | | | | | AROME France 0.025° | ![fr](https://open-meteo.com/images/country-flags/fr.svg "fr") | Loading | | | | | | | AROME France 0.025° 15min | ![fr](https://open-meteo.com/images/country-flags/fr.svg "fr") | Loading | | | | | | | MeteoSwiss | ICON CH1 | ![ch](https://open-meteo.com/images/country-flags/ch.svg "ch") | Loading | | | | | | | ICON CH2 | ![ch](https://open-meteo.com/images/country-flags/ch.svg "ch") | Loading | | | | | | | MET Norway | MET Nordic PP | ![no](https://open-meteo.com/images/country-flags/no.svg "no")![se](https://open-meteo.com/images/country-flags/se.svg "se")![dk](https://open-meteo.com/images/country-flags/dk.svg "dk") | Loading | | | | | | | NOAA NCEP | GFS 0.11° | | Loading | | | | | | | GFS 0.25° | | Loading | | | | | | | GFS GraphCast 0.25° | | Loading | | | | | | | NBM Conus | ![us](https://open-meteo.com/images/country-flags/us.svg "us")![ca](https://open-meteo.com/images/country-flags/ca.svg "ca") | Loading | | | | | | | HRRR Conus | ![us](https://open-meteo.com/images/country-flags/us.svg "us")![ca](https://open-meteo.com/images/country-flags/ca.svg "ca") | Loading | | | | | | | HRRR Conus 15min | ![us](https://open-meteo.com/images/country-flags/us.svg "us")![ca](https://open-meteo.com/images/country-flags/ca.svg "ca") | Loading | | | | | | | NAM Conus | ![us](https://open-meteo.com/images/country-flags/us.svg "us")![ca](https://open-meteo.com/images/country-flags/ca.svg "ca") | Loading | | | | | | | UK Met Office | UKMO Global Deterministic 0.09° | | Loading | | | | | | | UKMO UKV | ![gb](https://open-meteo.com/images/country-flags/gb.svg "gb") | Loading | | | | | | [Historical Weather API\ ----------------------](https://open-meteo.com/en/docs/model-updates#historical_weather_api) | Provider | Weather Model | Area | Last Model Run | Update Available | Temporal Resolution | Update frequency | API | | --- | --- | --- | --- | --- | --- | --- | --- | | Copernicus | ERA5 0.25° | | Loading | | | | | | | ERA5-Land 0.1° | | Loading | | | | | | | ERA5-Ensemble 0.25° | | Loading | | | | | | | ECMWF | IFS HRES 9km | | Loading | | | | | | | IFS Analysis Long-Window 4D | | Loading | | | | | | [Ensemble API\ ------------](https://open-meteo.com/en/docs/model-updates#ensemble_api) | Provider | Weather Model | Area | Last Model Run | Update Available | Temporal Resolution | Update frequency | API | | --- | --- | --- | --- | --- | --- | --- | --- | | BOM | ACCESS-GE 0.4° | | Loading | | | | | | | Canadian Weather Service | GDPS 0.25° Ensemble | | Loading | | | | | | | DWD | ICON-EPS | | Loading | | | | | | | ICON-EU-EPS | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | | ICON-D2-EPS | ![de](https://open-meteo.com/images/country-flags/de.svg "de")![ch](https://open-meteo.com/images/country-flags/ch.svg "ch")![at](https://open-meteo.com/images/country-flags/at.svg "at") | Loading | | | | | | | ECMWF | IFS 0.25° Ensemble | | Loading | | | | | | | AIFS 0.25° Ensemble | | Loading | | | | | | | NOAA NCEP | GFS 0.25 Ensemble | | Loading | | | | | | | GFS 0.5° Ensemble | | Loading | | | | | | | MeteoSwiss | ICON CH1 | ![ch](https://open-meteo.com/images/country-flags/ch.svg "ch") | Loading | | | | | | | ICON CH2 | ![ch](https://open-meteo.com/images/country-flags/ch.svg "ch") | Loading | | | | | | | UK Met Office | UKMO UK Ensemble 2 km | ![gb](https://open-meteo.com/images/country-flags/gb.svg "gb") | Loading | | | | | | | UKMO Global Ensemble 20 km | | Loading | | | | | | [Air Quality API\ ---------------](https://open-meteo.com/en/docs/model-updates#air_quality_api) | Provider | Weather Model | Area | Last Model Run | Update Available | Temporal Resolution | Update frequency | API | | --- | --- | --- | --- | --- | --- | --- | --- | | CAMS | CAMS GLOBAL 0.4° | | Loading | | | | | | | CAMS Europe 0.1° | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | | CAMS Global Greenhouse Gases 0.1° | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | [Marine API\ ----------](https://open-meteo.com/en/docs/model-updates#marine_api) | Provider | Weather Model | Area | Last Model Run | Update Available | Temporal Resolution | Update frequency | API | | --- | --- | --- | --- | --- | --- | --- | --- | | Météo-France | MFWAM 0.08° | | Loading | | | | | | | SMOC Currents 0.08° | | Loading | | | | | | | ECMWF | WAM 0.25° | | Loading | | | | | | | WAM HRES | | Loading | | | | | | | NOAA NCEP | GFS Wave 0.25° | | Loading | | | | | | | GFS Wave 0.16 | | Loading | | | | | | | DWD | GWAM | | Loading | | | | | | | EWAM | ![european_union](https://open-meteo.com/images/country-flags/european_union.svg "european_union") | Loading | | | | | | | Copernicus | ERA5-Ocean | | Loading | | | | | | [Flood API\ ---------](https://open-meteo.com/en/docs/model-updates#flood_api) | Provider | Weather Model | Area | Last Model Run | Update Available | Temporal Resolution | Update frequency | API | | --- | --- | --- | --- | --- | --- | --- | --- | | GloFAS | GloFAS v4 Forecast | | Loading | | | | | | | GloFAS v4 Seasonal Forecast | | Loading | | | | | | [Metadata API Documentation\ --------------------------](https://open-meteo.com/en/docs/model-updates#metadata_api_documentation) You can retrieve the update times for each individual model via the API. However, these times do not directly correlate with the update times in the Forecast API, as Open-Meteo automatically selects the most appropriate weather model for each location (referred to as "Best Match"). The table above provides an API link for each model, returning a JSON object with the following fields: * **last\_run\_initialisation\_time:** The model's initialization time or reference time represented as a Unix timestamp (e.g., 1724796000 for Tue Aug 27, 2024, 22:00:00 GMT+0000). * **last\_run\_modification\_time:** The time when the data download and conversion were completed, which does not indicate when the data became available on the API. * **last\_run\_availability\_time:** The time when the data is actually accessible on the API server. Important: Open-Meteo utilises multiple redundant API servers, so there may be slight differences between them while the data is being copied. To ensure all API calls use the most recent data, please wait 10 minutes after the availability time. * **temporal\_resolution\_seconds:** The temporal resolution of the model in seconds. By default, the API interpolates the data to a 1-hour resolution. However, the underlying model may only provide data in 3 or 6-hourly steps. A value of 3600 indicates that the data is 1-hourly. * **update\_interval\_seconds:** The typical time interval between model updates, such as 3600 seconds for a model that updates every hour. Additional attributes, such as spatial resolution, area, grid systems, and more, will be added in the future. --- # Flood API | Open-Meteo.com Global Flood API ================ Simulated river discharge at 5 km resolution from 1984 up to 7 months forecast [Location and Time\ -----------------](https://open-meteo.com/en/docs/flood-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 3 months (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Daily Flood Variables\ ---------------------](https://open-meteo.com/en/docs/flood-api#daily_weather_variables) River Discharge River Discharge Mean River Discharge Median River Discharge Maximum River Discharge Minimum River Discharge 25th Percentile River Discharge 75th Percentile All 50 Ensemble Members Flood models ------------ GloFAS v4 Seamless GloFAS v4 Forecast GloFAS v4 Consolidated GloFAS v3 Seamless GloFAS v3 Forecast GloFAS v3 Consolidated Note: Seamless combines forecast and consolidated historical data. Per default, GloFAS version 4 with data from 1984 up to 7 months of forecast is used. [Settings\ --------](https://open-meteo.com/en/docs/flood-api#settings) ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/flood-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://flood-api.open-meteo.com/v1/flood?latitude=59.91&longitude=10.75&daily=river_discharge&format=xlsx) [Download CSV](https://flood-api.open-meteo.com/v1/flood?latitude=59.91&longitude=10.75&daily=river_discharge&format=csv) API URL ([Open in new tab](https://flood-api.open-meteo.com/v1/flood?latitude=59.91&longitude=10.75&daily=river_discharge) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/flood-api#data_sources) This API uses reanalysis and forecast data from the [Global Flood Awareness System (GloFAS)](https://www.globalfloods.eu/) . Per default, GloFAS version 4 with seamless data from 1984 until 7 months of forecast is used. Please note: Due to the 5 km resolution the closest river might not be selected correctly. Varying coordiantes by 0.1° can help to get a more representable discharge rate. The GloFAS website provides additional maps to help understand how rivers are covered in this dataset. | Weather Model | Region | Spatial Resolution | Temporal Resolution | Data Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [GloFAS v4 Reanalysis](https://cds.climate.copernicus.eu/datasets/cems-glofas-historical?tab=overview) | Global | 0.05° (~5 km) | Daily | 1984 - July 2022 | \- | | [GloFAS v4 Forecast](https://cds.climate.copernicus.eu/datasets/cems-glofas-forecast?tab=overview) | Global | 0.05° (~5 km) | Daily | 30 days forecast | Daily | | [GloFAS v4 Seasonal Forecast](https://ewds.climate.copernicus.eu/datasets/cems-glofas-seasonal?tab=overview) | Global | 0.05° (~5 km) | Daily | 7 months forecast | Monthly | | [GloFAS v3 Reanalysis](https://ewds.climate.copernicus.eu/datasets/cems-glofas-historical?tab=overview) | Global | 0.1° (~11 km) | Daily | 1984 - July 2022 | \- | | [GloFAS v3 Forecast](https://ewds.climate.copernicus.eu/datasets/cems-glofas-forecast?tab=overview) | Global | 0.1° (~11 km) | Daily | 30 days forecast | Daily | | [GloFAS v3 Seasonal Forecast](https://ewds.climate.copernicus.eu/datasets/cems-glofas-seasonal?tab=overview) | Global | 0.1° (~11 km) | Daily | 7 months forecast | Monthly | [API Documentation\ -----------------](https://open-meteo.com/en/docs/flood-api#api_documentation) The API endpoint /v1/flood accepts a geographical coordinate and returns river discharge data from the largest river in a 5 km area for the given coordinates. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | daily | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all time is then in GMT+0! | | past\_days | Integer | No | 0 | If past\_days is set, past data can be returned. | | forecast\_days | Integer (0-210) | No | 92 | Per default, only 92 days are returned. Up to 210 days of forecast are possible. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). Data are available from 1984-01-01 until 7 month forecast. | | ensemble | Boolean | No | | If True all forecast ensemble members will be returned | | cell\_selection | String | No | nearest | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Daily Parameter Definition](https://open-meteo.com/en/docs/flood-api#daily_parameter_definition) The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | river\_discharge | m³/s | Daily river discharge rate in m³/s | | river\_discharge\_mean
river\_discharge\_median
river\_discharge\_max
river\_discharge\_min
river\_discharge\_p25
river\_discharge\_p75 | m³/s | Statistical analysis from ensemble members for river discharge rate in m³/s. Only available for forecasts and not for consolidated historical data. | [### JSON Return Object](https://open-meteo.com/en/docs/flood-api#json_return_object) On success a JSON object will be returned. { "latitude": 59.9, "longitude": 10.75, "generationtime_ms": 0.0627040863037109, "utc_offset_seconds": 0, "timezone": "GMT", "timezone_abbreviation": "GMT", "daily_units": { "river_discharge": "m³/s" }, "daily": { "time": ["2025-03-03", "2025-03-04", "2025-03-05", ...], "river_discharge": [8.04, 8.75, 8.93, ...] } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | daily | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/flood-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value river_discharge for key daily" } --- # Ensemble API | Open-Meteo.com Ensemble API ============ Perturbed Weather Forecasts from Hundreds of Members The initial version of ensemble weather models has been integrated. You can learn more about these models in the [blog article](https://openmeteo.substack.com/p/ensemble-weather-forecast-api) . [Location and Time\ -----------------](https://open-meteo.com/en/docs/ensemble-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Ensemble Models\ ---------------](https://open-meteo.com/en/docs/ensemble-api#ensemble_models) DWD ICON EPS Seamless DWD ICON EPS Global DWD ICON EPS EU DWD ICON EPS D2 GFS Ensemble Seamless GFS Ensemble 0.25 GFS Ensemble 0.5 ECMWF IFS 0.25° Ensemble ECMWF AIFS 0.25° Ensemble GEM Global Ensemble BOM ACCESS Global UK MetOffice Global 20km UK MetOffice UK 2km MeteoSwiss ICON CH1 MeteoSwiss ICON CH2 [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/ensemble-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + snow) Rain Snowfall Snow Depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (80 m) Wind Speed (100 m) Wind Speed (120 m) Wind Direction (10 m) Wind Direction (80 m) Wind Direction (100 m) Wind Direction (120 m) Wind Gusts (10 m) Temperature (80 m) Temperature (120 m) Surface Temperature Soil Temperature (0-10 cm) Soil Temperature (10-40 cm) Soil Temperature (40-100 cm) Soil Temperature (100-200 cm) Soil Moisture (0-10 cm) Soil Moisture (10-40 cm) Soil Moisture (40-100 cm) Soil Moisture (100-400 cm) Soil Temperature (0-7 cm) Soil Temperature (7-28 cm) Soil Temperature (28-100 cm) Soil Temperature (100-255 cm) Soil Moisture (0-7 cm) Soil Moisture (7-28 cm) Soil Moisture (28-100 cm) Soil Moisture (100-255 cm) Additional Variables And Options -------------------------------- UV Index UV Index Clear Sky Temperature 3-Hourly Minimum (2 m) Temperature 3-Hourly Maximum (2 m) Wet Bulb Temperature (2 m) CAPE Convective Inhibition (CIN) Freezing Level Height Snowfall Height Sunshine Duration Snowfall (Water Equivalent) Snow Depth (Water Equivalent) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Relative Humidity Dew Point Cloud Cover Wind Speed Wind Direction Vertical Velocity Geopotential Height Temperature 1000 hPa (110 m) 925 hPa (800 m) 850 hPa (1500 m) 700 hPa (3 km) 600 hPa (4.2 km) 500 hPa (5.6 km) 400 hPa (7.2 km) 300 hPa (9.2 km) 250 hPa (10.4 km) 200 hPa (11.8 km) 150 hPa (13.5 km) 100 hPa (15.8 km) 50 hPa (19.3 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/ensemble-api#daily_weather_variables) Mean Temperature (2 m) Minimum Temperature (2 m) Maximum Temperature (2 m) Mean Apparent Temperature Minimum Apparent Temperature Maximum Apparent Temperature Mean Wind Speed (10 m) Minimum Wind Speed (10 m) Maximum Wind Speed (10 m) Dominant Wind Direction (10 m) Mean Wind Gusts (10 m) Minimum Wind Gusts (10 m) Maximum Wind Gusts (10 m) Mean Wind Speed (100 m) Minimum Wind Speed (100 m) Maximum Wind Speed (100 m) Dominant Wind Direction (100m) Mean Cloud Cover Minimum Cloud Cover Maximum Cloud Cover Precipitation Sum Precipitation Hours Rain Sum Snowfall Sum Mean Sea Level Pressure Minimum Sea Level Pressure Maximum Sea Level Pressure Mean Surface Pressure Minimum Surface Pressure Maximum Surface Pressure Mean Relative Humidity (2 m) Minimum Relative Humidity (2 m) Maximum Relative Humidity (2 m) Mean CAPE Minimum CAPE Maximum CAPE Mean Dewpoint (2 m) Minimum Dewpoint (2 m) Maximum Dewpoint (2 m) Reference Evapotranspiration (ET₀) Shortwave Radiation Sum [Settings\ --------](https://open-meteo.com/en/docs/ensemble-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/ensemble-api#api_response) Preview: Chart & URL Python TypeScript Other Loading... [Download XLSX](https://ensemble-api.open-meteo.com/v1/ensemble?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=icon_seamless&format=xlsx) [Download CSV](https://ensemble-api.open-meteo.com/v1/ensemble?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=icon_seamless&format=csv) API URL ([Open in new tab](https://ensemble-api.open-meteo.com/v1/ensemble?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=icon_seamless) or copy this URL into your application) Note: This API call is equivalent to **4.0** calls because of factors like long time intervals, the number of locations, variables, or models involved. [Data Sources\ ------------](https://open-meteo.com/en/docs/ensemble-api#data_sources) Ensemble models are a type of weather forecasting technique that use multiple members or versions of a model to produce a range of possible outcomes for a given forecast. Each member is initialized with slightly different initial conditions and/or model parameters to account for uncertainties and variations in the atmosphere, resulting in a set of perturbed forecasts. By combining the perturbed forecasts, the ensemble model generates a probability distribution of possible outcomes, indicating not only the most likely forecast but also the range of possible outcomes and their likelihoods. This probabilistic approach provides more comprehensive and accurate forecast guidance, especially for high-impact weather events where uncertainties are high. Different national weather services calculate ensemble models, each with varying resolutions of weather variables and forecast time-range. For instance, the German weather service DWD's ICON model provides exceptionally high resolution for Europe but only forecasts up to 7 days. Meanwhile, the GFS model can forecast up to 35 days, albeit at a lower resolution of 50 km. The appropriate ensemble model to use would depend on the forecast horizon and region of interest. | | | | | | | | | --- | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . To ensure ease of use, all data is interpolated to a 1-hourly time-step resolution. As the forecast horizon extends further into the future, some ensemble models may reduce the time resolution to 6-hourly intervals. | National Weather Service | Weather Model | Region | Resolution | Members | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | --- | | Deutscher Wetterdienst (DWD) | ICON-D2-EPS | Central Europe | 2 km, hourly | 20 | 2 days | Every 3 hours | | ICON-EU-EPS | Europe | 13 km, hourly | 40 | 5 days | Every 6 hours | | ICON-EPS | Global | 26 km, hourly | 40 | 7.5 days | Every 12 hours | | NOAA | GFS Ensemble 0.25° | Global | 25 km, 3-hourly | 31 | 10 days | Every 6 hours | | GFS Ensemble 0.5° | Global | 50 km, 3-hourly | 31 | 35 days | Every 6 hours | | ECMWF | IFS 0.25° | Global | 25 km, 3-hourly | 51 | 15 days | Every 6 hours | | AIFS 0.25° | Global | 25 km, 6-hourly | 51 | 15 days | Every 6 hours | | Canadian Weather Service | GEM | Global | 25 km, 3-hourly | 21 | 16 days (39 days every Mo+Thu) | Every 12 hours | | Australian Bureau of Meteorology (BOM) | ACCESS-GE | Global | 40 km, 3-hourly | 18 | 10 days | Every 6 hours | | UK Met Office | MOGREPS-UK | UK | 2 km, 1-hourly | 3 | 5 days | Every hour | | MOGREPS-G | Global | 20 km, 1-hourly | 18 | 8 days | Every 6 hours | | MeteoSwiss | ICON CH1 | Central Europe | 1 km, 1-hourly | 11 | 33 hours | Every 3 hours | | ICON CH2 | Central Europe | 2 km, 1-hourly | 21 | 12 hours | Every 6 hours | [API Documentation\ -----------------](https://open-meteo.com/en/docs/ensemble-api#api_documentation) The API endpoint /v1/ensemble accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 7 days for each ensemble member. Time always starts at 0:00 today. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | models | String array | Yes | | Select one or more ensemble weather models as comma-separated list | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer | No | 0 | If past\_days is set, past weather data can be returned. | | forecast\_days | Integer (0-35) | No | 7 | Per default, only 7 days are returned. Up to 35 days of forecast are possible. | | forecast\_hours
forecast\_minutely\_15
past\_hours
past\_minutely\_15 | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly and 15-minutely data can controlled. Instead of using the current day as a reference, the current hour or the current 15-minute time-step is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour
start\_minutely\_15
end\_minutely\_15 | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly or 15 minutely data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/ensemble-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | wind\_speed\_10m
wind\_speed\_80m
wind\_speed\_100m

wind\_speed\_120m | Instant | km/h (mph, m/s, knots) | Wind speed at 10, 80, 100 or 120 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_80m
wind\_direction\_100m
wind\_direction\_120m | Instant | ° | Wind direction at 10, 80, 100 or 120 meters above ground | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). HRRR offers direct radiation directly. In GFS it is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. HRRR offers diffuse radiation directly. In GFS it is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | evapotranspiration | Preceding hour sum | mm (inch) | Evapotranspration from land surface and plants that weather models assumes for this location. Available soil water is considered. 1 mm evapotranspiration per hour equals 1 liter of water per spare meter. | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation, snowfall, cape, lifted index and gusts. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | rain | Preceding hour sum | mm (inch) | Liquid precipitation of the preceding hour in millimeter | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. | | snow\_depth | Instant | meters | Snow depth on the ground | | freezing\_level\_height | Instant | meters | Altitude above sea level of the 0°C level | | visibility | Instant | meters | Viewing distance in meters. Influenced by low clouds, humidity and aerosols. | | cape | Instant | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | | surface\_temperature | Instant | °C (°F) | Temperature of the top soil level | | soil\_temperature\_0\_to\_10cm
soil\_temperature\_10\_to\_40cm
soil\_temperature\_40\_to\_100cm
soil\_temperature\_100\_to\_200cm | Instant | °C (°F) | Temperature in the soil as an average on 0-10, 10-40, 40-100 and 100-200 cm depths. | | soil\_moisture\_0\_to\_10cm
soil\_moisture\_10\_to\_40cm
soil\_moisture\_40\_to\_100cm
soil\_moisture\_100\_to\_200cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-10, 10-40, 40-100 and 100-200 cm depths. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/ensemble-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | temperature\_2m\_max
temperature\_2m\_mean
temperature\_2m\_min | °C (°F) | Maximum, mean and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_mean
apparent\_temperature\_min | °C (°F) | Maximum, mean and minimum daily apparent temperature | | cloud\_cover\_max
cloud\_cover\_mean
cloud\_cover\_min | % | Maximum, mean and minimum cloud cover as an area fraction | | relative\_humidity\_2m\_max
relative\_humidity\_2m\_mean
relative\_humidity\_2m\_min | % | Maximum, mean and minimum relative humidity at 2 meters above ground | | rain\_sum | mm | Sum of daily rain | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | precipitation\_hours | hours | The number of hours with rain | | pressure\_msl\_max
pressure\_msl\_mean
pressure\_msl\_min
surface\_pressure\_max
surface\_pressure\_mean
surface\_pressure\_min | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | wind\_speed\_10m\_max
wind\_speed\_10m\_mean
wind\_speed\_10m\_min
wind\_gusts\_10m\_max
wind\_gusts\_10m\_mean
wind\_gusts\_10m\_min | km/h (mph, m/s, knots) | Maximum, mean and minimum wind speed and gusts on a day | | wind\_direction\_10m\_dominant
wind\_direction\_100m\_dominant | ° | Dominant wind direction | | dew\_point\_2m\_max
dew\_point\_2m\_mean
dew\_point\_2m\_min | °C (°F) | Dew point temperature at 2 meters above ground | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | cape\_max
cape\_mean
cape\_min | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | --- # Seasonal Weather Forecast API | Open-Meteo.com Seasonal Forecast API ===================== Sub-Seasonal and Long Range Forecast for 7 Months This API provides seasonal ECMWF SEAS5 and sub-seasonal ECMWF EC46 forecasts at a 36 km resolution with 51 ensemble members. The data are not bias-corrected and may not accurately reflect local conditions. They should be interpreted as area forecasts, giving an indication of whether the coming months are likely to be warmer, colder, wetter, or drier than average. [Location and Time\ -----------------](https://open-meteo.com/en/docs/seasonal-forecast-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 6 months (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [6-Hourly Weather Variables\ --------------------------](https://open-meteo.com/en/docs/seasonal-forecast-api#6_hourly_weather_variables) Temperature (2 m) Temperature 6h Maximum (2 m)\* Temperature 6h Minimum (2 m)\* Dew Point (2 m) Relative Humidity (2 m) Apparent Temperature (2 m) Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Sea Level Pressure Weather Code Total Precipitation Showers\* Snowfall Rain Wave Height\* Wave Direction\* Wave Period\* Wave Peak Period\* Total Cloud Cover Sunshine Duration\* Wind Speed (10 m) Wind Speed (100 m) Wind Speed (200 m) Wind Direction (10 m) Wind Direction (100 m) Wind Direction (200 m) Wind Gusts (10 m)\* Sea Surface Temperature Soil Temperature (0-7 cm) Soil Temperature (7-28 cm)\* Soil Temperature (28-100 cm)\* Soil Temperature (100-255 cm)\* Soil Moisture (0-7 cm)\* Soil Moisture (7-28 cm)\* Soil Moisture (28-100 cm)\* Soil Moisture (100-255 cm)\* \* Only available for 46 days, based on ECMWF EC46. Additional Options ------------------ 6 Hourly (default) Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Ensemble Spread Variables ------------------------- Temperature (2 m) Temperature 6h Maximum (2 m)\* Temperature 6h Minimum (2 m)\* Dew Point (2 m) Relative Humidity (2 m) Apparent Temperature (2 m) Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Sea Level Pressure Weather Code Total Precipitation Showers\* Snowfall Rain Wave Height\* Wave Direction\* Wave Period\* Wave Peak Period\* Total Cloud Cover Sunshine Duration\* Wind Speed (10 m) Wind Speed (100 m) Wind Speed (200 m) Wind Direction (10 m) Wind Direction (100 m) Wind Direction (200 m) Wind Gusts (10 m)\* Sea Surface Temperature Soil Temperature (0-7 cm) Soil Temperature (7-28 cm)\* Soil Temperature (28-100 cm)\* Soil Temperature (100-255 cm)\* Soil Moisture (0-7 cm)\* Soil Moisture (7-28 cm)\* Soil Moisture (28-100 cm)\* Soil Moisture (100-255 cm)\* Note: You need to select an Ensemble Mean in the model selection below to retrieve ensemble spread data. Selecting an Ensemble Mean model will also return the ensemble mean value for hourly data instead of values for each individual member. Models ------ ECMWF Seasonal Seamless (EC46 + SEAS5), All 51 members ECMWF SEAS5, All 51 members ECMWF EC46, All 51 members ECMWF Seasonal Seamless (EC46 + SEAS5), Ensemble Mean ECMWF SEAS5, Ensemble Mean ECMWF EC46, Ensemble Mean Note: The default ECMWF Seasonal Seamless uses all 51 members from EC46 for the first 46 days and switches to SEAS5 afterwards. Some weather variables may only be available for either weather model. Note: If an Ensemble Mean model is selected, the API will return the mean value of all ensemble members instead of individual members. Ensemble mean values are stored for a longer period of time. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/seasonal-forecast-api#daily_weather_variables) Temperature (2 m) Min Mean Max Apparent Temperature Min Mean Max Relative Humidity (2 m) Min Mean Max Dew Point (2 m) Min Mean Max Precipitation Sum Rain Sum Sum Showers\* Sum Snowfall Sum Snowfall Water Equivalent Sum Sealevel Pressure Min Mean Max Surface Pressure Min Mean Max Sea Surface Temperature Min Mean Max Cloud Cover Min Mean Max Reference Evapotranspiration (ET₀) Sum Shortwave Radiation Sum Sun Sunrise Sunset Weather code Weather code Wet Bulb Temperature (2 m) Min Mean Max Vapour Pressure Deficit Min Mean Max Wind Speed (10 m) Min Mean Max Wind Speed (100 m)\* Min Mean Max Wind Speed (200 m)\* Min Mean Max Wind Gusts (10 m)\* Min Mean Max Wind Direction (10 m) Dominant Wind Direction (100 m)\* Dominant Wind Direction (200 m)\* Dominant Soil Temperature (0-7 cm) Mean Soil Temperature (7-28 cm) Mean Soil Temperature (28-100 cm) Mean Soil Temperature (100-255 cm) Mean Soil Moisture (0-7 cm) Mean Soil Moisture (7-28 cm) Mean Soil Moisture (28-100 cm) Mean Soil Moisture (100-255 cm) Mean \* Only available for 46 days, based on ECMWF EC46. [Weekly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/seasonal-forecast-api#weekly_weather_variables) Temperature (2 m) Mean Anomaly Temperature (2 m) Max 6h Mean Anomaly Temperature (2 m) Min 6h Mean Anomaly Dew Point (2 m) Mean Anomaly Soil Temperature (0-7 cm) Mean Anomaly Precipitation Mean Anomaly Snowfall Mean Anomaly Snow Depth Mean Anomaly Pressure Mean Sea Level Mean Anomaly Sea Surface Temperature Mean Anomaly Sunshine Duration Mean Anomaly Cloud Cover Mean Anomaly Wind Speed (10 m) Mean Anomaly Wind Speed (100 m) Mean Anomaly Wind Direction (10 m) Mean Anomaly Wind Direction (100 m) Mean Anomaly Additional Weekly Variables --------------------------- Snow Density Mean Anomaly Snow Depth Water Equivalent Mean Anomaly Snowfall Water Equivalent Mean Anomaly Total Column Integrated Water Vapour Mean Anomaly Anomaly Probabilities, Extreme Forecast Index (EFI) & Shift of tails (SOT) -------------------------------------------------------------------------- Temperature (2 m) Extreme Forecast Index Temperature (2 m) Shift of Tails 10 Temperature (2 m) Shift of Tails 90 Temperature (2 m) Anomaly Greater than 0K Temperature (2 m) Anomaly Greater than 1K Temperature (2 m) Anomaly Greater than 2K Temperature (2 m) Anomaly Lower than -1K Temperature (2 m) Anomaly Lower than -2K Precipitation Extreme Forecast Index Precipitation Shift of Tails 90 Precipitation Anomaly Greater than 0mm Precipitation Anomaly Greater than 10mm Precipitation Anomaly Greater than 20mm Pressure Mean Sea Level Greater than 0Pa Surface Temperature Anomaly Greater than 0K [Monthly Weather Variables\ -------------------------](https://open-meteo.com/en/docs/seasonal-forecast-api#monthly_weather_variables) Temperature (2 m) Mean Anomaly Temperature (2 m) Max 24h Mean Anomaly Temperature (2 m) Min 24h Mean Anomaly Dew Point (2 m) Mean Anomaly Precipitation Mean Anomaly Showers Mean Anomaly Snowfall Mean Anomaly Snow Depth Mean Anomaly Cloud Cover Mean Anomaly Cloud Cover Low Mean Anomaly Sunshine Duration Mean Anomaly Shortwave Radiation Mean Anomaly Sealevel Pressure Mean Anomaly Sea Surface Temperature Mean Anomaly Wind Speed (10 m) Mean Anomaly Wind Gusts (10 m) Anomaly Soil Temperature (0-7 cm) Mean Anomaly Soil Temperature (7-28 cm) Mean Anomaly Soil Temperature (28-100 cm) Mean Anomaly Soil Temperature (100-255 cm) Mean Anomaly Soil Moisture (0-7 cm) Mean Anomaly Soil Moisture (7-28 cm) Mean Anomaly Soil Moisture (28-100 cm) Mean Anomaly Soil Moisture (100-255 cm) Mean Anomaly Additional Monthly Variables ---------------------------- Runoff Mean Anomaly Evapotranspiration Mean Anomaly Snow Density Mean Anomaly Snow Depth (Water Equivalent) Mean Anomaly Total Column Integrated Water Vapour Mean Anomaly Sea Ice Cover Mean Anomaly Longwave Radiation Mean Anomaly Snowfall Water Equivalent Mean Anomaly Albedo Mean Anomaly Latent Heat Flux Mean Anomaly Sensible Heat Flux Mean Anomaly [Settings\ --------](https://open-meteo.com/en/docs/seasonal-forecast-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/seasonal-forecast-api#api_response) Preview: Chart & URL Python TypeScript Other Loading... [Download XLSX](https://seasonal-api.open-meteo.com/v1/seasonal?latitude=52.52&longitude=13.41&daily=temperature_2m_max&format=xlsx) [Download CSV](https://seasonal-api.open-meteo.com/v1/seasonal?latitude=52.52&longitude=13.41&daily=temperature_2m_max&format=csv) API URL ([Open in new tab](https://seasonal-api.open-meteo.com/v1/seasonal?latitude=52.52&longitude=13.41&daily=temperature_2m_max) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/seasonal-forecast-api#data_sources) This API provides data from the ECMWF EC46 and SEAS5 seasonal forecast models. SEAS5 generates forecasts up to 7 months in advance, EC46 provides forecasts for up to 46 days ahead. Both models are ensemble forecast systems with 51 members, each initialized with slightly different starting conditions. This approach allows the models to estimate not only the most likely future weather but also the range of possible outcomes and their associated uncertainties. In addition to the 51 individual member forecasts, Open-Meteo also provides ensemble mean and spread values. If an Ensemble Mean model is selected in the model selection above, the API returns the ensemble mean instead of individual member forecasts. Ensemble mean and spread values are stored for a longer period of time and can be used for bias correction later on. Forecasts for all 51 individual members are only kept for one month. Forecasts from EC46 for the next 46 days are updated every day at around 20:30 GMT+0. Seasonal SEAS5 forecast update every month on the 5th. For short-term forecasting consider using the [15-days ECMWF forecast](https://open-meteo.com/en/docs/ecmwf-api) | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [EC46](https://www.ecmwf.int/en/forecasts/about-our-forecasts/sub-seasonal-range-forecasts) | Global | 36 km (O320 grid) | 6-hourly | 46 days | Daily at 20:30Z | | [SEAS5](https://confluence.ecmwf.int/display/FCST/Implementation+of+Seasonal+Forecast+SEAS5) | Global | 36 km (O320 grid) | 6-hourly | 7 months | Every month on the 5th | [API Documentation\ -----------------](https://open-meteo.com/en/docs/seasonal-forecast-api#api_documentation) For a detailed list of all available weather variables please refer to the general [Weather Forecast API](https://open-meteo.com/en/docs) . Only notable remarks are listed below * **6-hourly resolution:** Forecast data is provided at a native 6-hour interval. While it can be interpolated to 3-hourly or 1-hourly steps, this does not increase forecast accuracy. However, using 1-hourly resolution may be practical for applications such as solar PV modeling. * Data is available for **51 ensemble member**s, which can be useful for applications such as running pest or energy production models using each member individually and averaging the results. Although EC46 generates 100 ensemble members, providing 51 offers a good balance between data volume and accuracy and is sufficient for most use cases. * **Solar Radiation:** SEAS5 only contains global solar radiation data and does not offer direct or diffuse solar radiation. Open-Meteo applies the separation model from [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) to calculate direct radiation from shortwave solar radiation. EC46 used for the first 46 days directly models direct and diffuse solar radiation. * **Weekly and monthly data** are computed directly by the ECMWF SEAS5 and EC46 models. Monthly data is available from SEAS5 for up to 7 months ahead, based on 51 ensemble members, while weekly data is available from EC46 for up to 6 weeks ahead, using 100 ensemble members. * **Anomalies** are calculated by comparing forecast values against a long-term model climatology (a baseline of past simulations from the same forecasting system). ECMWF runs past forecasts (typically covering the last 20–30+ years) using the same model configuration. These hindcasts build a model-consistent climatology. For each forecast, the anomaly is obtained by subtracting the model climatology from the forecast value: Anomaly = Forecast - Model Climatology * **The Extreme Forecast Index (EFI)** highlights potential extreme events in temperature or precipitation relative to the expected climate. Rather than showing absolute values, the EFI expresses how unusual a forecast is compared to the model climate. For temperature, EFI values near +1 indicate a high likelihood of much warmer-than-normal conditions, while values near –1 suggest much colder-than-normal conditions. For precipitation, EFI values close to +1 point to much wetter-than-normal conditions, and those near –1 indicate much drier-than-normal conditions. [More information in the ECMWF documentation](https://confluence.ecmwf.int/display/FUG/Section+8.1.9.2+Extreme+Forecast+Index+-+EFI "Extreme Forecast Index - EFI") . * The **Shift of Tails (SOT)** is a complementary metric to the Extreme Forecast Index (EFI) that indicates how extreme an event could potentially become. While the EFI is limited by the historical extremes of the model climate, the SOT examines the outer tails of the forecast distribution — capturing rare, exceptional events that may exceed anything previously simulated by the model. The SOT is computed for the 10th and 90th percentiles across all 100 EC46 ensemble members. [More information in the ECMWF documentation](https://confluence.ecmwf.int/display/FUG/Section+8.1.9.3+Calculating+the+Shift+of+Tails+-+SOT "Calculating the Shift of Tails - SOT") . * **Bias correction:** The dataset is currently provided without bias adjustment. Future versions of the API may include bias-corrected and downscaled outputs for improved local accuracy. Parameters such as anomalies, EFI, and SOT are expressed relative to the model climate, which inherently reduces some systematic biases. This service is based on data and products of the European Centre for Medium-Range Weather Forecasts (ECMWF). Source [www.ecmwf.int](https://www.ecmwf.int/) . ECMWF does not accept any liability whatsoever for any error or omission in the data, their availability, or for any loss or damage arising from their use. --- # GEM API | Open-Meteo.com GEM API ======= 2.5 km high resolution forecasts for North America The API utilises GEM models from the Canadian Meteorological Center, optimised for North America. However, updates every 6 hours may not reflect the latest weather developments. For accurate forecasts for any location worldwide, the [generic Weather Forecast API](https://open-meteo.com/en/docs) is recommended. [Location and Time\ -----------------](https://open-meteo.com/en/docs/gem-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/gem-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Showers Snowfall Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (40 m) Wind Speed (80 m) Wind Speed (120 m) Wind Direction (10 m) Wind Direction (40 m) Wind Direction (80 m) Wind Direction (120 m) Wind Gusts (10 m) Temperature (40 m) Temperature (80 m) Temperature (120 m) Soil Temperature (0-10 cm) Soil Moisture (0-10 cm) Additional Variables And Options -------------------------------- Is Day or Night Sunshine Duration CAPE Wet Bulb Temperature (2 m) Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. \- (default) Forecast Hours \- (default) Past Hours 1 Hourly Temporal Resolution For Hourly Data Terrain Optimised, Prefers Land Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Dewpoint Relative Humidity Cloud Cover Wind Speed Wind Direction Geopotential Height Temperature 10 hPa (26 km) 20 hPa (23 km) 30 hPa (22 km) 50 hPa (19.3 km) 100 hPa (15.8 km) 150 hPa (13.5 km) 175 hPa (12.6 km) 200 hPa (11.8 km) 225 hPa (11 km) 250 hPa (10.4 km) 275 hPa (9.7 km) 300 hPa (9.2 km) 350 hPa (8.1 km) 400 hPa (7.2 km) 450 hPa (6.3 km) 500 hPa (5.6 km) 550 hPa (4.9 km) 600 hPa (4.2 km) 650 hPa (3.6 km) 700 hPa (3 km) 750 hPa (2.5 km) 800 hPa (1900 m) 850 hPa (1500 m) 875 hPa (1200 m) 900 hPa (1000 m) 925 hPa (800 m) 950 hPa (500 m) 970 hPa (370 m) 985 hPa (240 m) 1000 hPa (110 m) 1015 hPa (-10 m) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. Weather models -------------- GEM Seamless GEM Global GEM Regional GEM HRDPS Continental GEM HRDPS West Note: The default Best Match provides the best forecast for any given location worldwide. Seamless combines all models from a given provider into a seamless prediction. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/gem-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration Precipitation Sum Rain Sum Showers Sum Snowfall Sum Precipitation Hours Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Current Weather\ ---------------](https://open-meteo.com/en/docs/gem-api#current_weather) Temperature (2 m) Relative Humidity (2 m) Apparent Temperature Is Day or Night Precipitation Rain Showers Snowfall Weather code Cloud Cover Total Sea Level Pressure Surface Pressure Wind Speed (10 m) Wind Direction (10 m) Wind Gusts (10 m) Note: Current conditions are based on 15-minutely weather model data. Every weather variable available in hourly data, is available as current condition as well. [Settings\ --------](https://open-meteo.com/en/docs/gem-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/gem-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=gem_seamless&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=gem_seamless&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=gem_seamless) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/gem-api#data_sources) This API uses [Global Environmental Multiscale Model (GEM)](https://en.wikipedia.org/wiki/Global_Environmental_Multiscale_Model) from the Canadian weather service. Global and regional weather models are combined into a seamless prediction. For GEM Global, values are interpolated from 3-hourly to 1-hourly values. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [GEM Global](https://weather.gc.ca/grib/grib2_glb_25km_e.html) | Global | 0.15° (~15 km) | 3-Hourly | 10 days | Every 12 hours | | [GEM Regional](https://weather.gc.ca/grib/grib2_reg_10km_e.html) | North America, North Pole | 10 km | Hourly | 3.5 days | Every 6 hours | | [HRDPS Continental](https://weather.gc.ca/grib/grib2_HRDPS_HR_e.html) | Canada, Nothern US | 2.5 km | Hourly | 2 days | Every 6 hours | | [HRDPS West (Experimental)](https://eccc-msc.github.io/open-data/msc-data/nwp_hrdps/readme_hrdps-datamart-alpha_en/) | West Canada | 1 km | Hourly | 2 days | Every 12 hours | ![HRDPS Model Area](https://open-meteo.com/images/models/gem_hrdps.webp) HRDPS Model Area. Source: [Open-Meteo](https://open-meteo.com/) . ![HRDPS West Model Area](https://open-meteo.com/_app/immutable/assets/gem_hrdps_west_original.DalJJ6Gr.png) HRDPS West Model Area. Source: [Open-Meteo](https://open-meteo.com/) . ![RDPS Regional Model Area](https://open-meteo.com/images/models/gem_rdps.webp) RDPS Regional Model Area. Source: [Open-Meteo](https://open-meteo.com/) . [API Documentation\ -----------------](https://open-meteo.com/en/docs/gem-api#api_documentation) The API endpoint /v1/gem accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 7 days. Time always starts at 0:00 today and contains 168 hours. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. For multiple locations, elevation can also be comma separated. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | current | String array | No | | A list of weather variables to get current conditions. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically reso For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer | No | 0 | If past\_days is set, past weather data can be returned. | | forecast\_days | Integer (0-10) | No | 5 | Per default, 5 days are returned. Up to 10 days of forecast are possible. | | forecast\_hours
past\_hours | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly data can controlled. Instead of using the current day as a reference, the current hour is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/gem-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m
temperature\_40m
temperature\_80m
temperature\_120m | Instant | °C (°F) | Air temperature at 2, 40, 80 or 120 meters above ground. 2 m is the standard level. | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude. Note: Low, medium and high clouds are calculated from pressure level data. Totcal cloud cover might differ. | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude | | wind\_speed\_10m
wind\_speed\_40m
wind\_speed\_80m
wind\_speed\_120m | Instant | km/h (mph, m/s, knots) | Wind speed at 10, 40, 80 or 120 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_40m
wind\_direction\_80m
wind\_direction\_120m | Instant | ° | Wind direction at 10, 40, 80 or 120 meters above ground | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). GEM does not offers diffuse and direct radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. GEM does not offers diffuse and direct radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation, snowfall, cape and gusts. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | rain | Preceding hour sum | mm (inch) | Rain from large scale weather systems of the preceding hour in millimeter | | showers | Preceding hour sum | mm (inch) | Showers from convective precipitation in millimeters from the preceding hour | | soil\_temperature\_0\_to\_10cm | Instant | °C (°F) | Average temperature in the soil at 0-10 cm depts. | | soil\_moisture\_0\_to\_10cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-10 cm depth. | [### Pressure Level Variables](https://open-meteo.com/en/docs/gem-api#pressure_level_variables) Pressure level variables do not have fixed altitudes. Altitude varies with atmospheric pressure. 1000 hPa is roughly between 60 and 160 meters above sea level. Estimated altitudes are given below. Altitudes are in meters above sea level (not above ground). For precise altitudes, geopotential\_height can be used. GEM includes a 1050 hPa level, which technically is to a level below ground. Please note, that this is not the soil temperature! If geopotential height is below ground, data should not be used. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Level (hPa) | 10 | 20 | 30 | 50 | 100 | 150 | 175 | 200 | 225 | 250 | 275 | 300 | 350 | 400 | 450 | 500 | 550 | 600 | 650 | 700 | 750 | 800 | 850 | 875 | 900 | 925 | 950 | 970 | 985 | 1000 | 1015 | | Altitude | 26 km | 23 km | 22 km | 19.3 km | 15.8 km | 13.5 km | 12.6 km | 11.8 km | 11 km | 10.4 km | 9.7 km | 9.2 km | 8.1 km | 7.2 km | 6.3 km | 5.6 km | 4.9 km | 4.2 km | 3.6 km | 3 km | 2.5 km | 1900 m | 1500 m | 1200 m | 1000 m | 800 m | 500 m | 370 m | 240 m | 110 m | \-10 m | All pressure levels have valid times of the indicated hour (instant). | Variable | Unit | Description | | --- | --- | --- | | weather\_code | WMO code | The most severe weather condition on a given day | | temperature\_1000hPa
temperature\_975hPa, ... | °C (°F) | Air temperature at the specified pressure level. Air temperatures decrease linearly with pressure. | | relative\_humidity\_1000hPa
relative\_humidity\_975hPa, ... | % | Relative humidity at the specified pressure level. | | dew\_point\_1000hPa
dew\_point\_975hPa, ... | °C (°F) | Dew point temperature at the specified pressure level. | | cloud\_cover\_1000hPa
cloud\_cover\_975hPa, ... | % | Cloud cover at the specified pressure level. GEM does not inlude parameterised cloud cover directly. It is approximated based on relative humidity using [Sundqvist et al. (1989)](https://www.ecmwf.int/sites/default/files/elibrary/2005/16958-parametrization-cloud-cover.pdf)
. It may not match perfectly with low, mid and high cloud cover variables. | | wind\_speed\_1000hPa
wind\_speed\_975hPa, ... | km/h (mph, m/s, knots) | Wind speed at the specified pressure level. | | wind\_direction\_1000hPa
wind\_direction\_975hPa, ... | ° | Wind direction at the specified pressure level. | | geopotential\_height\_1000hPa
geopotential\_height\_975hPa, ... | meter | Geopotential height at the specified pressure level. This can be used to get the correct altitude in meter above sea level of each pressure level. Be carefull not to mistake it with altitude above ground. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/gem-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | weather\_code | WMO code | The most severe weather condition on a given day | | temperature\_2m\_max
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | rain\_sum | mm | Sum of daily rain | | showers\_sum | mm | Sum of daily showers | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_hours | hours | The number of hours with rain | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_speed\_10m\_max
wind\_gusts\_10m\_max | km/h (mph, m/s, knots) | Maximum wind speed and gusts on a day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | [### JSON Return Object](https://open-meteo.com/en/docs/gem-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/gem-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } --- # CMA GFS GRAPES Weather Model API | Open-Meteo.com CMA Forecast API ================ Weather forecasts from the Chinese Meteorological Administration Unfortunately, CMA’s open-data services have been heavily overloaded in recent weeks, making it nearly impossible to download forecasts reliably. We hope these issues are resolved soon so the open-data community can once again access CMA weather forecasts. This API provides weather forecasts based on the global GFS GRAPES model from the Chinese Meteorological Administration. For more extensive use cases, we recommend the [Weather Forecast API](https://open-meteo.com/en/docs) , which utilises multiple local weather models for forecasts extending up to 16 days. [Location and Time\ -----------------](https://open-meteo.com/en/docs/cma-api#location_and_time) Location: Coordinates List Bounding box Latitude Longitude Not set (GMT+0) Timezone Search Time: Forecast Length Time Interval 7 days (default) Forecast days 0 days (default) Past days By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days. If you're interested in past weather data, you can use the Past Days feature to access archived forecasts. [Hourly Weather Variables\ ------------------------](https://open-meteo.com/en/docs/cma-api#hourly_weather_variables) Temperature (2 m) Relative Humidity (2 m) Dewpoint (2 m) Apparent Temperature Precipitation (rain + showers + snow) Rain Showers Snowfall Snow Depth Weather code Sea Level Pressure Surface Pressure Cloud Cover Total Cloud Cover Low Cloud Cover Mid Cloud Cover High Visibility Reference Evapotranspiration (ET₀) Vapour Pressure Deficit Wind Speed (10 m) Wind Speed (30 m) Wind Speed (50 m) Wind Speed (70 m) Wind Speed (100 m) Wind Speed (120 m) Wind Speed (140 m) Wind Speed (160 m) Wind Speed (180 m) Wind Speed (200 m) Wind Direction (10 m) Wind Direction (30 m) Wind Direction (50 m) Wind Direction (70 m) Wind Direction (100 m) Wind Direction (120 m) Wind Direction (140 m) Wind Direction (160 m) Wind Direction (180 m) Wind Direction (200 m) Wind Gusts (10 m) Surface Temperature Soil Temperature (0-10 cm) Soil Temperature (10-40 cm) Soil Temperature (40-100 cm) Soil Temperature (100-200 cm) Soil Moisture (0-10 cm) Soil Moisture (10-40 cm) Soil Moisture (40-100 cm) Soil Moisture (100-200 cm) Additional Variables And Options -------------------------------- Is Day or Night Sunshine Duration Wet Bulb Temperature (2 m) CAPE Lifted Index Convective Inhibition Note: You can further adjust the forecast time range for hourly weather variables using &forecast\_hours= and &past\_hours= as shown below. Forecast Hours Past Hours Temporal Resolution For Hourly Data Grid Cell Selection Solar Radiation Variables ------------------------- Shortwave Solar Radiation GHI Direct Solar Radiation Diffuse Solar Radiation DHI Direct Normal Irradiance DNI Global Tilted Radiation GTI Terrestrial Solar Radiation Shortwave Solar Radiation GHI (Instant) Direct Solar Radiation (Instant) Diffuse Solar Radiation DHI (Instant) Direct Normal Irradiance DNI (Instant) Global Tilted Radiation GTI (Instant) Terrestrial Solar Radiation (Instant) Note: Solar radiation is averaged over the past hour. Use instant for radiation at the indicated time. For global tilted irradiance GTI please specify Tilt and Azimuth below. Panel Tilt (0° horizontal) Panel Azimuth (0° S, -90° E, 90° W, ±180° N) Pressure Level Variables ------------------------ Temperature Dewpoint Relative Humidity Cloud Cover Wind Speed Wind Direction Vertical Velocity Geopotential Height Temperature 1000 hPa (110 m) 975 hPa (320 m) 950 hPa (500 m) 925 hPa (800 m) 900 hPa (1000 m) 850 hPa (1500 m) 800 hPa (1900 m) 750 hPa (2.5 km) 700 hPa (3 km) 650 hPa (3.6 km) 600 hPa (4.2 km) 550 hPa (4.9 km) 500 hPa (5.6 km) 450 hPa (6.3 km) 400 hPa (7.2 km) 350 hPa (8.1 km) 300 hPa (9.2 km) 275 hPa (9.7 km) 250 hPa (10.4 km) 225 hPa (11 km) 200 hPa (11.8 km) 175 hPa (12.6 km) 150 hPa (13.5 km) 125 hPa (14.6 km) 100 hPa (15.8 km) 70 hPa (17.7 km) 50 hPa (19.3 km) 30 hPa (22 km) 20 hPa (23 km) 10 hPa (26 km) Note: Altitudes are approximate and in meters **above sea level** (not above ground). Use geopotential\_height to get precise altitudes above sea level. [Daily Weather Variables\ -----------------------](https://open-meteo.com/en/docs/cma-api#daily_weather_variables) Weather code Maximum Temperature (2 m) Minimum Temperature (2 m) Maximum Apparent Temperature (2 m) Minimum Apparent Temperature (2 m) Sunrise Sunset Daylight Duration Sunshine Duration UV Index UV Index Clear Sky Precipitation Sum Rain Sum Showers Sum Snowfall Sum Precipitation Hours Maximum Wind Speed (10 m) Maximum Wind Gusts (10 m) Dominant Wind Direction (10 m) Shortwave Radiation Sum Reference Evapotranspiration (ET₀) [Settings\ --------](https://open-meteo.com/en/docs/cma-api#settings) Celsius °C Temperature Unit km/h Wind Speed Unit Millimeter Precipitation Unit ISO 8601 (e.g. 2026-01-21) Timeformat Usage licence: Non-Commercial Commercial Self-Hosted [API Response\ ------------](https://open-meteo.com/en/docs/cma-api#api_response) Preview: Chart & URL Python TypeScript Swift Other Loading... [Download XLSX](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=cma_grapes_global&format=xlsx) [Download CSV](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=cma_grapes_global&format=csv) API URL ([Open in new tab](https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41&hourly=temperature_2m&models=cma_grapes_global) or copy this URL into your application) [Data Sources\ ------------](https://open-meteo.com/en/docs/cma-api#data_sources) The API relies on the Global/Regional Assimilation and Prediction Enhanced System (GFS GRAPES), independently developed by the China Meteorological Administration (CMA). It provides data in 3-hour intervals, offering forecasts for up to 10 days. The model runs four times daily at 0:00, 6:00, 12:00, and 18:00 UTC. | | | | | | | | --- | --- | --- | --- | --- | --- |You can find the update timings in the [model updates documentation](https://open-meteo.com/en/docs/model-updates) . | Weather Model | Region | Spatial Resolution | Temporal Resolution | Forecast Length | Update frequency | | --- | --- | --- | --- | --- | --- | | [GFS GRAPES](https://www.cma.gov.cn/en/forecast/highlight/202311/t20231117_5892086.html) | Global | 0.125° (~15 km) | 3-hourly | 10 days | Every 6 hours | [API Documentation\ -----------------](https://open-meteo.com/en/docs/cma-api#api_documentation) The API endpoint /v1/cma accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 7 days. Time always starts at 0:00 today and contains 168 hours. If &forecast\_days=16 is set, up to 10 days of forecast can be returned. All URL parameters are listed below: | Parameter | Format | Required | Default | Description | | --- | --- | --- | --- | --- | | latitude, longitude | Floating point | Yes | | Geographical WGS84 coordinates of the location. Multiple coordinates can be comma separated. E.g. &latitude=52.52,48.85&longitude=13.41,2.35. To return data for multiple locations the JSON output changes to a list of structures. CSV and XLSX formats add a column location\_id. | | elevation | Floating point | No | | The elevation used for statistical downscaling. Per default, a [90 meter digital elevation model is used](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. You can manually set the elevation to correctly match mountain peaks. If &elevation=nan is specified, downscaling will be disabled and the API uses the average grid-cell height. | | hourly | String array | No | | A list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used. | | daily | String array | No | | A list of daily weather variable aggregations which should be returned. Values can be comma separated, or multiple &daily= parameter in the URL can be used. If daily weather variables are specified, parameter timezone is required. | | temperature\_unit | String | No | celsius | If fahrenheit is set, all temperature values are converted to Fahrenheit. | | wind\_speed\_unit | String | No | kmh | Other wind speed speed units: ms, mph and kn | | precipitation\_unit | String | No | mm | Other precipitation amount units: inch | | timeformat | String | No | iso8601 | If format unixtime is selected, all time values are returned in UNIX epoch time in seconds. Please note that all timestamp are in GMT+0! For daily values with unix timestamps, please apply utc\_offset\_seconds again to get the correct date. | | timezone | String | No | GMT | If timezone is set, all timestamps are returned as local-time and data is returned starting at 00:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)
is supported. If auto is set as a time zone, the coordinates will be automatically resolved to the local time zone. For multiple coordinates, a comma separated list of timezones can be specified. | | past\_days | Integer | No | 0 | If past\_days is set, past weather data can be returned. | | forecast\_days | Integer (0-16) | No | 7 | Per default, only 7 days are returned. Up to 16 days of forecast are possible. | | forecast\_hours
past\_hours | Integer (>0) | No | | Similar to forecast\_days, the number of timesteps of hourly data can controlled. Instead of using the current day as a reference, the current hour is used. | | start\_date
end\_date | String (yyyy-mm-dd) | No | | The time interval to get weather data. A day must be specified as an ISO8601 date (e.g. 2022-06-30). | | start\_hour
end\_hour | String (yyyy-mm-ddThh:mm) | No | | The time interval to get weather data for hourly. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00). | | cell\_selection | String | No | land | Set a preference how grid-cells are selected. The default land finds a suitable grid-cell on land with [similar elevation to the requested coordinates using a 90-meter digital elevation model](https://openmeteo.substack.com/p/improving-weather-forecasts-with "Elevation based grid-cell selection explained")
. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell. | | apikey | String | No | | Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See [pricing](https://open-meteo.com/en/pricing "Pricing information to use the weather API commercially")
for more information. | Additional optional URL parameters will be added. For API stability, no required parameters will be added in the future! [### Hourly Parameter Definition](https://open-meteo.com/en/docs/cma-api#hourly_parameter_definition) The parameter &hourly= accepts the following values. Most weather variables are given as an instantaneous value for the indicated hour. Some variables like precipitation are calculated from the preceding hour as an average or sum. | Variable | Valid time | Unit | Description | | --- | --- | --- | --- | | temperature\_2m | Instant | °C (°F) | Air temperature at 2 meters above ground | | relative\_humidity\_2m | Instant | % | Relative humidity at 2 meters above ground | | dew\_point\_2m | Instant | °C (°F) | Dew point temperature at 2 meters above ground | | apparent\_temperature | Instant | °C (°F) | Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation | | pressure\_msl
surface\_pressure | Instant | hPa | Atmospheric air pressure reduced to mean sea level (msl) or pressure at surface. Typically pressure on mean sea level is used in meteorology. Surface pressure gets lower with increasing elevation. | | cloud\_cover | Instant | % | Total cloud cover as an area fraction | | cloud\_cover\_low | Instant | % | Low level clouds and fog up to 3 km altitude | | cloud\_cover\_mid | Instant | % | Mid level clouds from 3 to 8 km altitude | | cloud\_cover\_high | Instant | % | High level clouds from 8 km altitude | | wind\_speed\_10m
wind\_speed\_30m
wind\_speed\_50m
wind\_speed\_70m
wind\_speed\_100m
wind\_speed\_120m
wind\_speed\_140m
wind\_speed\_160m
wind\_speed\_180m
wind\_speed\_200m | Instant | km/h (mph, m/s, knots) | Wind speed at 10, 30, 50, 70, 100, 120, 140, 160, 180 or 200 meters above ground. Wind speed on 10 meters is the standard level. | | wind\_direction\_10m
wind\_direction\_30m
wind\_direction\_50m
wind\_direction\_70m
wind\_direction\_100m
wind\_direction\_120m
wind\_direction\_140m
wind\_direction\_160m
wind\_direction\_180m
wind\_direction\_200m | Instant | ° | Wind direction at 10, 30, 50, 70, 100, 120, 140, 160, 180 or 200 meters above ground | | wind\_gusts\_10m | Preceding hour max | km/h (mph, m/s, knots) | Gusts at 10 meters above ground as a maximum of the preceding hour | | shortwave\_radiation | Preceding hour mean | W/m² | Shortwave solar radiation as average of the preceding hour. This is equal to the total global horizontal irradiation | | direct\_radiation
direct\_normal\_irradiance | Preceding hour mean | W/m² | Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun). GRAPES does bot offers direct radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | diffuse\_radiation | Preceding hour mean | W/m² | Diffuse solar radiation as average of the preceding hour. HRRR offers diffuse radiation directly. GRAPES does bot offers diffuse radiation directly. It is approximated based on [Razo, Müller Witwer](https://www.ise.fraunhofer.de/content/dam/ise/de/documents/publications/conference-paper/36-eupvsec-2019/Guzman_5CV31.pdf) | | global\_tilted\_irradiance | Preceding hour mean | W/m² | Total radiation received on a tilted pane as average of the preceding hour. The calculation is assuming a fixed albedo of 20% and in isotropic sky. Please specify tilt and azimuth parameter. Tilt ranges from 0° to 90° and is typically around 45°. Azimuth should be close to 0° (0° south, -90° east, 90° west, ±180 north). If azimuth is set to "nan", the calculation assumes a vertical tracker (east-west). If tilt is set to "nan", it is assumed that the panel has a horizontal tracker (up-down). If both are set to "nan", a bi-axial tracker is assumed. | | sunshine\_duration | Preceding hour sum | Seconds | Number of seconds of sunshine of the preceding hour per hour calculated by direct normalized irradiance exceeding 120 W/m², following the WMO definition. | | vapour\_pressure\_deficit | Instant | kPa | Vapor Pressure Deificit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases | | et0\_fao\_evapotranspiration | Preceding hour sum | mm (inch) | ET₀ Reference Evapotranspiration of a well watered grass field. Based on [FAO-56 Penman-Monteith equations](https://www.fao.org/3/x0490e/x0490e04.htm)
ET₀ is calculated from temperature, wind speed, humidity and solar radiation. Unlimited soil water is assumed. ET₀ is commonly used to estimate the required irrigation for plants. | | weather\_code | Instant | WMO code | Weather condition as a numeric code. Follow WMO weather interpretation codes. See table below for details. Weather code is calculated from cloud cover analysis, precipitation, snowfall, cape, lifted index and gusts. | | precipitation | Preceding hour sum | mm (inch) | Total precipitation (rain, showers, snow) sum of the preceding hour | | snowfall | Preceding hour sum | cm (inch) | Snowfall amount of the preceding hour in centimeters. For the water equivalent in millimeter, divide by 7. E.g. 7 cm snow = 10 mm precipitation water equivalent | | rain | Preceding hour sum | mm (inch) | Rain from large scale weather systems of the preceding hour in millimeter | | showers | Preceding hour sum | mm (inch) | Showers from convective precipitation in millimeters from the preceding hour | | snow\_depth | Instant | meters | Snow depth on the ground | | visibility | Instant | meters | Viewing distance in meters. Influenced by low clouds, humidity and aerosols. | | cape | Instant | J/kg | Convective available potential energy. See [Wikipedia](https://en.wikipedia.org/wiki/Convective_available_potential_energy)
. | | lifted\_index | Instant | dimensionless | Atmospheric stability. See [Wikipedia](https://en.wikipedia.org/wiki/Lifted_index)
. | | soil\_temperature\_0\_to\_10cm
soil\_temperature\_10\_to\_40cm
soil\_temperature\_40\_to\_100cm
soil\_temperature\_100\_to\_200cm | Instant | °C (°F) | Temperature in the soil as an average on 0-10, 10-40, 40-100 and 100-200 cm depths. | | soil\_moisture\_0\_to\_10cm
soil\_moisture\_10\_to\_40cm
soil\_moisture\_40\_to\_100cm
soil\_moisture\_100\_to\_200cm | Instant | m³/m³ | Average soil water content as volumetric mixing ratio at 0-10, 10-40, 40-100 and 100-200 cm depths. | [### Pressure Level Variables](https://open-meteo.com/en/docs/cma-api#pressure_level_variables) Pressure level variables do not have fixed altitudes. Altitude varies with atmospheric pressure. 1000 hPa is roughly between 60 and 160 meters above sea level. Estimated altitudes are given below. Altitudes are in meters above sea level (not above ground). For precise altitudes, geopotential\_height can be used. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | Level (hPa) | 1000 | 975 | 950 | 925 | 900 | 850 | 800 | 750 | 700 | 650 | 600 | 550 | 500 | 450 | 400 | 350 | 300 | 275 | 250 | 225 | 200 | 175 | 150 | 125 | 100 | 70 | 50 | 30 | 20 | 10 | | Altitude | 110 m | 320 m | 500 m | 800 m | 1000 m | 1500 m | 1900 m | 2.5 km | 3 km | 3.6 km | 4.2 km | 4.9 km | 5.6 km | 6.3 km | 7.2 km | 8.1 km | 9.2 km | 9.7 km | 10.4 km | 11 km | 11.8 km | 12.6 km | 13.5 km | 14.6 km | 15.8 km | 17.7 km | 19.3 km | 22 km | 23 km | 26 km | All pressure levels have valid times of the indicated hour (instant). | Variable | Unit | Description | | --- | --- | --- | | weather\_code | WMO code | The most severe weather condition on a given day | | temperature\_1000hPa
temperature\_975hPa, ... | °C (°F) | Air temperature at the specified pressure level. Air temperatures decrease linearly with pressure. | | relative\_humidity\_1000hPa
relative\_humidity\_975hPa, ... | % | Relative humidity at the specified pressure level. | | dew\_point\_1000hPa
dew\_point\_975hPa, ... | °C (°F) | Dew point temperature at the specified pressure level. | | cloud\_cover\_1000hPa
cloud\_cover\_975hPa, ... | % | Cloud cover at the specified pressure level. | | wind\_speed\_1000hPa
wind\_speed\_975hPa, ... | km/h (mph, m/s, knots) | Wind speed at the specified pressure level. | | wind\_direction\_1000hPa
wind\_direction\_975hPa, ... | ° | Wind direction at the specified pressure level. | | geopotential\_height\_1000hPa
geopotential\_height\_975hPa, ... | meter | Geopotential height at the specified pressure level. This can be used to get the correct altitude in meter above sea level of each pressure level. Be carefull not to mistake it with altitude above ground. | [### Daily Parameter Definition](https://open-meteo.com/en/docs/cma-api#daily_parameter_definition) Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values: | Variable | Unit | Description | | --- | --- | --- | | temperature\_2m\_max
temperature\_2m\_min | °C (°F) | Maximum and minimum daily air temperature at 2 meters above ground | | apparent\_temperature\_max
apparent\_temperature\_min | °C (°F) | Maximum and minimum daily apparent temperature | | precipitation\_sum | mm | Sum of daily precipitation (including rain, showers and snowfall) | | snowfall\_sum | cm | Sum of daily snowfall | | precipitation\_hours | hours | The number of hours with rain | | sunrise
sunset | iso8601 | Sun rise and set times | | sunshine\_duration | seconds | The number of seconds of sunshine per day is determined by calculating direct normalized irradiance exceeding 120 W/m², following the WMO definition. Sunshine duration will consistently be less than daylight duration due to dawn and dusk. | | daylight\_duration | seconds | Number of seconds of daylight per day | | wind\_speed\_10m\_max
wind\_gusts\_10m\_max | km/h (mph, m/s, knots) | Maximum wind speed and gusts on a day | | wind\_direction\_10m\_dominant | ° | Dominant wind direction | | shortwave\_radiation\_sum | MJ/m² | The sum of solar radiation on a given day in Megajoules | | et0\_fao\_evapotranspiration | mm | Daily sum of ET₀ Reference Evapotranspiration of a well watered grass field | [### JSON Return Object](https://open-meteo.com/en/docs/cma-api#json_return_object) On success a JSON object will be returned. { "latitude": 52.52, "longitude": 13.419, "elevation": 44.812, "generationtime_ms": 2.2119, "utc_offset_seconds": 0, "timezone": "Europe/Berlin", "timezone_abbreviation": "CEST", "hourly": { "time": ["2022-07-01T00:00", "2022-07-01T01:00", "2022-07-01T02:00", ...], "temperature_2m": [13, 12.7, 12.7, 12.5, 12.5, 12.8, 13, 12.9, 13.3, ...] }, "hourly_units": { "temperature_2m": "°C" } } | Parameter | Format | Description | | --- | --- | --- | | latitude, longitude | Floating point | WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be a few kilometres away from the requested coordinate. | | elevation | Floating point | The elevation from a 90 meter digital elevation model. This effects which grid-cell is selected (see parameter cell\_selection). Statistical downscaling is used to adapt weather conditions for this elevation. This elevation can also be controlled with the query parameter elevation. If &elevation=nan is specified, all downscaling is disabled and the averge grid-cell elevation is used. | | generationtime\_ms | Floating point | Generation time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements. | | utc\_offset\_seconds | Integer | Applied timezone offset from the &timezone= parameter. | | timezone
timezone\_abbreviation | String | Timezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST) | | hourly | Object | For each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | hourly\_units | Object | For each selected weather variable, the unit will be listed here. | | daily | Object | For each selected daily weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps. | | daily\_units | Object | For each selected daily weather variable, the unit will be listed here. | [### Errors](https://open-meteo.com/en/docs/cma-api#errors) In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code. { "error": true, "reason": "Cannot initialize WeatherVariable from invalid String value tempeture_2m for key hourly" } ---