GitHub
X

MET Norway API

Hourly updates & 1 km forecasts for Scandinavia

Location and Time

Location:
API Mode:
Time:

Forecast provides the latest, continuously updated weather forecast. By default, we provide forecasts for 3 days, but you can access forecasts for up to 15 days. Use Past Days to include recently archived forecasts.

For older archived forecasts, switch to mode.

You can also check out our Historical Weather API with data going back to 1940.

Hourly Weather Variables

Current Weather

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

Usage licence:

API Response

Preview:
API URL (Open in new tab or copy this URL into your application)

Data Sources

This API uses local weather models from the Norwegian Meteorological Institute. The MET Nordic 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. After 2.5 days, Open-Meteo combines forecasts with the ECMWF IFS HRES 9 km model to provide up to 15 days of forecast.

You can find the update timings in the model updates documentation.
Weather ModelRegionSpatial ResolutionTemporal ResolutionForecast LengthUpdate frequency
MET Nordic
Norway Sweden Denmark
Norway, Denmark, Sweden, Finland
1 kmHourly2.5 daysEvery hour
MET Nordic model area (marked in red). Source: Met Norway GitHub.

Native Model Variables

MET Nordic is a post-processed 1 km dataset with a small set of native fields. Open-Meteo retains these fields or uses them to calculate more convenient API variables. Wind is provided directly as speed and direction and only global solar radiation is available.

Native MET Nordic fieldLevelUse in the Open-Meteo API
Temperature2 mtemperature_2m
Relative humidity2 mRelative humidity and dew point
Wind speed and direction10 mwind_speed_10m, wind_direction_10m
Wind gusts10 mwind_gusts_10m
Mean sea-level pressureMean sea levelpressure_msl and derived surface pressure
Total precipitationSurfaceprecipitation, rain, snowfall
Global solar radiationSurfaceGlobal, direct, diffuse radiation, DNI and GTI
Total cloud coverSurfacecloud_cover

MET Nordic provides only total cloud cover — no cloud layers — and no CAPE, so weather codes cannot include thunderstorms.

Derived Variables

MET Nordic is a post-processed dataset with a small set of native fields: temperature, relative humidity, total cloud cover, mean sea-level pressure, wind speed and direction, wind gusts, global solar radiation and precipitation. Everything else in the API is derived from these fields.

Derived VariableHow it is derived?
Snowfall and rainMET Nordic has no native snow field: precipitation counts as snow below 0°C, converted with 0.7 cm per mm. Rain is the remainder.
Weather codeComputed from cloud cover, precipitation, snowfall and wind gusts. Without CAPE or visibility, thunderstorm and fog codes are not produced.
Direct and diffuse solar radiationOnly global horizontal irradiance GHI is native. Diffuse radiation is separated using the Razo, Müller Witwer model; direct radiation is the remainder. DNI, GTI and instant values follow from solar geometry.
Dew point, vapour pressure deficit and wet bulb temperatureCalculated from native 2 m temperature and relative humidity.
Surface pressureCalculated from mean sea-level pressure, 2 m temperature and terrain elevation.
Sunshine durationSeconds per hour with derived direct normal irradiance above the WMO threshold of 120 W/m².
Apparent temperature and reference evapotranspiration ET₀Combine temperature, humidity, wind speed and solar radiation. ET₀ follows the FAO-56 Penman-Monteith equation.

Wind speed and direction are native model fields and are not derived. Sunrise, sunset, daylight duration and the day-or-night flag are astronomical calculations. Daily values are aggregated from hourly data.

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:

