Weather forecasts and observations for the Nordics.
Price
1 USD
per 1 000 weather rows (one place and one hour per row). Platform usage is included.
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.
TqnFvGTdof67uhPBD on 3 October 2026, exactly as the tool returned them.location | source | time | temperatureC | windSpeedMs | precipitationMm | cloudCoverPct | weatherSymbol | station |
|---|---|---|---|---|---|---|---|---|
| Stockholm | smhi | 2026-10-03T10:00:00Z | 14.4 | 5 | 0 | 0 | clear | Stockholm-Observatoriekullen A (SMHI 98230, 2 km) |
| Stockholm | smhi | 2026-10-03T11:00:00Z | 16.8 | 5 | 0 | null | null | Stockholm-Observatoriekullen A (SMHI 98230, 2 km) |
| Helsinki | fmi | 2026-10-03T10:00:00Z | 12.5 | 1.6 | 0 | 100 | cloudy | FMI station at 60.17523,24.94459 (1 km) |
| Helsinki | fmi | 2026-10-03T11:00:00Z | 12.7 | 2.4 | 0 | 100 | cloudy | FMI station at 60.17523,24.94459 (1 km) |
| Helsinki | fmi | 2026-10-03T12:00:00Z | 12.7 | 2.7 | 0 | 100 | cloudy | FMI station at 60.17523,24.94459 (1 km) |
| København | dmi | 2026-10-03T10:00:00Z | 16.7 | 3.1 | 0 | 0 | clear | DMI 06186 (2 km) |
| København | dmi | 2026-10-03T11:00:00Z | 17.7 | 4.6 | 0 | 60 | partly_cloudy | DMI 06186 (2 km) |
| København | dmi | 2026-10-03T12:00:00Z | 17.8 | 4.1 | 0 | 0 | clear | DMI 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 withonlyNewset to true and only hours that are new since the last run are returned.
Fields.
| Field | What it holds |
|---|---|
location | Name of the place as given, or the built-in name |
lat | Latitude used for the request |
lon | Longitude used for the request |
country | SE, NO, FI, DK, IS, or null for points far from the Nordics |
source | smhi, met, fmi or dmi |
mode | forecast or observations |
time | Hour in UTC, ISO 8601 |
temperatureC | Air temperature at 2 m, °C |
windSpeedMs | Mean wind speed at 10 m, m/s |
windGustMs | Wind gust, m/s |
windDirectionDeg | Direction the wind comes from, degrees (0 north, 90 east) |
precipitationMm | Precipitation in the period that ends at time, mm |
precipitationPeriodHours | Length 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) |
humidityPct | Relative humidity, % |
pressureHpa | Air pressure at sea level, hPa |
cloudCoverPct | Total cloud cover, % |
weatherSymbol | Weather symbol from one shared list, for example clear, cloudy or light_rain |
weatherSymbolOriginal | The source's own code, for example smhi:2, met:lightrain, fmi:3, fmi-wawa:61. null when the source has none |
station | Observation station and its distance from the place. null for forecasts |
license | License of the source for this row |
attribution | Credit line for the source of this row |
Input example.
{
"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.
Ask for new rows only
SetonlyNewtotrue. 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).Add a schedule
Add the actor to a schedule in Apify Console, for example with the cron expression0 7 * * *for 07:00 every day.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.