GET /weather/history/:city
Hourly weather snapshots for a supported city, stored continuously by our own workers from the top of every hour. Returns temperature, apparent temperature, humidity, precipitation, wind speed/direction, weather code, and cloud cover. Filter with ?start and ?end (ISO 8601 or YYYY-MM-DD). Useful for building long-running climate dashboards, comparing conditions across cities over time, and analyzing hourly weather patterns without hitting upstream archive APIs.
city
required
City name (see /weather/cities)
start
optional
Start datetime (ISO 8601 or YYYY-MM-DD)
end
optional
End datetime (ISO 8601 or YYYY-MM-DD)
limit
optional
default: 500
Max rows (cap 10000)
| Name | Required | Default | Description |
|---|---|---|---|
city |
Yes | - | City name (see /weather/cities) |
start |
No | - | Start datetime (ISO 8601 or YYYY-MM-DD) |
end |
No | - | End datetime (ISO 8601 or YYYY-MM-DD) |
limit |
No | 500 | Max rows (cap 10000) |
curl "https://nordapi.ee/api/v1/weather/history/tallinn?limit=24"
curl "https://nordapi.ee/api/v1/weather/history/tallinn?limit=24"
curl "https://nordapi.ee/api/v1/weather/history/oslo?start=2026-04-01&end=2026-04-15"
curl "https://nordapi.ee/api/v1/weather/history/tokyo?limit=10000"
{
"city": "tallinn",
"count": 24,
"data": [
{
"apparent_temperature_c": 5.0,
"cloud_cover_pct": 100.0,
"observed_at": "2026-04-16T20:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 91.0,
"temperature_c": 7.3,
"weather_code": 3,
"wind_direction_deg": 27.0,
"wind_speed_kmh": 8.6
},
{
"apparent_temperature_c": 4.7,
"cloud_cover_pct": 15.0,
"observed_at": "2026-05-29T02:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 65.0,
"temperature_c": 10.0,
"weather_code": 0,
"wind_direction_deg": 310.0,
"wind_speed_kmh": 25.6
},
{
"apparent_temperature_c": 4.6,
"cloud_cover_pct": 25.0,
"observed_at": "2026-05-29T03:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 64.0,
"temperature_c": 10.0,
"weather_code": 1,
"wind_direction_deg": 310.0,
"wind_speed_kmh": 26.3
},
{
"apparent_temperature_c": 4.6,
"cloud_cover_pct": 59.0,
"observed_at": "2026-05-29T04:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 63.0,
"temperature_c": 10.0,
"weather_code": 2,
"wind_direction_deg": 314.0,
"wind_speed_kmh": 26.3
},
{
"apparent_temperature_c": 5.8,
"cloud_cover_pct": 38.0,
"observed_at": "2026-05-29T05:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 62.0,
"temperature_c": 10.8,
"weather_code": 1,
"wind_direction_deg": 315.0,
"wind_speed_kmh": 24.5
},
{
"apparent_temperature_c": 7.0,
"cloud_cover_pct": 7.0,
"observed_at": "2026-05-29T06:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 60.0,
"temperature_c": 11.8,
"weather_code": 0,
"wind_direction_deg": 312.0,
"wind_speed_kmh": 23.0
},
{
"apparent_temperature_c": 8.6,
"cloud_cover_pct": 0.0,
"observed_at": "2026-05-29T07:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 58.0,
"temperature_c": 12.9,
"weather_code": 0,
"wind_direction_deg": 306.0,
"wind_speed_kmh": 22.7
},
{
"apparent_temperature_c": 9.2,
"cloud_cover_pct": 22.0,
"observed_at": "2026-05-29T08:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 55.0,
"temperature_c": 13.4,
"weather_code": 1,
"wind_direction_deg": 300.0,
"wind_speed_kmh": 24.8
},
{
"apparent_temperature_c": 9.4,
"cloud_cover_pct": 77.0,
"observed_at": "2026-05-29T09:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 54.0,
"temperature_c": 13.9,
"weather_code": 2,
"wind_direction_deg": 291.0,
"wind_speed_kmh": 27.7
},
{
"apparent_temperature_c": 10.0,
"cloud_cover_pct": 12.0,
"observed_at": "2026-05-29T10:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 54.0,
"temperature_c": 14.2,
"weather_code": 0,
"wind_direction_deg": 290.0,
"wind_speed_kmh": 28.4
},
{
"apparent_temperature_c": 9.4,
"cloud_cover_pct": 73.0,
"observed_at": "2026-05-29T11:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 57.0,
"temperature_c": 14.0,
"weather_code": 2,
"wind_direction_deg": 291.0,
"wind_speed_kmh": 29.9
},
{
"apparent_temperature_c": 10.3,
"cloud_cover_pct": 64.0,
"observed_at": "2026-05-29T12:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 57.0,
"temperature_c": 14.9,
"weather_code": 2,
"wind_direction_deg": 292.0,
"wind_speed_kmh": 29.5
},
{
"apparent_temperature_c": 9.9,
"cloud_cover_pct": 97.0,
"observed_at": "2026-05-29T13:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 58.0,
"temperature_c": 14.8,
"weather_code": 3,
"wind_direction_deg": 291.0,
"wind_speed_kmh": 28.1
},
{
"apparent_temperature_c": 11.2,
"cloud_cover_pct": 100.0,
"observed_at": "2026-05-29T14:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 59.0,
"temperature_c": 15.1,
"weather_code": 3,
"wind_direction_deg": 292.0,
"wind_speed_kmh": 21.6
},
{
"apparent_temperature_c": 13.0,
"cloud_cover_pct": 100.0,
"observed_at": "2026-05-29T15:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 60.0,
"temperature_c": 15.8,
"weather_code": 3,
"wind_direction_deg": 296.0,
"wind_speed_kmh": 15.5
},
{
"apparent_temperature_c": 9.6,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-11T17:00:00Z",
"precipitation_mm": 0.9,
"relative_humidity": 91.0,
"temperature_c": 12.8,
"weather_code": 63,
"wind_direction_deg": 46.0,
"wind_speed_kmh": 24.8
},
{
"apparent_temperature_c": 8.6,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-11T18:00:00Z",
"precipitation_mm": 1.7,
"relative_humidity": 91.0,
"temperature_c": 12.3,
"weather_code": 63,
"wind_direction_deg": 25.0,
"wind_speed_kmh": 26.6
},
{
"apparent_temperature_c": 7.3,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-11T19:00:00Z",
"precipitation_mm": 1.7,
"relative_humidity": 91.0,
"temperature_c": 11.9,
"weather_code": 63,
"wind_direction_deg": 30.0,
"wind_speed_kmh": 32.8
},
{
"apparent_temperature_c": 7.8,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-11T20:00:00Z",
"precipitation_mm": 0.7,
"relative_humidity": 91.0,
"temperature_c": 12.1,
"weather_code": 63,
"wind_direction_deg": 48.0,
"wind_speed_kmh": 30.2
},
{
"apparent_temperature_c": 8.3,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-11T21:00:00Z",
"precipitation_mm": 0.6,
"relative_humidity": 93.0,
"temperature_c": 12.2,
"weather_code": 61,
"wind_direction_deg": 79.0,
"wind_speed_kmh": 28.8
},
{
"apparent_temperature_c": 10.9,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-11T22:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 93.0,
"temperature_c": 12.7,
"weather_code": 3,
"wind_direction_deg": 67.0,
"wind_speed_kmh": 15.8
},
{
"apparent_temperature_c": 12.8,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-11T23:00:00Z",
"precipitation_mm": 0.5,
"relative_humidity": 94.0,
"temperature_c": 12.9,
"weather_code": 61,
"wind_direction_deg": 131.0,
"wind_speed_kmh": 4.7
},
{
"apparent_temperature_c": 12.4,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-12T00:00:00Z",
"precipitation_mm": 0.2,
"relative_humidity": 93.0,
"temperature_c": 12.9,
"weather_code": 53,
"wind_direction_deg": 191.0,
"wind_speed_kmh": 7.6
},
{
"apparent_temperature_c": 12.7,
"cloud_cover_pct": 100.0,
"observed_at": "2026-06-12T01:00:00Z",
"precipitation_mm": 0.0,
"relative_humidity": 92.0,
"temperature_c": 13.0,
"weather_code": 3,
"wind_direction_deg": 228.0,
"wind_speed_kmh": 6.1
}
],
"success": true
}