Frost v1 (work in progress)
DISCLAIMER: This version of Frost is still work in progress. MET Norway does not guarantee that the service will always behave 100% according to documentation or expectations.


API Request

An API request is just a way of asking the API for data that match your criteria. You let the API know your search criteria by setting API request parameters listed below to the values you want.
Build the request using our interactive API documentation form, or build a URL, or use a script.

How to make a valid request

To make a valid request, you should at the minimum specify the when, where and what of the observation data you want.
This means you must set the time parameter, at least one (geo)location type parameter (e.g. location or stationIDs) and at least one element type parameter (e.g. elementids or elementnames).
All the available Frost request parameters are listed below.

Note default settings!

As long as you have chosen a when, where and what, you can choose not to set any other parameters (or you can of course set any of the parameters you want to specific value(s) of your choosing).
For the parameters you do not use, there are two types of default behaviours:

  • The API will return ALL available values (most parameters)
  • The API will apply a default setting for the parameter and return only values that match this default setting; you will find these default settings in the list of request parameters below
Note: keyword "all". If you want all available values for a parameter with a default setting, you can usually use the keyword "all". Check the list of request parameters below to check when you can use this keyword.

For information on how some of the parameters relate to each other and to meteorological concepts and vocabulary, see the information on this page

List of request parameters:

This page contains quite a long list of parameters, but you can jump to certain sections using this list:

When: Time parameters

Parameter: time

This is the time (interval) to look for weather observations. You can choose to ask for only the latest observation (keyword "latest"), or you can define a time (interval).
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
More information can be found here
Note: You can leave the time parameter empty if incobs is set to False, but in that case your search may return a lot of useless information.

The basic formats available for expressing time in Frost are as follows:
  • date: YYYY-MM-DD
  • time: hh:mm:ss
  • datetime: <date>T<time>
  • interval (from, to): <datetime>/<datetime>
Latest Mode
Set the time parameter to the keyword latest. You will get only the latest observation(s) matching your search.
Note that there is a limit to how old the observation can be (latestmaxage) as well as a limit to the number of observations returned (latestlimit).
Example: time=latest

Intervals Mode
You define a time or a time interval to search for. The search will return the observations taken within this time/time interval. There are several ways to use this search field. The easiest is to define a simple time interval like this: t1/t2 where t1 and t2 are strings containing date and time, on the form YYYY-MM-DDThh:mm:ss:Z The Z at the end means that the time is given in UTC time.
Example: time=2022-09-26T01:00:00Z/2022-09-27T03:30:00Z

Parameter: latestmaxage

Used when you set time to the 'latest' mode, this is the maximum age (relative to the time of the request) that the most recent observation can have. Specify either a number of seconds or an ISO 8601 duration.
Example: latestmaxage=3600
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Default value: latestmaxage=PT3H

Parameter: latestlimit

Used when you set time to the 'latest' mode, this is the maximum number of observations (if incobs==true) in the result for each time series.
Example: latestlimit=10
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Default value: latestlimit=1

What: Element type parameters

Parameter: elementIDs

You can search for elementids here.
A comma-separated list of names that MET Norway have set to represent weather and climate phenomena, for example wind speed, air temperature or relative humidity. The names of the elementids contain both the type of weather phenomenon they represent and the method of calculation (if any) that has been used on the original observation data.
Valid for requests to: frost.met.no v1
Examples:
  • elementIDs=air_temperature
  • elementIDs=mean(air_temperature PT1H)

Parameter: parameterIDs

A comma-separated list of codes that MET Norway have set to represent weather and climate phenomena, for example wind speed, air temperature or relative humidity. There are two ways of identifying the same weather parameter: elementid or parameterid.
You can use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: parameterids=211, or a wider search with a wildcard: parameterids=21* (code 211 corresponds to elementid air_temperature)
Valid for requests to: frost.met.no v1

Parameter: parameters (NB! Valid only for havvarsel-frost.met.no)

