API Яндекс.Погоды позволяет получать как текущую погоду, так и прогноз погоды. На первом этапе попробуем получить текущую погоду.
Для работы с API погоды, как впрочем для многих других API Яндекса, потребуется ключ. Получить его можно в Кабинете разработчика (ссылка действующая на момент написания поста).
Если ни какими API Яндекса ранее не пользовались, то в кабинете будет лишь одна кнопка «Подключить API».

Нажав на кнопку выбираем требуемый пункт, в нашем случае это API Яндекс.Погоды.

Заполняем незамысловатую форму и отправляем заявку

После отправки заявки долго ждать не пришлось, почти сразу появилось сообщение о том что API подключено

После нажатия на кнопку Перейти к API взору предстает информация о только что полученном доступе к программному интерфейсу.

Самое ценное представляет ключ (после написания статьи ключ был заблокирован), без него получить какую либо информацию не получится.
После регистрации будет доступен демонстрационный тариф, который будет 30 дней предоставлять бесплатный доступ к погодным данным. Дальнейшие действия будем производить с использованием этого тарифа.
Для получения информации будем использовать сайт на хостинге c php.
Для обращения к серверам API будем использовать следующий код:
$opts = array( 'http'=array( 'method'="GET", 'header' = "X-Yandex-API-Key:c5b830d3-bf94-4bc0-a219-d020d629719f"."\r\n" ) ); $context = stream_context_create($opts); $f=file_get_contents("https://api.weather.yandex.ru/v2/forecast/?lat=55.721560&lon=84.929553&lang=ru_RU",false,$context);
Конечно же, если вы просто скопировали код, то не забыли поставить свои значения переменных X-Yandex-API-Key, lat и lon.
Если ничего не менять в настройках, то ответ придет в формате json. Описание опций ответа можно изучить в документации к API.
В заключении приведу простейший пример разбора ответа API.
$f=json_decode($f); $t=$f->fact; echo "Температура: ".$t->temp."°C (ощущается как ".$t->feels_like."°C)<br>" . "Температура воды ".$t->temp_water."°C<br>" . "<img scr='https://yastatic.net/weather/i/icons/funky/dark/".$t->icon.".svg'>" .$t->condition."<br>" . "Скорость ветра: ".$t->wind_speed." м/с.<br>" . "Скорость порывов ветра:".$t->wind_gust." м/с<br>" . "Направление ветра: ".$t->wind_dir."<br>" . "Давление: ".$t->pressure_mm." мм рт. ст.(".$t->pressure_mm."гПа)<br>" . "Влажность воздуха: ".$t->humidity."%<br>" . "Время суток: ".$t->daytime."<br>" . "Полярное: ".$t->polar."<br>" . "Сезон: ".$t->season."<br>" . "Время замера погодных данных в формате Unixtime: ".$t->obs_time."(".date('Y-m-d h:i:s',$t->obs_time).")";
Результат выполнения скрипта на следующем скриншоте.

Ну, и конечно же, не забываем об условии использования API Яндекс.Погода. Условия использования можно найти в документации.
В какой-то момент поменялась ссылка для обращения к API Яндекс погоды (возможно переключились тарифы).
В настоящий момент актуальная ссылка выглядит так:
https://api.weather.yandex.ru/v2/informers?lat=55.721560&lon=84.929553&lang=ru_RU
.Ссылка, начинающаяся с
https://api.weather.yandex.ru/v2/forecast
актуальна для тарифа «Тестовый».