ParameterFormatRequiredDefaultDescription
latitude, longitudeFloating pointYesGeographical 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.
elevationFloating pointNoThe elevation used for statistical downscaling. Per default, a 90 meter digital elevation model is used. 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.
hourlyString arrayNoA list of weather variables which should be returned. Values can be comma separated, or multiple &hourly= parameter in the URL can be used.
currentString arrayNoA list of weather variables to get current conditions.
temperature_unitStringNocelsiusIf fahrenheit is set, all temperature values are converted to Fahrenheit.
wind_speed_unitStringNokmhOther wind speed speed units: ms, mph and kn
precipitation_unitStringNommOther precipitation amount units: inch
timeformatStringNoiso8601If 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.
timezoneStringNoGMTIf 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 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_daysInteger (0-92)No0If past_days is set, yesterday or the day before yesterday data are also returned.
forecast_daysInteger (0-3)No3Per default, 3 days are returned. Up to 3 days of forecast are possible.
forecast_hours
past_hours
Integer (>0)NoSimilar 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)NoThe 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)NoThe time interval to get weather data for hourly data. Time must be specified as an ISO8601 date (e.g. 2022-06-30T12:00).
cell_selectionStringNolandSet 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. sea prefers grid-cells on sea. nearest selects the nearest possible grid-cell.
apikeyStringNoOnly required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-. See pricing 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

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.

VariableValid timeUnitDescription
precipitationPreceding hour summm (inch)Total precipitation (rain, showers, snow) sum of the preceding hour
pressure_msl
surface_pressure
InstanthPaAtmospheric air pressure reduced to sea level (Mean sea level) and actual pressure at surface level
temperature_2mInstant°C (°F)Air temperature at 2 meters above ground
relative_humidity_2mInstant%Relative humidity at 2 meters above ground
dew_point_2mInstant°C (°F)Dew point temperature at 2 meters above ground
apparent_temperatureInstant°C (°F)Apparent temperature is the perceived feels-like temperature combining wind chill factor, relative humidity and solar radiation
cloud_coverInstant%Total cloud cover as an area fraction
wind_speed_10mInstantkm/h (mph, m/s, knots)Wind speed at 10 meters above ground. Wind speed on 10 meters is the standard level..
wind_direction_10mInstant°Wind direction at 10 meters above ground.
wind_gusts_10mPreceding hour maxkm/h (mph, m/s, knots)Gusts at 10 meters above ground as a maximum of the preceding hour
shortwave_radiationPreceding hour meanW/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 meanW/m²Direct solar radiation as average of the preceding hour on the horizontal plane and the normal plane (perpendicular to the sun)
diffuse_radiationPreceding hour meanW/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
global_tilted_irradiancePreceding hour meanW/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_durationPreceding hour sumSecondsNumber 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_deficitInstantkPaVapor Pressure Deficit (VPD) in kilopascal (kPa). For high VPD (>1.6), water transpiration of plants increases. For low VPD (<0.4), transpiration decreases
et0_fao_evapotranspirationPreceding hour summm (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_codeInstantWMO 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, snowfall and gusts. As MET Nordic has barely no information about atmospheric stability, estimation about thunderstorms is not possible.
snowfallPreceding hour sumcm (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

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"
    }
}
ParameterFormatDescription
latitude, longitudeFloating 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.
elevationFloating 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_msFloating pointGeneration time of the weather forecast in milliseconds. This is mainly used for performance monitoring and improvements.
utc_offset_secondsIntegerApplied timezone offset from the &timezone= parameter.
timezone
timezone_abbreviation
StringTimezone identifier (e.g. Europe/Berlin) and abbreviation (e.g. CEST)
hourlyObjectFor each selected weather variable, data will be returned as a floating point array. Additionally a time array will be returned with ISO8601 timestamps.
hourly_unitsObjectFor each selected weather variable, the unit will be listed here.
dailyObjectFor 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_unitsObjectFor 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
	    tempeture_2m for key hourly" 
}

Weather variable documentation

WMO Weather interpretation codes (WW)

CodeDescription
0Clear sky
1, 2, 3Mainly clear, partly cloudy, and overcast
45, 48Fog and depositing rime fog
51, 53, 55Drizzle: Light, moderate, and dense intensity
56, 57Freezing Drizzle: Light and dense intensity
61, 63, 65Rain: Slight, moderate and heavy intensity
66, 67Freezing Rain: Light and heavy intensity
71, 73, 75Snow fall: Slight, moderate, and heavy intensity
77Snow grains
80, 81, 82Rain showers: Slight, moderate, and violent
85, 86Snow 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