A comma-separated list of names that MET Norway have set to represent weather and climate phenomena on havvarsel-frost.met.no, for example temperature.
You can use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: parameters=temperature, or a wider search with a wildcard parameters=temp*
Valid for requests to: havvarsel-frost.met.no

Parameter: elementnames

A comma-separated list of element names (internal to MET Norway), corresponding to the elementids (case-insensitive). This field is best used for searching with wildcards for words contained in the name.
Example: elementnames=*rain*
Valid for requests to: frost.met.no v1

Parameter: elementdescriptions

A comma-separated list of text found in descriptions of elements (internal to MET Norway), corresponding to the elementids (case-insensitive). This field is best used for searching with wildcards for words contained in the description.
Example: elementdescriptions=*soil*
Valid for requests to: frost.met.no v1

Where: (Geo)location type parameters

Ideally use only one of these parameters in your request. It is possible to use more than one of the (geo)location parameters in the same request (they are additive), but if you provide conflicting information you will get no results back.

Parameter: location

This is a text search where you can enter (a comma separated list of) country, county, municipality or place name that you want to find (case-insensitive).
Example: location=bodø,vestland
You can also use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Examples:
  • location=*osl*: Search for any name containing the letter combination osl
  • location=E6*: Search for any name beginning with E6
Valid for requests to: frost.met.no v1

Parameter: nearest

Search for the observations nearest to a geographic point (given by latitude and longitude). You can use for example Google maps to get the latitude and longitude coordinates of a point on the map. In addition to the point, you must also define how many stations you want to find (maxcount) and how far away they can be from the point (maxdist). Please note that in areas with sparse observation coverage you may get less than the desired number of stations returned within the max distance!
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Examples can be found here

Parameter: polygon

Search for weather observations inside a geographic area. The area (a polygon) is defined using a list of latitudes and longitudes, and you can use for example Google maps to get these.
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Examples can be found here

Parameter: inside

Search for weather observations inside a geographic area. The area (a polygon, circle, lonrange or latrange) is defined using a list of latitudes and longitudes, and you can use for example Google maps to get these.
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Examples can be found here

Parameter: outside

Search for weather observations outside a geographic area. The area (a polygon, circle, lonrange or latrange) is defined using a list of latitudes and longitudes, and you can use for example Google maps to get these.
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Examples can be found here

Parameter: stationIDs

A comma-separated list of internal MET Norway weather station id numbers. You can use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
If you do not know the number of a specific station you want to find, you can do a search for location or nearest/polygon to get a list of stations in that area.
Example: stationIDs=18700, or a wider search with a wildcard stationIDs=187*.
Valid for requests to: frost.met.no v1

Parameter: buoyids (NB! Valid only for havvarsel-frost.met.no)

A comma-separated list of internal MET Norway buoy id numbers. You can use the asterisk (*) as a wildcard to search for partial numbers. A wildcard is a placeholder for any letters or numbers.
If you do not know the number of a specific buoy you want to find, you can do a search for location or nearest/polygon to get a list of buoys in that area.
Example: buoyids=11-1981, or a wider search with a wildcard buoyids=11-19*.
Valid for requests to: havvarsel-frost.met.no

Parameter: stationalternateIDs

A comma-separated list of identification numbers assigned to the station by other institutions, e.g. WMO (WMO and/or WIGOS number).
Example: stationalternateIDs=28,492
Valid for requests to: frost.met.no v1

Parameter: stationalternateIDkeys

A comma-separated list of the institutions that set the stationalternateIDs
Example: stationalternateIDkeys=WMO
Valid for requests to: frost.met.no v1

Parameter: stationnames

A comma-separated list of internal MET Norway weather station names (case-insensitive). You can use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: stationnames=blindern, or a wider search with a wildcard stationnames=*blind*
Valid for requests to: frost.met.no v1

Parameter: names (NB! Valid only for havvarsel-frost.met.no)

