Previsão do Tempo
Weather
Dados meteorológicos atualizados e precisos.
O HG Weather é uma API que fornece dados de previsão do tempo e condições climáticas atuais para uma cidade. É possível obter a cidade desejada de várias formas diferentes, como geolocalização, IP do usuário, busca por nome ou código.
Os dados meteorológicos são atualizados em intervalos de até 1 hora.
É possível indicar o idioma de retorno da API através do parâmetro
locale. Estão disponíveis: pt (português, por padrão) e en (inglês).Requisição
Todas as requisições tem como base o seguinte endpoint:
GEThttps://api.hgbrasil.com/weather?key=suachave
curl -X GET "https://api.hgbrasil.com/weather?key=suachave"
const url = new URL("/weather", "https://api.hgbrasil.com")
url.searchParams.set("key", "suachave")
const response = await fetch(url.href)
const data = await response.json()
$url = 'https://api.hgbrasil.com/weather';
$queryString = http_build_query([
'key' => 'suachave'
]);
$response = file_get_contents($url . '?' . $queryString);
$data = json_decode($response, true);
import requests
url = 'https://api.hgbrasil.com/weather'
params = {
'key': 'suachave'
}
response = requests.get(url, params=params)
data = response.json()
require 'net/http'
require 'uri'
require 'json'
uri = URI('https://api.hgbrasil.com/weather')
uri.query = URI.encode_www_form({
key: 'suachave'
})
response = Net::HTTP.get(uri)
data = JSON.parse(response, symbolize_names: true)
import java.net.URI;
import java.net.http.*;
var url = "https://api.hgbrasil.com/weather?key=suachave";
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create(url))
.GET()
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
var data = response.body();
using System.Net.Http;
using System.Text.Json;
using System.Web;
var client = new HttpClient();
var baseUrl = "https://api.hgbrasil.com/weather";
var queryParams = HttpUtility.ParseQueryString(string.Empty);
queryParams["key"] = "suachave";
var url = $"{baseUrl}?{queryParams}";
var response = await client.GetStringAsync(url);
var data = JsonSerializer.Deserialize<dynamic>(response);
Veja como é fácil obter dados de previsão do tempo para uma cidade ou região específica. Você pode fazer isso de várias maneiras, como:
- Obter pelo nome da cidade;
- Obter pelo código WOEID da cidade;
- Obter por coordenadas de latitude e longitude;
- Obter por geolocalização IP.
Resposta
Exemplo de resposta no formato JSON.
{
"by": "default",
"valid_key": true,
"results": {
"temp": 15,
"date": "11/08/2026",
"time": "18:01",
"condition_code": "28",
"description": "Tempo nublado",
"currently": "noite",
"woeid": 455827,
"city": "São Paulo, SP",
"img_id": "28n",
"humidity": 87,
"cloudiness": 100,
"rain": 0,
"wind_speedy": "3.58 km/h",
"wind_direction": 120,
"wind_cardinal": "SE",
"sunrise": "06:35 am",
"sunset": "05:48 pm",
"moon_phase": "waning_crescent",
"condition_slug": "cloud",
"city_name": "São Paulo",
"timezone": "-03:00",
"forecast": [
{
"date": "11/08",
"full_date": "11/08/2026",
"weekday": "Ter",
"max": 20,
"min": 13,
"humidity": 87,
"cloudiness": 100,
"rain": 0,
"rain_probability": 12,
"wind_speedy": "5.21 km/h",
"sunrise": "06:35 am",
"sunset": "05:48 pm",
"moon_phase": "waning_crescent",
"description": "Tempo nublado",
"condition": "cloud"
},
{
"date": "12/08",
"full_date": "12/08/2026",
"weekday": "Qua",
"max": 26,
"min": 15,
"humidity": 63,
"cloudiness": 100,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "3.92 km/h",
"sunrise": "06:34 am",
"sunset": "05:48 pm",
"moon_phase": "waning_crescent",
"description": "Tempo nublado",
"condition": "cloud"
},
{
"date": "13/08",
"full_date": "13/08/2026",
"weekday": "Qui",
"max": 30,
"min": 17,
"humidity": 29,
"cloudiness": 13,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "5.59 km/h",
"sunrise": "06:33 am",
"sunset": "05:49 pm",
"moon_phase": "new",
"description": "Parcialmente nublado",
"condition": "cloudly_day"
},
{
"date": "14/08",
"full_date": "14/08/2026",
"weekday": "Sex",
"max": 31,
"min": 17,
"humidity": 32,
"cloudiness": 13,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "4.04 km/h",
"sunrise": "06:33 am",
"sunset": "05:49 pm",
"moon_phase": "waxing_crescent",
"description": "Parcialmente nublado",
"condition": "cloudly_day"
},
{
"date": "15/08",
"full_date": "15/08/2026",
"weekday": "Sáb",
"max": 28,
"min": 17,
"humidity": 46,
"cloudiness": 34,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "4.48 km/h",
"sunrise": "06:32 am",
"sunset": "05:49 pm",
"moon_phase": "waxing_crescent",
"description": "Parcialmente nublado",
"condition": "cloudly_day"
},
{
"date": "16/08",
"full_date": "16/08/2026",
"weekday": "Dom",
"max": 33,
"min": 18,
"humidity": 25,
"cloudiness": 43,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "2.29 km/h",
"sunrise": "06:31 am",
"sunset": "05:50 pm",
"moon_phase": "waxing_crescent",
"description": "Parcialmente nublado",
"condition": "cloudly_day"
},
{
"date": "17/08",
"full_date": "17/08/2026",
"weekday": "Seg",
"max": 35,
"min": 21,
"humidity": 16,
"cloudiness": 28,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "6.07 km/h",
"sunrise": "06:30 am",
"sunset": "05:50 pm",
"moon_phase": "waxing_crescent",
"description": "Parcialmente nublado",
"condition": "cloudly_day"
},
{
"date": "18/08",
"full_date": "18/08/2026",
"weekday": "Ter",
"max": 26,
"min": 17,
"humidity": 69,
"cloudiness": 49,
"rain": 0.21,
"rain_probability": 20,
"wind_speedy": "5.98 km/h",
"sunrise": "06:30 am",
"sunset": "05:51 pm",
"moon_phase": "waxing_crescent",
"description": "Chuvas esparsas",
"condition": "rain"
},
{
"date": "19/08",
"full_date": "19/08/2026",
"weekday": "Qua",
"max": 29,
"min": 16,
"humidity": 46,
"cloudiness": 86,
"rain": 0.3,
"rain_probability": 41,
"wind_speedy": "5.24 km/h",
"sunrise": "06:29 am",
"sunset": "05:51 pm",
"moon_phase": "waxing_crescent",
"description": "Chuvas esparsas",
"condition": "rain"
},
{
"date": "20/08",
"full_date": "20/08/2026",
"weekday": "Qui",
"max": 33,
"min": 21,
"humidity": 22,
"cloudiness": 100,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "7.67 km/h",
"sunrise": "06:28 am",
"sunset": "05:51 pm",
"moon_phase": "first_quarter",
"description": "Tempo nublado",
"condition": "cloud"
},
{
"date": "21/08",
"full_date": "21/08/2026",
"weekday": "Sex",
"max": 25,
"min": 15,
"humidity": 89,
"cloudiness": 96,
"rain": 0,
"rain_probability": 1,
"wind_speedy": "5.76 km/h",
"sunrise": "06:27 am",
"sunset": "05:52 pm",
"moon_phase": "first_quarter",
"description": "Tempo nublado",
"condition": "cloud"
},
{
"date": "22/08",
"full_date": "22/08/2026",
"weekday": "Sáb",
"max": 24,
"min": 15,
"humidity": 52,
"cloudiness": 16,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "5.69 km/h",
"sunrise": "06:26 am",
"sunset": "05:52 pm",
"moon_phase": "first_quarter",
"description": "Parcialmente nublado",
"condition": "cloudly_day"
},
{
"date": "23/08",
"full_date": "23/08/2026",
"weekday": "Dom",
"max": 24,
"min": 17,
"humidity": 58,
"cloudiness": 18,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "5.18 km/h",
"sunrise": "06:25 am",
"sunset": "05:52 pm",
"moon_phase": "waxing_gibbous",
"description": "Parcialmente nublado",
"condition": "cloudly_day"
},
{
"date": "24/08",
"full_date": "24/08/2026",
"weekday": "Seg",
"max": 32,
"min": 19,
"humidity": 20,
"cloudiness": 62,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "6.13 km/h",
"sunrise": "06:25 am",
"sunset": "05:53 pm",
"moon_phase": "waxing_gibbous",
"description": "Tempo nublado",
"condition": "cloud"
},
{
"date": "25/08",
"full_date": "25/08/2026",
"weekday": "Ter",
"max": 33,
"min": 18,
"humidity": 34,
"cloudiness": 97,
"rain": 0,
"rain_probability": 0,
"wind_speedy": "4.12 km/h",
"sunrise": "06:24 am",
"sunset": "05:53 pm",
"moon_phase": "waxing_gibbous",
"description": "Tempo nublado",
"condition": "cloud"
}
],
"cref": "a1953c",
"latitude": -23.5329,
"longitude": -46.6395
},
"execution_time": 0,
"from_cache": true
}
Campos
Os dados referentes à consulta chegam no parâmetro results, você também pode conferir a autenticação de sua chave no parâmetro de retorno valid_key.