A openweathermap.org fornece uma API de dados meteorológicos de forma gratuita, sendo perfeita para rodar projetos básicos.
Inicialmente é necessário criar sua conta em https://openweathermap.org, assim recebe uma chave para realizar as consultas via API.
Vamos realizar uma simples consulta sobre temperatura e outros dados uma cidade
<?php
$dados = file_get_contents('api.openweathermap.org/data/2.5/weather?q={sua_cidade}&appid={CHAVE_API}');
print_r($dados)
?>
Teremos como retorno dados em json, para facilitar a leitura utilize a formatação http://jsonviewer.stack.hu/
{
"coord": {
"lon": -54.2,
"lat": -31.8667
},
"weather": [
{
"id": 802,
"main": "Clouds",
"description": "nuvens dispersas",
"icon": "03d"
}
],
"base": "stations",
"main": {
"temp": -1.02,
"feels_like": -3.63,
"temp_min": -1.02,
"temp_max": -1.02,
"pressure": 1022,
"humidity": 72,
"sea_level": 1022,
"grnd_level": 999
},
"visibility": 10000,
"wind": {
"speed": 1.99,
"deg": 255,
"gust": 2.24
},
"clouds": {
"all": 29
},
"dt": 1622370699,
"sys": {
"type": 1,
"id": 8312,
"country": "UY",
"sunrise": 1622370472,
"sunset": 1622407274
},
"timezone": -10800,
"id": 3443952,
"name": "Acegua",
"cod": 200
}
Agora vamos trabalhar com as informações:
<?php
#coleta os dados da api
$dados = file_get_contents('api.openweathermap.org/data/2.5/weather?q={sua_cidade}&appid={CHAVE_API}');
# o retorno e feito em json
$dados = json_decode($dados, true);
#agora podemos mostrar as infos.
echo 'Temperatura: '.$dados['main']['temp'];
echo 'Umidade: '.$dados['main']['humidity'];
echo 'Velocidade do Vento'. $dados['wind']['speed'];
?>
Lembrando que no plano gratuito, voce terá um limite de consultas diárias, para evitar problemas podemos criar um cache com duração de 30 minutos ou 1 hora.

Comentários