API Яндекс Погоды: Узнать текущую погоду в точке

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

Показать погоду на сайте, учесть дождь в логистике или рекламе — по координатам.

  1. Создай ключ в консоли Яндекс Погоды (https://yandex.ru/pogoda/b2b/console), выбрав «API Погодных Данных». Он активируется через несколько минут. Доступ платный, для новых клиентов есть тестовый тариф.
  2. Отправь GraphQL-запрос: POST /graphql/query с заголовком X-Yandex-Weather-Key и JSON-полем query. Точка задаётся в weatherByPoint(request: { lat, lon }), фактическая погода — в блоке now.
  3. Выбирай нужные поля: temperature, humidity, pressure, windSpeed, windDirection, cloudiness, precType, precStrength. Единицы задаются аргументами, например temperature(unit: FAHRENHEIT).
  4. Ответ — в data.weatherByPoint.now. Делай запросы со своего сервера: из браузера ключ виден, а запросы упадут с ошибкой CORS.
curl -X POST https://api.weather.yandex.ru/graphql/query \
  -H "X-Yandex-Weather-Key: $YA_WEATHER_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"query": "{ weatherByPoint(request: { lat: 55.7558, lon: 37.6173 }) { now { temperature humidity pressure windSpeed windDirection cloudiness precType } } }"}'

Базовые 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