GET /weather/history/:city
Instantanés météorologiques horaires pour une ville prise en charge, stockés en continu par nos propres workers à partir du début de chaque heure. Renvoie la température, la température ressentie, l'humidité, les précipitations, la vitesse et la direction du vent, le code météo et la couverture nuageuse. Filtrez avec ?start et ?end (ISO 8601 ou AAAA-MM-JJ). Utile pour construire des tableaux de bord climatiques de longue durée, comparer les conditions entre villes au fil du temps et analyser les schémas météorologiques horaires sans solliciter les API d'archives en amont.
city
requis
City name (see /weather/cities)
start
optionnel
Start datetime (ISO 8601 or YYYY-MM-DD)
end
optionnel
End datetime (ISO 8601 or YYYY-MM-DD)
limit
optionnel
par défaut: 500
Max rows (cap 10000)
| Nom | Requis | Par défaut | Description |
|---|---|---|---|
city |
Oui | - | City name (see /weather/cities) |
start |
Non | - | Start datetime (ISO 8601 or YYYY-MM-DD) |
end |
Non | - | End datetime (ISO 8601 or YYYY-MM-DD) |
limit |
Non | 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
}