A comma-separated list of internal MET Norway buoy names (case-insensitive). You can use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: names=nesna, or a wider search with a wildcard names=*strand*
Valid for requests to: havvarsel-frost.met.no

Parameter: stationshortnames

A comma-separated list of the short version of internal MET Norway weather station names (case-insensitive). You can use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: stationshortnames=blindern, or a wider search with a wildcard stationshortnames=*blind*
Valid for requests to: frost.met.no v1

Parameter: stationcountries

The country of the station(s) you are searching for (case-insensitive).
Example: stationcountries=norway,sweden
You can also use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: stationcountries=nor (search for any name containing the letter combination nor)
Valid for requests to: frost.met.no v1

Parameter: stationcounties

The county of the station(s) you are searching for (case-insensitive).
Example: stationcounties=vestland,nordland
You can also use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: stationcounties=*vest* (search for any name containing the letter combination vest)
Valid for requests to: frost.met.no v1

Parameter: stationmunicipalities

The municipality of the station(s) you are searching for (case-insensitive).
Example: stationmunicipalities=oslo,fredrikstad
You can also use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: stationmunicipalities=*osl* (search for any name containing the letter combination osl)
Valid for requests to: frost.met.no v1

Parameter: stationorganisations

The organization owning the station(s) you are searching for (case-insensitive).
Example: stationorganisations=nibio
You can also use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: stationorganisations=*met* (search for any name containing the letter combination met)
Valid for requests to: frost.met.no v1

Parameter: sources (NB! Valid only for havvarsel-frost.met.no)

