🌤️ Прогноз погоди для міст України

Погодинний та щоденний прогноз погоди на основі даних Фінського метеорологічного інституту (FMI)

Зміст

📋Огляд 🌡️Поточна 📊Погодинний 📅Щоденний 🔌API Docs 🎨Іконки

Огляд Weather API

Прогноз погоди для міст України на основі даних FMI

Weather API надає прогноз погоди для міст України на основі даних Фінського метеорологічного інституту (FMI). Дані оновлюються кожні 3 години та зберігаються локально для швидкого доступу.

Базова URL: https://geodataua.runasp.net/api/weather
🌡️

Поточна погода

Найближчий годинний запис: температура, вологість, тиск, вітер, опади

📊

Погодинний прогноз

Прогноз по годинам на 1–10 днів з детальними параметрами

📅

Щоденний прогноз

Агрегація min/max/avg температури, опадів та вітру на 1–10 днів

🌡️ Поточна погода

Прогноз на основі даних Фінського метеорологічного інституту (FMI)

📍 Місто: —  |  Станція: —  |  Координати: —
⏳
—
Завантаження…

—

—
—
💧
Вологість
—
🌡️
Тиск
—
🌬️
Вітер
—
💨
Пориви
—
🧭
Напрямок
—
🌧️
Опади
—
🌅 Схід: —
☀️ Тривалість: —
🌇 Захід: —

📊 Погодинний прогноз

Детальний прогноз по годинам

Час Погода Опади Темп Вітер Пориви Вол.

📈 Графік температури

🔴 Температура °C 🔵 Точка роси °C 🟢 Вологість %

📅 Прогноз на 10 днів

Агреговані показники min/max температури, опадів та вітру по днях

📊 Діаграма min/max температури по днях

🔵 Min °C 🔴 Max °C 🟡 Опади (мм)

🔌 API документація

Ендпоінти Weather API

🔑 Автентифікація

API-ключ передається у заголовку кожного запиту:

X-API-Key: <YOUR_API_KEY>

API-ключ видається при реєстрації клієнта в особистому кабінеті.

GET /api/weather/current?cityId={id}

Поточна погода для міста — найближчий годинний запис з прогнозу.

Параметри

ПараметрТипОбов'язк.Опис
cityId int ✅ ID міста з бази GeoData

Приклад відповіді 200

{
  "station": {
    "stationName": "Kyiv",
    "city": "Київ",
    "region": "Київська область",
    "latitude": 50.4501,
    "longitude": 30.5234
  },
  "forecast": {
    "localTime": "2026-04-09T18:00:00",
    "temperature": 6,
    "dewPoint": -2,
    "humidity": 55,
    "pressure": 1015,
    "windDirection": 358,
    "windSpeedMS": 4,
    "windGust": 10,
    "windCompass8": "N",
    "precipitation": 0,
    "weatherCode": 4,
    "weatherText": "partly cloudy",
    "isDark": false,
    "sunrise": "03:17",
    "sunset": "16:42",
    "dayLengthMinutes": 806
  }
}
GET /api/weather/hourly?cityId={id}&from={date}&to={date}

Погодинний прогноз за діапазоном дат.

Параметри

ПараметрТипОбов'язк.Опис
cityId int ✅ ID міста
from date ❌ Початок діапазону (за замовч. — зараз)
to date ❌ Кінець діапазону (за замовч. — +3 дні)
GET /api/weather/daily?cityId={id}&from={date}&to={date}

Щоденний прогноз — агрегація min/max/avg по днях.

Параметри

ПараметрТипОбов'язк.Опис
cityId int ✅ ID міста
from date ❌ Початок (за замовч. — сьогодні)
to date ❌ Кінець (за замовч. — +7 днів)

📋 Зведена таблиця ендпоінтів

МетодЕндпоінтОпис
GET /api/weather/current Поточна погода для міста
GET /api/weather/hourly Погодинний прогноз за діапазоном дат
GET /api/weather/daily Щоденний прогноз (агрегований)

🎨 Довідник погодних іконок

SmartSymbol — система кодів FMI для відображення погодних станів

Маппінг SmartSymbol → Emoji

Нічні коди = денні + 100. CSS-клас dark додається для нічних версій

Код Ніч День Ніч CSS-клас UA назва
1101☀️🌙clearЯсно
2102🌤️🌙mostly-clearПереважно ясно
4104⛅☁️partly-cloudyМінлива хмарність
6106🌥️☁️mostly-cloudyПереважно хмарно
7107☁️☁️overcastПохмуро
31131🌦️🌧️periods-of-light-rainЧасом невеликий дощ
34134🌧️🌧️moderate-rainПомірний дощ
35135🌧️🌧️heavy-rainСильний дощ
37137🌦️🌧️light-rainНевеликий дощ
38138🌧️🌧️moderate-rainПомірний дощ
41141🌨️🌨️light-snowНевеликий сніг
44144❄️❄️moderate-snowПомірний сніг
47147🌨️🌨️light-sleetНевеликий мокрий сніг
51151⛈️⛈️thunderstormГроза

Візуальна сітка іконок

☀️
Яснокод 1 / 101
🌤️
Переважно яснокод 2 / 102
⛅
Мінлива хмарністькод 4 / 104
🌥️
Переважно хмарнокод 6 / 106
☁️
Похмурокод 7 / 107
🌦️
Часом невеликий дощкод 31 / 131
🌧️
Помірний дощкод 34 / 134
🌨️
Невеликий снігкод 41 / 141
🌨️
Мокрий снігкод 47 / 147
❄️
Помірний снігкод 44 / 144
⛈️
Грозакод 51 / 151

🧭 Іконки напрямку вітру

⬆️
Північний (N)
↗️
Північно-Східний (NE)
➡️
Східний (E)
↘️
Південно-Східний (SE)
⬇️
Південний (S)
↙️
Південно-Західний (SW)
⬅️
Західний (W)
↖️
Північно-Західний (NW)