Skip to content

Data tools

Weather forecasts and observations for the Nordics.

Hourly forecasts and measured station values for Sweden, Norway, Finland, Denmark and Iceland, read from the four national weather institutes and returned in one row format with the same fields, units and weather symbols.

Price

1 USD

per 1 000 weather rows (one place and one hour per row). Platform usage is included.

Try it free on Apify

Try it free: Apify's free plan includes 5 USD of usage every month, enough for about 5 000 weather rows. No credit card needed.

What it does.

Give the tool city names or coordinates. In auto mode each place gets the forecast from its own country's institute: SMHI for Sweden, MET Norway (the data behind Yr) for Norway and Iceland, FMI for Finland and DMI for Denmark. You can also pick one source for every place, for example to compare SMHI and MET Norway for the same city.

Each row is one place and one hour: temperature, wind speed, gusts and direction, precipitation and the period it covers, humidity, pressure, cloud cover and a weather symbol from one shared list. Forecasts reach up to 10 days ahead (DMI about 60 hours). In observations mode you get measured values from the nearest station for up to the last 7 days in Sweden, Finland and Denmark. The sample below is an observations run for Stockholm, Helsinki and Copenhagen, so it shows three sources side by side.

Sample from a real run.

8 rows (selected fields) from run TqnFvGTdof67uhPBD on 3 October 2026, exactly as the tool returned them.
locationsourcetimetemperatureCwindSpeedMsprecipitationMmcloudCoverPctweatherSymbolstation
Stockholmsmhi2026-10-03T10:00:00Z14.4500clearStockholm-Observatoriekullen A (SMHI 98230, 2 km)
Stockholmsmhi2026-10-03T11:00:00Z16.850nullnullStockholm-Observatoriekullen A (SMHI 98230, 2 km)
Helsinkifmi2026-10-03T10:00:00Z12.51.60100cloudyFMI station at 60.17523,24.94459 (1 km)
Helsinkifmi2026-10-03T11:00:00Z12.72.40100cloudyFMI station at 60.17523,24.94459 (1 km)
Helsinkifmi2026-10-03T12:00:00Z12.72.70100cloudyFMI station at 60.17523,24.94459 (1 km)
Københavndmi2026-10-03T10:00:00Z16.73.100clearDMI 06186 (2 km)
Københavndmi2026-10-03T11:00:00Z17.74.6060partly_cloudyDMI 06186 (2 km)
Københavndmi2026-10-03T12:00:00Z17.84.100clearDMI 06186 (2 km)

What people use it for.

  • Planning work outdoors

    Weather columns per hour for logistics, field service, construction or events in the Nordics.
  • Energy and demand models

    Temperature, wind and cloud cover by hour as inputs, with the same units whichever country the place is in.
  • Forecast comparison

    Run the same city against two institutes and see where they disagree.
  • A daily weather table

    Schedule a run with onlyNew set to true and only hours that are new since the last run are returned.

Fields.

Every row has these fields. Field names are stable between versions.
FieldWhat it holds
locationName of the place as given, or the built-in name
latLatitude used for the request
lonLongitude used for the request
countrySE, NO, FI, DK, IS, or null for points far from the Nordics
sourcesmhi, met, fmi or dmi
modeforecast or observations
timeHour in UTC, ISO 8601
temperatureCAir temperature at 2 m, °C
windSpeedMsMean wind speed at 10 m, m/s
windGustMsWind gust, m/s
windDirectionDegDirection the wind comes from, degrees (0 north, 90 east)
precipitationMmPrecipitation in the period that ends at time, mm
precipitationPeriodHoursLength of that period: 1 for hourly steps, longer for later forecast steps (SMHI uses 3, 6 and 12 hours after a few days, MET Norway 6 hours)
humidityPctRelative humidity, %
pressureHpaAir pressure at sea level, hPa
cloudCoverPctTotal cloud cover, %
weatherSymbolWeather symbol from one shared list, for example clear, cloudy or light_rain
weatherSymbolOriginalThe source's own code, for example smhi:2, met:lightrain, fmi:3, fmi-wawa:61. null when the source has none
stationObservation station and its distance from the place. null for forecasts
licenseLicense of the source for this row
attributionCredit line for the source of this row

Input example.

Paste it into the JSON tab of the actor in Apify Console, or send it to the Apify API.
{
  "mode": "observations",
  "cities": [
    "Stockholm",
    "Helsinki",
    "Copenhagen"
  ],
  "source": "auto",
  "onlyNew": false,
  "hoursBack": 3,
  "hoursAhead": 48,
  "maxResults": 9
}

What a run costs

The run on 3 October 2026 shown above asked for the last 3 hours of observations in three cities and returned 8 rows in about 7 seconds, which is 0.008 USD. A forecast for 4 cities and 24 hours is about 100 rows, or 0.10 USD. maxResults caps every run (default 50).

Run it on a schedule.

  1. Ask for new rows only

    Set onlyNew to true. The actor remembers what it has already delivered for the same input, in a named key-value store in your own Apify account (nightwave-state-nordic-weather).
  2. Add a schedule

    Add the actor to a schedule in Apify Console, for example with the cron expression 0 7 * * * for 07:00 every day.
  3. Get what is new

    The first run returns everything in the selection. After that, each run returns and charges only what is new. A run with nothing new finishes with 0 rows and costs nothing.

Source and license.

The rows come from the open APIs of SMHI (forecasts and observations), MET Norway Locationforecast 2.0, FMI open data and DMI's open forecast and observation APIs. None of them needs a key. The tool converts units and names but does not change the values. It is not affiliated with SMHI, MET Norway, FMI or DMI.

SMHI, FMI and DMI publish under CC BY 4.0, and MET Norway under CC BY 4.0 and NLOD 2.0. Commercial use is allowed with credit to the source. Every row carries license and attribution, so you can keep the credit line when you publish the data.

More data tools.

Try it on Apify.

Apify's free plan includes 5 USD of usage every month, so you can try the input above at no cost. Apify handles the account, the runs and the payment.