API Documentation
The /archive endpoint returns historical weather data for any location and date range. Provide coordinates, a time interval, and the variables you need. Parameters:
latitude longitude Floating point RequiredWGS84 latitude and longitude. Comma-separated for multiple locations, e.g. &latitude=52.52,48.85&longitude=13.41,2.35. Multi-location responses return a list; CSV/XLSX add location_id.
elevation Floating pointGround elevation in meters for downscaling. Override for mountain peaks if needed. Use &elevation=nan to disable downscaling. Comma-separated for multiple locations.
start_date end_date String (yyyy-mm-dd) RequiredDate range in ISO format, e.g. 2022-12-31.
hourly String arrayComma-separated list of hourly variables, or use multiple &hourly= parameters.
daily String arrayComma-separated list of daily aggregations. Multiple &daily= supported. Requires timezone when used.
temperature_unit String Default: celsiusUse fahrenheit to convert all temperatures to °F.
wind_speed_unit String Default: kmhOptions: ms, mph, kn.
precipitation_unit String Default: mmUse inch for imperial units.
timeformat String Default: iso8601Use unixtime for Unix epoch seconds (GMT). For daily values, add utc_offset_seconds to get the correct local date.
timezone String Default: GMTTime 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.
cell_selection String Default: landGrid-cell selection: land (default) picks a land cell with similar elevation; sea prefers ocean; nearest picks the closest cell.
api_key StringYour API key for authenticated requests.
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 hPaAtmospheric 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 cloud_cover_mid cloud_cover_high Instant %Low level clouds and fog up to 2 km altitude. Mid level clouds from 2 to 6 km altitude. 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. If tilt is set to "nan", a horizontal tracker is assumed. If both are "nan", a bi-axial tracker is assumed.
sunshine_duration Preceding hour sum SecondsNumber 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.
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.
weather_code Instant WMO codeWeather 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 metersSnow 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 kPaVapor Pressure Deficit (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
Aggregations are a simple 24 hour aggregation from hourly values. The parameter &daily= accepts the following values:
weather_code WMO codeThe 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 mmSum of daily precipitation (including rain, showers and snowfall)
rain_sum mmSum of daily rain
snowfall_sum cmSum of daily snowfall
precipitation_hours hoursThe number of hours with rain
sunrise sunset iso8601Sun rise and set times
sunshine_duration secondsThe 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 secondsNumber 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 mmDaily sum of ET₀ Reference Evapotranspiration of a well watered grass field
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 pointWGS84 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 pointThe 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 pointGeneration time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements.
utc_offset_seconds IntegerApplied timezone offset from the &timezone= parameter.
timezone timezone_abbreviation StringTimezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST)
hourly ObjectFor 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 ObjectFor each selected weather variable, the unit will be listed here.
daily ObjectFor 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 ObjectFor 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"
}