API Яндекс Погоды: Получить почасовой прогноз

Сценарий из mcp-everything. Актуально на 2026-10-24.

Прогноз на ближайшие дни по часам — для планирования доставки, мероприятий или выездных работ.

  1. Отправь запрос: POST /graphql/query с блоком forecast { days(limit: N) { hours { ... } } } внутри weatherByPoint. limit задаёт число дней прогноза.
  2. Для каждого часа выбери поля: time, temperature, humidity, pressure, windSpeed, windDirection.
  3. Ответ — в data.weatherByPoint.forecast.days[].hours[]; time — в часовом поясе точки.
  4. Набор доступных полей зависит от тарифа: если поле недоступно, запрос вернёт ошибку — проверь схему в консоли API.
import requests

query = """
{ weatherByPoint(request: { lat: 55.7558, lon: 37.6173 }) {
    forecast { days(limit: 2) { hours { time temperature humidity windSpeed windDirection } } }
} }
"""
r = requests.post("https://api.weather.yandex.ru/graphql/query",
                  headers={"X-Yandex-Weather-Key": "<ключ>"}, json={"query": query}).json()
for day in r["data"]["weatherByPoint"]["forecast"]["days"]:
    for h in day["hours"]:
        print(h["time"], h["temperature"], h["windSpeed"])

Базовые URL

Авторизация

Тип: API-ключ

Ключ создают в Кабинете разработчика (https://yandex.ru/pogoda/b2b/console), выбрав «API Погодных Данных»; активируется через несколько минут. Ключ передаётся в заголовке X-Yandex-Weather-Key.

X-Yandex-Weather-Key: <Key>

Методы сценария

POST /graphql/query — GraphQL-запрос погоды

Текст GraphQL-запроса передаётся в теле POST-запроса, в JSON-поле query. Точка задаётся в weatherByPoint(request: { lat, lon }); внутри выбираются now (фактическая погода) и/или forecast (прогноз).

Пример запроса (текущая температура):

Пример запроса (почасовой прогноз):

Параметр Где Тип Обяз. Описание
X-Yandex-Weather-Key header string да Ключ доступа
query body string да Текст GraphQL-запроса

Пример запроса:

{
  weatherByPoint(request: { lat: 52.37125, lon: 4.89388 }) {
    now {
      temperature
    }
  }
}

Пример ответа:

{
  "data": {
    "weatherByPoint": {
      "now": {
        "temperature": 20
      }
    }
  }
}

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://yandex.ru/dev/weather/doc/ru/concepts/index-v3 Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-weather.md