Open-Meteo — это бесплатный открытый API погоды, разработанный для разработчиков, исследователей и любых сайтов и приложений, которым нужны точные метеорологические данные. Сервис объединяет данные национальных гидрометеослужб (DWD, NOAA, ECMWF, Meteo-France, JMA, MeteoSwiss и других) и предоставляет их через единый JSON-интерфейс без необходимости регистрации для некоммерческого использования.
Этот раздел — неофициальное русскоязычное руководство по документации open-meteo.com. Здесь собраны все основные разделы API: прогноз погоды, архивные данные, морская погода, качество воздуха, геокодинг, высота рельефа, наводнения, ансамблевые модели, климатические прогнозы и спутниковая радиация.
Как устроены запросы
Все API Open-Meteo работают по простому принципу: GET-запрос на определённый домен вида https://api.open-meteo.com/v1/... с параметрами координат и списком нужных переменных, ответ — JSON.
GET https://api.open-meteo.com/v1/forecast?latitude=55.75&longitude=37.62&hourly=temperature_2m
У каждого раздела API (прогноз, архив, морская погода и т.д.) — свой собственный поддомен (например, archive-api.open-meteo.com, marine-api.open-meteo.com, air-quality-api.open-meteo.com), но общий набор принципов одинаков для всех.
Общие параметры запросов
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
latitude, longitude | число (WGS84) | — | Координаты точки. Можно передать несколько точек через запятую, например latitude=52.52,48.85 |
temperature_unit | строка | celsius | Единицы температуры: celsius или fahrenheit |
wind_speed_unit | строка | kmh | Единицы скорости ветра: kmh, ms, mph, kn |
precipitation_unit | строка | mm | Единицы осадков: mm или inch |
timeformat | строка | iso8601 | Формат времени: ISO 8601 или unixtime |
timezone | строка | GMT | Название часового пояса (например Europe/Moscow) или auto — определить по координатам |
past_days / forecast_days | целое число | 0 / 7 | Сколько дней в прошлом/будущем возвращать |
start_date / end_date | дата yyyy-mm-dd | — | Явный диапазон дат вместо past_days/forecast_days |
cell_selection | строка | land | Как выбирать ближайшую ячейку модели: land, sea, nearest |
apikey | строка | — | Требуется только при коммерческом использовании (платные тарифы) |
Формат ответа
По умолчанию все API возвращают JSON. Типичная структура ответа для прогноза погоды:
{
"latitude": 55.76,
"longitude": 37.64,
"generationtime_ms": 0.15,
"utc_offset_seconds": 10800,
"timezone": "Europe/Moscow",
"timezone_abbreviation": "MSK",
"hourly_units": { "temperature_2m": "°C" },
"hourly": {
"time": ["2026-07-17T00:00", "2026-07-17T01:00"],
"temperature_2m": [18.4, 17.9]
}
}
Помимо JSON, большинство эндпоинтов позволяют скачать те же данные в форматах CSV и XLSX, добавив соответствующий параметр в URL (ссылки на скачивание генерируются прямо на странице документации каждого API).
Обработка ошибок
При некорректном запросе API возвращает HTTP-статус 400 и JSON вида:
{
"error": true,
"reason": "Latitude must be in range of -90 to 90°. Given: 195.5."
}
Бесплатный доступ и коммерческое использование
Open-Meteo можно использовать бесплатно без регистрации и API-ключа — для некоммерческих проектов, тестирования и прототипов, в пределах разумных лимитов (подробнее — в статье «Тарифы и условия использования»). Для коммерческого применения необходимо оформить платную подписку и использовать выданный apikey вместе со специальным доменом customer-*.open-meteo.com.
Лежащие в основе метеорологические данные распространяются по лицензии CC BY 4.0, что требует указания атрибуции первоисточника (DWD, ECMWF, NOAA и т.д.) и самого Open-Meteo.