{"source":"luftkvalitet","operation":"get_air_quality_forecast","description":"Get the modelled hourly air quality forecast (~2 days ahead) for any\ncoordinate in Norway: overall AQI index plus PM2.5, PM10, NO2 and O3\nconcentrations (ug/m3). Signature: get_air_quality_forecast(lat: decimal number, decimal degrees (WGS84), required; lon: decimal number, decimal degrees (WGS84), required; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0).","signature":"get_air_quality_forecast(lat: decimal number, decimal degrees (WGS84), required; lon: decimal number, decimal degrees (WGS84), required; limit: integer, items, optional, default 25; offset: integer, items, optional, default 0)","parameters":[{"name":"lat","type":"number","schema":{"type":"number"},"required":true,"default":null,"description":"WGS84 coordinate. Works anywhere in Norway, no station needed - this is the modelled forecast, not a measurement. Unit: decimal degrees (WGS84).","unit":"decimal degrees (WGS84)"},{"name":"lon","type":"number","schema":{"type":"number"},"required":true,"default":null,"description":"WGS84 coordinate. Works anywhere in Norway, no station needed - this is the modelled forecast, not a measurement. Unit: decimal degrees (WGS84).","unit":"decimal degrees (WGS84)"},{"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).","unit":"items"},{"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.","unit":"items"}],"json_get_url_template":"https://allemannsdata.com/wiki/api/v1/kilder/luftkvalitet/get_air_quality_forecast?lat={lat}&lon={lon}&limit=25&offset=0","schema_scope":"#/data in the successful operation envelope","response_schema":{"type":"object","properties":{"place":{"type":["string","null"]},"municipality":{"type":["string","null"]},"now_level":{"type":["string","null"]},"now_aqi":{"type":["number","null"]},"components":{"type":"array","items":{"type":"object","properties":{"component":{"type":["string","null"]},"unit":{"type":["string","null"]},"values":{"type":"array","items":{"type":"object","properties":{"time":{"type":"string","format":"date-time"},"value":{"type":"number"}},"additionalProperties":false,"required":["time","value"]}}},"additionalProperties":false,"required":["component","values"]}}},"additionalProperties":false,"required":["components"]},"response_schema_status":{"status":"declared","codegen_safe":true,"description":"Maintained response contract."},"entity_projection":{"status":"projected","entity_types":["air_quality_station","place"],"description":"Recognized records and stable operation identifiers are projected; an empty array means the successful payload contained no recognizable entity."},"error_contract":{"scope":"top-level HTTP error response; never part of a success payload","schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"details":{"type":"object"}},"additionalProperties":false,"required":["code","message","retryable"]},"suggestion":{"type":"string"},"_meta":{"type":"object","properties":{"retrieved_at":{"type":"string","format":"date-time"},"language":{"type":"string","const":"en"},"content_languages":{"type":"array","items":{"type":"string"}},"sources":{"type":"array","items":{"type":"object"}}},"required":["retrieved_at","language","content_languages","sources"]},"_links":{"type":"object","properties":{"self":{"type":"string","format":"uri"},"api_index":{"type":"string","format":"uri"},"feedback":{"type":"string","format":"uri"}},"required":["self","api_index","feedback"],"additionalProperties":false}},"additionalProperties":false,"required":["error","suggestion","_meta","_links"]},"statuses":{"400":{"codes":["MISSING_PARAMETER","INVALID_PARAMETER","INVALID_REQUEST"],"retryable":false},"404":{"codes":["SOURCE_NOT_FOUND","OPERATION_NOT_FOUND","ENTITY_NOT_FOUND"],"retryable":false},"429":{"codes":["RATE_LIMITED","GATEWAY_RATE_LIMITED"],"retryable":true},"502":{"codes":["SOURCE_UNAVAILABLE"],"retryable":true},"500":{"codes":["INTERNAL_ERROR"],"retryable":true}}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/luftkvalitet/get_air_quality_forecast/schema","operation":"https://allemannsdata.com/wiki/api/v1/kilder/luftkvalitet/get_air_quality_forecast","source":"https://allemannsdata.com/wiki/api/v1/kilder/luftkvalitet","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"},"output_fields":["place","municipality","now_level","now_aqi","components","components[].component","components[].unit","components[].values","components[].values[].time","components[].values[].value"],"output_fields_truncated":false,"canonical_field_aliases":{"timestamp":["components[].values[].time"]},"response_example":{"source":"luftkvalitet","operation":"get_air_quality_forecast","parameters":{"lat":59.91,"lon":10.75},"data":{"place":"example value","municipality":"example value","now_level":"example value","now_aqi":1.0,"components":[{"component":"example value","unit":"example value","values":[{"time":"2026-01-15T12:00:00Z","value":1.0}]}]},"entities":[{"type":"place","id":"59.91,10.75","name":"59.91, 10.75","source":"luftkvalitet","description":"Coordinate used as the operation input.","coordinates":{"lat":59.91,"lon":10.75,"crs":"WGS84"}}],"_meta":{"retrieved_at":"2026-01-15T12:00:00Z","language":"en","content_languages":["en"],"sources":[{"id":"luftkvalitet","name":"Air quality","description":"Monitoring stations, latest measurements, history and Norwegian air-quality forecasts.","cache_ttl_seconds":60}]},"_provenance":{"data":{"source":"luftkvalitet","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/luftkvalitet"},"entities":{"source":"luftkvalitet","source_api":"https://allemannsdata.com/wiki/api/v1/kilder/luftkvalitet","derived_from":"#/data","description":"Normalized projection of data."}},"_links":{"self":"https://allemannsdata.com/wiki/api/v1/kilder/luftkvalitet/get_air_quality_forecast","source":"https://allemannsdata.com/wiki/api/v1/kilder/luftkvalitet","wiki":"https://allemannsdata.com/wiki/kilder/luftkvalitet/get_air_quality_forecast/","feedback":"https://allemannsdata.com/wiki/api/v1/feedback"}}}
