{"id":"frost","name":"Frost historical weather and climate","description":"Measured historical weather observations and climate normals from MET Norway's weather-station network.","documentation":"https://frost.met.no/index.html","operations":[{"name":"find_stations","description":"Find MET Norway weather stations.","parameters":[{"name":"query","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_type":"string","required":false,"default":null,"description":"Match the station name (substring), e.g. \"Blindern\", \"Florida\"."},{"name":"county","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_type":"string","required":false,"default":null,"description":"Filter by county (fylke), e.g. \"Vestland\", \"Oslo\"."},{"name":"municipality","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_type":"string","required":false,"default":null,"description":"Filter by municipality (kommune), e.g. \"Bergen\"."},{"name":"near_lat","type":"number","schema":{"anyOf":[{"type":"number"},{"type":"null"}]},"display_type":"decimal number","required":false,"default":null,"description":"If both given, return the stations nearest this WGS84 coordinate (ordered by distance), overriding the filters above."},{"name":"near_lon","type":"number","schema":{"anyOf":[{"type":"number"},{"type":"null"}]},"display_type":"decimal number","required":false,"default":null,"description":"If both given, return the stations nearest this WGS84 coordinate (ordered by distance), overriding the filters above."},{"name":"limit","type":"integer","schema":{"type":"integer"},"display_type":"integer","required":false,"default":20,"description":"Max stations to return, 1-100 (default 20)."},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page."}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/find_stations?query={query}&county={county}&municipality={municipality}&near_lat={near_lat}&near_lon={near_lon}&limit=20&offset=0","output_fields":["[].id","[].name","[].short_name","[].county","[].municipality","[].lon","[].lat","[].masl","[].wmo_id","[].valid_from","[].valid_to","[].distance_km"],"output_fields_truncated":false,"canonical_field_aliases":{"identifier":["[].id"],"name":["[].name"],"longitude":["[].lon"],"latitude":["[].lat"]},"description_language":"en","documentation":"Find MET Norway weather stations.\n\nArgs:\n    query: Match the station name (substring), e.g. \"Blindern\", \"Florida\".\n    county: Filter by county (fylke), e.g. \"Vestland\", \"Oslo\".\n    municipality: Filter by municipality (kommune), e.g. \"Bergen\".\n    near_lat, near_lon: If both given, return the stations nearest this\n        WGS84 coordinate (ordered by distance), overriding the filters above.\n    limit: Max stations to return, 1-100 (default 20).\n\nReturns a list, each with id (e.g. \"SN18700\"), name, short_name, county,\nmunicipality, lat/lon, masl (metres above sea level), wmo_id, and the\nvalid_from/valid_to operating dates. A near_* query also adds distance_km.\nPass an id to get_available_elements or get_observations.\n\nData: Meteorologisk institutt (MET Norway), CC BY 4.0.","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/frost/find_stations/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/frost/find_stations/?query={query}&county={county}&municipality={municipality}&near_lat={near_lat}&near_lon={near_lon}&limit=20&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/frost/find_stations","response_schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"short_name":{"type":["string","null"]},"county":{"type":["string","null"]},"municipality":{"type":["string","null"]},"lon":{"type":["number","null"]},"lat":{"type":["number","null"]},"masl":{"type":["number","null"]},"wmo_id":{"type":["string","null"]},"valid_from":{"type":["string","null"],"format":"date"},"valid_to":{"type":["string","null"],"format":"date"},"distance_km":{"type":["number","null"]}},"additionalProperties":false,"required":["id","name"]}},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["weather_station","place"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/frost/find_stations/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/frost/find_stations","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/find_stations?query={query}&county={county}&municipality={municipality}&near_lat={near_lat}&near_lon={near_lon}&limit=20&offset=0","response_example":{"source":"frost","operation":"find_stations","parameters":{"query":"example value","county":"example value","municipality":"example value","near_lat":1.0,"near_lon":1.0,"limit":20},"data":[{"id":"example-id","name":"Example","short_name":"Example","county":"example value","municipality":"example value","lon":10.75,"lat":59.91,"masl":1.0,"wmo_id":"example-id","valid_from":"2026-01-15","valid_to":"2026-01-15","distance_km":1.0}],"entities":[],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"frost","name":"Frost historical weather and climate","description":"Measured historical weather observations and climate normals from MET Norway's weather-station network.","cache_ttl_seconds":300,"documentation":"https://frost.met.no/index.html"}]},"_provenance":{"data":{"source":"frost","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/frost"},"entities":{"source":"frost","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/frost","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/frost/find_stations","source":"https://allemannsdata.com/wiki/api/v1/kilder/frost","wiki":"https://allemannsdata.com/wiki/kilder/frost/find_stations/"}}},{"name":"get_available_elements","description":"List which weather elements a station measures, and over what period.","parameters":[{"name":"station_id","type":"string","schema":{"type":"string"},"display_type":"string","required":true,"default":null,"description":"A station id from find_stations, e.g. \"SN18700\"."},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100)."},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page."}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_available_elements?station_id={station_id}&limit=25&offset=0","output_fields":["[].element","[].unit","[].resolutions","[].valid_from","[].valid_to"],"output_fields_truncated":false,"canonical_field_aliases":{},"description_language":"en","documentation":"List which weather elements a station measures, and over what period.\n\nCall this before get_observations to discover the exact element codes a\nstation offers (they vary widely between stations and eras).\n\nArgs:\n    station_id: A station id from find_stations, e.g. \"SN18700\".\n\nReturns one row per distinct element, each with the element code, unit,\nthe time resolutions available (e.g. \"PT1H\", \"P1D\", \"P1M\"), and the overall\nvalid_from/valid_to range (valid_to is null if still measured).\n\nData: Meteorologisk institutt (MET Norway), CC BY 4.0.","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/frost/get_available_elements/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/frost/get_available_elements/?station_id={station_id}&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_available_elements","response_schema":{"type":"array","items":{"type":"object","properties":{"element":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"unit":{"type":["string","null"]},"resolutions":{"type":"array","items":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."}},"valid_from":{"type":"null"},"valid_to":{"type":"null"}},"additionalProperties":false}},"response_schema_status":{"status":"incomplete","codegen_safe":false,"description":"Not suitable for typed model generation: the container shape and field names are useful, but unresolved values accept any JSON value."},"entity_projection":{"status":"projected","entity_types":["weather_station","place"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_available_elements/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_available_elements","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_available_elements?station_id={station_id}&limit=25&offset=0"},{"name":"get_observations","description":"Get measured weather observations for a station over a date range.","parameters":[{"name":"station_id","type":"string","schema":{"type":"string"},"display_type":"string","required":true,"default":null,"description":"A station id from find_stations, e.g. \"SN18700\"."},{"name":"elements","type":"string","schema":{"type":"string"},"display_type":"string","required":true,"default":null,"description":"One or more Frost element codes, comma-separated. Examples: \"mean(air_temperature P1D)\" (daily mean temp), \"sum(precipitation_amount P1D)\" (daily precipitation), \"max(air_temperature P1D)\", \"min(air_temperature P1D)\", \"mean(wind_speed P1D)\". Use get_available_elements to see what a station offers."},{"name":"from_date","type":"string","schema":{"type":"string"},"display_type":"string","required":true,"default":null,"description":"Start date (inclusive), ISO \"YYYY-MM-DD\"."},{"name":"to_date","type":"string","schema":{"type":"string"},"display_type":"string","required":true,"default":null,"description":"End date (exclusive), ISO \"YYYY-MM-DD\"."},{"name":"limit","type":"integer","schema":{"type":"integer"},"display_type":"integer","required":false,"default":1000,"description":"Max observation rows to return (default 1000)."},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page."}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_observations?station_id={station_id}&elements={elements}&from_date={from_date}&to_date={to_date}&limit=1000&offset=0","output_fields":["[].time","[].element","[].value","[].unit","[].quality_code","[].time_offset"],"output_fields_truncated":false,"canonical_field_aliases":{"timestamp":["[].time"]},"description_language":"en","documentation":"Get measured weather observations for a station over a date range.\n\nArgs:\n    station_id: A station id from find_stations, e.g. \"SN18700\".\n    elements: One or more Frost element codes, comma-separated. Examples:\n        \"mean(air_temperature P1D)\" (daily mean temp),\n        \"sum(precipitation_amount P1D)\" (daily precipitation),\n        \"max(air_temperature P1D)\", \"min(air_temperature P1D)\",\n        \"mean(wind_speed P1D)\". Use get_available_elements to see what a\n        station offers.\n    from_date: Start date (inclusive), ISO \"YYYY-MM-DD\".\n    to_date: End date (exclusive), ISO \"YYYY-MM-DD\".\n    limit: Max observation rows to return (default 1000).\n\nReturns one row per measurement: time (referenceTime), element, value,\nunit, quality_code (0 = best), and time_offset. A station may report the\nsame element at more than one time_offset (measurement convention); both\nare returned. Empty list if the station has no data for that combination.\n\nData: Meteorologisk institutt (MET Norway), CC BY 4.0.","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/frost/get_observations/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/frost/get_observations/?station_id={station_id}&elements={elements}&from_date={from_date}&to_date={to_date}&limit=1000&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_observations","response_schema":{"type":"array","items":{"type":"object","properties":{"time":{"type":["string","null"],"format":"date-time"},"element":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"value":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"unit":{"type":["string","null"]},"quality_code":{"type":["string","null"]},"time_offset":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."}},"additionalProperties":false}},"response_schema_status":{"status":"incomplete","codegen_safe":false,"description":"Not suitable for typed model generation: the container shape and field names are useful, but unresolved values accept any JSON value."},"entity_projection":{"status":"projected","entity_types":["weather_station","place"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_observations/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_observations","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_observations?station_id={station_id}&elements={elements}&from_date={from_date}&to_date={to_date}&limit=1000&offset=0"},{"name":"get_climate_normals","description":"Get long-term climate normals (standard averages) for a station.","parameters":[{"name":"station_id","type":"string","schema":{"type":"string"},"display_type":"string","required":true,"default":null,"description":"A station id from find_stations, e.g. \"SN18700\"."},{"name":"elements","type":"string","schema":{"anyOf":[{"type":"string"},{"type":"null"}]},"display_type":"string","required":false,"default":null,"description":"Optional element codes, comma-separated, e.g. \"mean(air_temperature P1M)\" (monthly mean temp) or \"sum(precipitation_amount P1M)\". Omit for all normals the station has."},{"name":"period","type":"string","schema":{"type":"string"},"display_type":"string","required":false,"default":"1991/2020","description":"Normal period as \"start/end\" (default \"1991/2020\")."},{"name":"limit","type":"integer","schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"display_type":"integer","required":false,"default":25,"description":"Maximum list items returned by the gateway (default 25, maximum 100)."},{"name":"offset","type":"integer","schema":{"type":"integer","minimum":0,"default":0},"display_type":"integer","required":false,"default":0,"description":"Number of list items to skip before returning the page."}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals?station_id={station_id}&elements={elements}&period=1991%2F2020&limit=25&offset=0","output_fields":["[].element","[].month","[].normal","[].period"],"output_fields_truncated":false,"canonical_field_aliases":{},"description_language":"en","documentation":"Get long-term climate normals (standard averages) for a station.\n\nNormals are the multi-decade averages behind \"normal for the season\".\nAvailable periods are the WMO standards: \"1931/1960\", \"1961/1990\" and\n\"1991/2020\" (the current standard, used by default).\n\nArgs:\n    station_id: A station id from find_stations, e.g. \"SN18700\".\n    elements: Optional element codes, comma-separated, e.g.\n        \"mean(air_temperature P1M)\" (monthly mean temp) or\n        \"sum(precipitation_amount P1M)\". Omit for all normals the station has.\n    period: Normal period as \"start/end\" (default \"1991/2020\").\n\nReturns one row per normal: element, month (1-12, or null for annual\nnormals), normal (the averaged value), and period.\n\nData: Meteorologisk institutt (MET Norway), CC BY 4.0.","documentation_language":"en","wiki_get_endpoint":"https://allemannsdata.com/wiki/kilder/frost/get_climate_normals/","wiki_get_url_template":"https://allemannsdata.com/wiki/kilder/frost/get_climate_normals/?station_id={station_id}&elements={elements}&period=1991%2F2020&limit=25&offset=0","json_endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals","response_schema":{"type":"array","items":{"type":"object","properties":{"element":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"month":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"normal":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."},"period":{"x-allemannsdata-schema-status":"unresolved","description":"Response shape is not yet declared; any JSON value is permitted."}},"additionalProperties":false}},"response_schema_status":{"status":"incomplete","codegen_safe":false,"description":"Not suitable for typed model generation: the container shape and field names are useful, but unresolved values accept any JSON value."},"entity_projection":{"status":"projected","entity_types":["weather_station","place"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"response_schema_url":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals/schema","endpoint":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals","get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/get_climate_normals?station_id={station_id}&elements={elements}&period=1991%2F2020&limit=25&offset=0"}],"operation_schema_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/frost/{operation}/schema","related_sources":[{"id":"weather","name":"Weather and natural hazards","reason":"Current conditions and forecasts for the same location, from the same provider.","api":"https://allemannsdata.com/wiki/api/v1/kilder/weather","wiki":"https://allemannsdata.com/wiki/kilder/weather/"},{"id":"nve","name":"NVE HydAPI","reason":"Hydrological stations, water levels and discharge for a coordinate.","api":"https://allemannsdata.com/wiki/api/v1/kilder/nve","wiki":"https://allemannsdata.com/wiki/kilder/nve/"}],"_meta":{"retrieved_at":"2026-08-02T14:01:09Z","language":"en","content_languages":["en"],"sources":[{"id":"frost","name":"Frost historical weather and climate","description":"Measured historical weather observations and climate normals from MET Norway's weather-station network.","documentation":"https://frost.met.no/index.html","cache_ttl_seconds":300}]},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/frost","names":"https://allemannsdata.com/wiki/api/v1/kilder/frost?view=names","compact":"https://allemannsdata.com/wiki/api/v1/kilder/frost?view=compact","full":"https://allemannsdata.com/wiki/api/v1/kilder/frost","wiki":"https://allemannsdata.com/wiki/kilder/frost/"}}