The source of the buoy data (often the organization submitting and/or owning the buoy(s) you are searching for (case-insensitive).
Example: sources=yr.no,badetassen.no
You can also use the asterisk (*) as a wildcard to search for partial names. A wildcard is a placeholder for any letters or numbers.
Example: sources=yr*
Valid for requests to: havvarsel-frost.met.no

Station metadata

Parameter: levels

Choose which sensor heights you want to include. The sensor level is the sensor height above the ground in meters. (For some measurement types there are standard levels/heights of measurement.)
Example: levels=0,2
Valid for requests to: frost.met.no v1
Default value: levels=0
Keyword: If you want to get data from all available levels, set this parameter to: levels=all

Parameter: sensors

A sensor is an instrument that measures a weather parameter. Sometimes there is more than one of the same type of instrument installed at the same height (level) at a weather station. The sensors parameter lets you choose if you want to get information and/or data about the main sensor only (designated sensor 0) or if you want to include any extra sensors (designated sensor 1 and up).
Example: sensors=0,1
Valid for requests to: frost.met.no v1
Default value: sensors=0
Keyword: If you want to get data from all available sensors, set this parameter to: sensors=all

Parameter: geopostype

An internal MET Norway parameter used for considering geo positions only in time series headers ("stationary") or only in observation bodies ("mobile"). If left out or specified as "both", geo positions in both time series headers and observation bodies will be taken into account. (NOTE: this query parameter is provided to compensate for cases where a geo position is available on both time series header and observation body for time series types that allow a geo position in either part. Such cases are typically the result of an inconsistency, since normally a time series cannot be stationary and mobile at the same time).
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Default value: geopostype=both

Data quality

More documentation about data quality can be found here.

Parameter: qualitycodes

This parameter represents the quality of each weather observation as a single number. The scale runs from 0 (best) to 7 (worst). For further information see useinfo and controlinfo.
Valid for requests to: frost.met.no v1
Default value: qualitycodes=0,1,2,4,5
Keyword: If you want to get data of all available quality codes, set this parameter to: qualitycodes=all

Possible values for the quality code are described in the table below:
ValueDescription (quality status of the observation)
0OK, value is controlled and found O.K.
1OK, value is controlled and corrected, or value is missing and interpolated
2Slightly uncertain, value is not controlled
4Slightly uncertain, value is not corrected
5Very uncertain, value is not corrected
6Very uncertain, model data. Value is controlled and corrected, or value is missing and is interpolated - automatic
7Erroneous, value is not corrected

Parameter: performancecategories

A comma-separated list of performance categories (the quality of the sensor).
Example: performancecategories=A,B
Valid for requests to: frost.met.no v1
Default value: performancecategories=A,B,C,unknown
Keyword: If you want to get data of all available performance categories (including unknown values), set this parameter to: performancecategories=all
Performance Category Description
A The sensor type fulfills the requirements from WMO/CIMOs on measurement accuracy, calibration and maintenance.
B Rutines for calibration and maintanance are known. Control of the montage exists. The precision of the measurment is lower than the WMO/CIMO requirements.
C The sensor type is assumed to fulfill the WMO/CIMO requirements. Missing measurement for control, rutines for calibration, or maintanence.
D The sensor type is assumed to fulfill the WMO/CIMO requirements. Some controls show deviations from the WMO/CIMO requirements.
E Less valuable. Possibly useful for extraordinary purposes. Unknown performance

Parameter: exposurecategories

A comma-separated list of exposure categories (the quality of the placement of a station).
Example: exposurecategories=1,2
Valid for requests to: frost.met.no v1
Default value: exposurecategories=1,2,4,unknown
Keyword: If you want to get data of all available exposure categories (including unknown values), set this parameter to: exposurecategories=all
Exposure Category Description
1 Fulfils all WMO's demands on location
2 Unknown location, assumed good
4 Unknown location, assumed bad
5 Bad location

Output parameters

Parameter: incobs

You can use this parameter to choose whether you want to receive the weather observations that match your request, or if you would only like the information about the weather observations (metadata).
If you want to get weather observations: Set incobs=True.
If you only want information about the observations (metadata): Set incobs=False.
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Default value: incobs=False

Parameter: basicoutput

Decide how much metadata (information about the data) you want in the response.
Specify "true" to get a response containing only the most useful metadata information (defined by MET Norway)
Set to "false" to get a response containing all metadata information we have in our database.
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no
Default value: basicoutput=True

Parameter: v0compatsimpletime

Whether or not to set the observation time of aggregated values to the start of a representative date, usually the first or last day of the aggregation period.
Set to True if you want the observation time to be set to the start of a representative date.
Set to False if you want the observation time to be set to the end of the period.
Valid for requests to: frost.met.no v1
Default value: v0compatsimpletime=False

Parameter: itemlimit

The maximum number of time series headers and individual observations that the response can contain. If the limit defined by our server is less than the itemlimit, the smallest value is used.
Example: itemlimit=20
Valid for requests to: frost.met.no v1, havvarsel-frost.met.no

Parameter: hdrcsv

Specify a hybrid CSV format using the parameters hdrcsv and obscsv.
Valid for requests to: frost.met.no v1

Parameter: obscsv

Specify a hybrid CSV format using the parameters hdrcsv and obscsv.
Valid for requests to: frost.met.no v1

Parameter: hdrshow

This parameter can be used to keep parts of the header in the JSON response (and drop others implicitly). You can read about it here
Valid for requests to: frost.met.no v1

Parameter: hdrhide

This parameter can be used to remove parts of the header in the JSON response. You can read about it here
Valid for requests to: frost.met.no v1

Parameter: obsshow

This parameter can be used to keep parts of the observations in the JSON response (and drop others implicitly). You can read about it here
Valid for requests to: frost.met.no v1

Parameter: obshide

This parameter can be used to remove parts of the observations in the JSON response. You can read about it here
Valid for requests to: frost.met.no v1

Parameter: hdrmatchany

Provide an expression to select time series by matching against the header of the JSON structure that defines the time series type (e.g. filter or kafka). The API query may contain several hdrmatchany, and the result will match any of those selectors. More information here
Valid for requests to: frost.met.no v1

Parameter: hdrmatch

Provide an expression to select time series by matching against the header of the JSON structure that defines the time series type (e.g. filter or kafka). The API query may contain only one hdrmatch. More information here
Valid for requests to: frost.met.no v1