Location:
Forecast length:

By default, we provide forecasts for 7 days, but you can access forecasts for up to 16 days.

API Documentation

The /forecast endpoint returns hourly weather data as JSON for any location. Provide coordinates and select the variables you need. By default you get 7 days (168 hours) starting at midnight today. Use &forecast_days=16 to extend the forecast up to 16 days. Parameters:

latitude longitude Floating point Required
WGS84 latitude and longitude. Use comma-separated values for multiple locations, e.g. &latitude=52.52,48.85&longitude=13.41,2.35. Multi-location responses return a list; CSV/XLSX add a location_id column. Use negative longitude for locations west of Greenwich (e.g. Americas).
elevation Floating point
Ground elevation in meters for downscaling. Override for mountain peaks if needed. Use &elevation=nan to disable downscaling (uses grid-cell average). Comma-separated for multiple locations.
hourly String array
Comma-separated list of hourly variables to return, or use multiple &hourly= parameters.
daily String array
Comma-separated list of daily aggregations (e.g. temperature max/min). Use multiple &daily= if preferred. Requires timezone when used.
current String array
Variables for current conditions (latest available values).
temperature_unit String Default: celsius
Use fahrenheit to convert all temperatures to °F.
wind_speed_unit String Default: kmh
Options: ms, mph, kn.
precipitation_unit String Default: mm
Use inch for imperial units.
timeformat String Default: iso8601
Use unixtime for Unix epoch seconds (GMT). For daily values, add utc_offset_seconds to get the correct local date.
timezone String Default: GMT
Time zone for local timestamps (data starts at 00:00 local). Use any IANA time zone. Set auto to resolve from coordinates. Comma-separated for multiple locations.
past_days Integer (0-92) Default: 0
Include past days (e.g. yesterday) in the response.
forecast_days Integer (0-16) Default: 7
Number of forecast days (default 7, max 16).
forecast_hours forecast_minutely_15 past_hours past_minutely_15 Integer (>0)
Number of hourly or 15-minute timesteps. Uses the current hour (or 15-min interval) as reference instead of midnight.
start_date end_date String (yyyy-mm-dd)
Date range in ISO format, e.g. 2022-06-30.
start_hour end_hour start_minutely_15 end_minutely_15 String (yyyy-mm-ddThh:mm)
Time range for hourly/15-min data in ISO format, e.g. 2022-06-30T12:00.
cell_selection String Default: land
Grid-cell selection: land (default) picks a land cell with similar elevation; sea prefers ocean; nearest picks the closest cell.
api_key String
Your API key for authenticated requests.

New optional parameters may be added over time. Required parameters will not change for API stability.

Hourly Parameter Definition

Available hourly variables. Most are instantaneous at the given hour; precipitation and similar are sums or averages over the preceding hour.

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

The parameter &minutely_15= can be used to get 15-minutely data. Data is interpolated from hourly to 15-minutely.

15-minutely data can be requested for other weather variables that are available for hourly data, but will use interpolation.

temperature_2m Instant °C (°F)
relative_humidity_2m Instant %
dew_point_2m Instant °C (°F)
apparent_temperature Instant °C (°F)
shortwave_radiation Preceding 15 min mean W/m²
direct_radiation direct_normal_irradiance Preceding 15 min mean W/m²
global_tilted_irradiance global_tilted_irradiance_instant Preceding 15 min mean W/m²
diffuse_radiation Preceding 15 min mean W/m²
sunshine_duration Preceding 15 min sum seconds
lightning_potential Instant J/kg
precipitation Preceding 15 min sum mm (inch)
snowfall Preceding 15 min sum cm (inch)
rain Preceding 15 min sum mm (inch)
showers Preceding 15 min sum mm (inch)
snowfall_height Instant meters
freezing_level_height Instant meters
cape Instant J/kg
wind_speed_10m wind_speed_80m Instant km/h (mph, m/s, knots)
wind_direction_10m wind_direction_80m Instant °
wind_gusts_10m Preceding 15 min max km/h (mph, m/s, knots)
visibility Instant meters
weather_code Instant WMO code

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)1000975950925900850800700600500400300250200150100705030
Altitude110 m320 m500 m800 m1000 m1500 m1900 m3 km4.2 km5.6 km7.2 km9.2 km10.4 km11.8 km13.5 km15.8 km17.7 km19.3 km22 km

All pressure levels have valid times of the indicated hour (instant).

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.
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 careful not to mistake it with altitude above ground.

Daily Parameter Definition

Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values:

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 for ultraviolet index.

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"
    }
}
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 average 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

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
	    temperature_2m for key hourly" 
}

Weather variable documentation

WMO Weather interpretation codes (WW)

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