Receber a previsão do tempo diário

O endpoint forecast.days retorna até 10 dias de informações de previsão para um local específico, começando pelo dia atual. A API retorna o seguinte:

  • Uma descrição das condições meteorológicas durante o dia (das 7h às 19h) e à noite (das 19h às 7h) com os ícones correspondentes.
  • Temperaturas máxima e mínima diárias
  • Temperaturas aparentes máxima e mínima diárias ("sensação térmica")
  • Índice de calor
  • Umidade relativa
  • Índice UV
  • Probabilidade, porcentagem, quantidade e tipo de precipitação
  • Probabilidade de tempestades
  • Pressão ao nível do mar
  • Resfriamento pelo vento
  • Direção, velocidade e rajada do vento
  • Espessura do gelo
  • Visibilidade e cobertura de nuvens
  • Horários diários de nascer, pôr e nascer da lua

Sobre as solicitações de previsão diária

Para solicitar as condições atuais, envie uma solicitação HTTP GET para:

https://weather.googleapis.com/v1/forecast/days:lookup?key=YOUR_API_KEY&location.latitude=LATITUDE&location.longitude=LONGITUDE

Inclua as coordenadas de latitude e longitude do local nos parâmetros do URL da solicitação.

Exemplos de solicitações de previsão diária

Por padrão, o endpoint forecast.days retorna 10 dias de dados, a partir do horário atual. É possível limitar sua solicitação a um número específico de dias usando o parâmetro days.

O exemplo a seguir solicita informações de previsão diária para os próximos dois dias em Mountain View, CA:

curl -X GET "https://weather.googleapis.com/v1/forecast/days:lookup?key=YOUR_API_KEY&location.latitude=37.4220&location.longitude=-122.0841&days=2"

Na resposta, o objeto interval indica cada dia de informações:

{
  "forecastDays": [
    {
      "interval": {
        "startTime": "2025-02-10T15:00:00Z",
        "endTime": "2025-02-11T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 10
      },
      "daytimeForecast": {
        "interval": {
          "startTime": "2025-02-10T15:00:00Z",
          "endTime": "2025-02-11T03:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/party_cloudy",
          "description": {
            "text": "Partly sunny",
            "languageCode": "en"
          },
          "type": "PARTLY_CLOUDY"
        },
        "relativeHumidity": 54,
        "uvIndex": 3,
        "precipitation": {
          "probability": {
            "percent": 5,
            "type": "RAIN"
          },
          "qpf": {
            "quantity": 0,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 0,
        "wind": {
          "direction": {
            "degrees": 280,
            "cardinal": "WEST"
          },
          "speed": {
            "value": 6,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 53
      },
      "nighttimeForecast": {
        "interval": {
          "startTime": "2025-02-11T03:00:00Z",
          "endTime": "2025-02-11T15:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_clear",
          "description": {
            "text": "Partly cloudy",
            "languageCode": "en"
          },
          "type": "PARTLY_CLOUDY"
        },
        "relativeHumidity": 85,
        "uvIndex": 0,
        "precipitation": {
          "probability": {
            "percent": 10,
            "type": "RAIN_AND_SNOW"
          },
          "qpf": {
            "quantity": 0,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 0,
        "wind": {
          "direction": {
            "degrees": 201,
            "cardinal": "SOUTH_SOUTHWEST"
          },
          "speed": {
            "value": 6,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 70
      },
      "maxTemperature": {
        "degrees": 13.3,
        "unit": "CELSIUS"
      },
      "minTemperature": {
        "degrees": 1.5,
        "unit": "CELSIUS"
      },
      "feelsLikeMaxTemperature": {
        "degrees": 13.3,
        "unit": "CELSIUS"
      },
      "feelsLikeMinTemperature": {
        "degrees": 1.5,
        "unit": "CELSIUS"
      },
      "sunEvents": {
        "sunriseTime": "2025-02-10T15:02:35.703929582Z",
        "sunsetTime": "2025-02-11T01:43:00.762932858Z"
      },
      "moonEvents": {
        "moonPhase": "WAXING_GIBBOUS",
        "moonriseTimes": [
          "2025-02-10T23:54:17.713157984Z"
        ],
        "moonsetTimes": [
          "2025-02-10T14:13:58.625181191Z"
        ]
      },
      "maxHeatIndex": {
        "degrees": 13.3,
        "unit": "CELSIUS"
      },
      "iceThickness": {
        "thickness": 0,
        "unit": "MILLIMETERS"
      }
    },
    {
      "interval": {
        "startTime": "2025-02-11T15:00:00Z",
        "endTime": "2025-02-12T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 11
      },
      "daytimeForecast": {
        "interval": {
          "startTime": "2025-02-11T15:00:00Z",
          "endTime": "2025-02-12T03:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/scattered_showers",
          "description": {
            "text": "Scattered showers",
            "languageCode": "en"
          },
          "type": "SCATTERED_SHOWERS"
        },
      /.../
      }
    }
  ],
  "timeZone": {
    "id": "America/Los_Angeles"
  }
}

Especificar o número de dias a serem retornados por página

É possível especificar o número de dias de dados a serem retornados por página usando o parâmetro de URL pageSize. O valor padrão é de cinco dias de informações de previsão por página.

As respostas com várias páginas de informações incluem um nextPageToken. Para conferir a próxima página de informações, transmita o valor nextPageToken para o parâmetro pageToken na solicitação.

O exemplo a seguir solicita seis dias de dados de previsão do tempo para Mountain View, CA, com três dias de dados por página:

curl -X GET "https://weather.googleapis.com/v1/forecast/days:lookup?key=YOUR_API_KEY&location.latitude=37.4220&location.longitude=-122.0841&days=6&pageSize=3"

A resposta, que inclui os três primeiros dias de dados, tem a seguinte forma:

{
  "forecastDays": [
    {
      "interval": {
        "startTime": "2025-02-10T15:00:00Z",
        "endTime": "2025-02-11T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 10
      },
      "daytimeForecast": {
        "interval": {
          "startTime": "2025-02-10T15:00:00Z",
          "endTime": "2025-02-11T03:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/party_cloudy",
          "description": {
            "text": "Partly sunny",
            "languageCode": "en"
          },
          "type": "PARTLY_CLOUDY"
        },
        "relativeHumidity": 52,
        "uvIndex": 3,
        "precipitation": {
          "probability": {
            "percent": 5,
            "type": "RAIN"
          },
          "qpf": {
            "quantity": 0,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 0,
        "wind": {
          "direction": {
            "degrees": 280,
            "cardinal": "WEST"
          },
          "speed": {
            "value": 6,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 53
      },
      "nighttimeForecast": {
        "interval": {
          "startTime": "2025-02-11T03:00:00Z",
          "endTime": "2025-02-11T15:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/partly_clear",
          "description": {
            "text": "Partly cloudy",
            "languageCode": "en"
          },
          "type": "PARTLY_CLOUDY"
        },
        "relativeHumidity": 85,
        "uvIndex": 0,
        "precipitation": {
          "probability": {
            "percent": 10,
            "type": "RAIN_AND_SNOW"
          },
          "qpf": {
            "quantity": 0,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 0,
        "wind": {
          "direction": {
            "degrees": 201,
            "cardinal": "SOUTH_SOUTHWEST"
          },
          "speed": {
            "value": 6,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 69
      },
      "maxTemperature": {
        "degrees": 13.5,
        "unit": "CELSIUS"
      },
      "minTemperature": {
        "degrees": 1.5,
        "unit": "CELSIUS"
      },
      "feelsLikeMaxTemperature": {
        "degrees": 13.5,
        "unit": "CELSIUS"
      },
      "feelsLikeMinTemperature": {
        "degrees": 1.5,
        "unit": "CELSIUS"
      },
      "sunEvents": {
        "sunriseTime": "2025-02-10T15:02:35.703929582Z",
        "sunsetTime": "2025-02-11T01:43:00.762932858Z"
      },
      "moonEvents": {
        "moonPhase": "WAXING_GIBBOUS",
        "moonriseTimes": [
          "2025-02-10T23:54:17.713157984Z"
        ],
        "moonsetTimes": [
          "2025-02-10T14:13:58.625181191Z"
        ]
      },
      "maxHeatIndex": {
        "degrees": 13.5,
        "unit": "CELSIUS"
      },
      "iceThickness": {
        "thickness": 0,
        "unit": "MILLIMETERS"
      }
    },
    {
      "interval": {
        "startTime": "2025-02-11T15:00:00Z",
        "endTime": "2025-02-12T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 11
      },
      /.../
    },
    {
      "interval": {
        "startTime": "2025-02-12T15:00:00Z",
        "endTime": "2025-02-13T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 12
      },
      /.../
    }
  ],
  "timeZone": {
    "id": "America/Los_Angeles"
  },
  "nextPageToken": "ChYKEgm8dJMYBLZCQBH-ZffkYYVewBAGEAMYAyILCKyAqr0GEKOR6lUqE0FtZXJpY2EvTG9zX0FuZ2VsZXM="
}

Para acessar a próxima página de dados, transmita o valor nextPageToken para o parâmetro pageToken na solicitação:

curl -X GET "https://weather.googleapis.com/v1/forecast/days:lookup?key=YOUR_API_KEY&location.latitude=37.4220&location.longitude=-122.0841&days=6&pageSize=3&pageToken=ChYKEgm8dJMYBLZCQBH-ZffkYYVewBAGEAMYAyILCKyAqr0GEKOR6lUqE0FtZXJpY2EvTG9zX0FuZ2VsZXM="

A resposta está no formato:

{
  "forecastDays": [
    {
      "interval": {
        "startTime": "2025-02-13T15:00:00Z",
        "endTime": "2025-02-14T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 13
      },
      "daytimeForecast": {
        "interval": {
          "startTime": "2025-02-13T15:00:00Z",
          "endTime": "2025-02-14T03:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/drizzle",
          "description": {
            "text": "Light rain",
            "languageCode": "en"
          },
          "type": "LIGHT_RAIN"
        },
        "relativeHumidity": 81,
        "uvIndex": 2,
        "precipitation": {
          "probability": {
            "percent": 75,
            "type": "RAIN"
          },
          "qpf": {
            "quantity": 15.588,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 20,
        "wind": {
          "direction": {
            "degrees": 181,
            "cardinal": "SOUTH"
          },
          "speed": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 32,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 100
      },
      "nighttimeForecast": {
        "interval": {
          "startTime": "2025-02-14T03:00:00Z",
          "endTime": "2025-02-14T15:00:00Z"
        },
        "weatherCondition": {
          "iconBaseUri": "https://maps.gstatic.com/weather/v1/showers",
          "description": {
            "text": "Rain showers",
            "languageCode": "en"
          },
          "type": "RAIN_SHOWERS"
        },
        "relativeHumidity": 87,
        "uvIndex": 0,
        "precipitation": {
          "probability": {
            "percent": 75,
            "type": "RAIN"
          },
          "qpf": {
            "quantity": 11.3513,
            "unit": "MILLIMETERS"
          }
        },
        "thunderstormProbability": 10,
        "wind": {
          "direction": {
            "degrees": 222,
            "cardinal": "SOUTHWEST"
          },
          "speed": {
            "value": 14,
            "unit": "KILOMETERS_PER_HOUR"
          },
          "gust": {
            "value": 31,
            "unit": "KILOMETERS_PER_HOUR"
          }
        },
        "cloudCover": 95
      },
      "maxTemperature": {
        "degrees": 15.9,
        "unit": "CELSIUS"
      },
      "minTemperature": {
        "degrees": 11.2,
        "unit": "CELSIUS"
      },
      "feelsLikeMaxTemperature": {
        "degrees": 15.9,
        "unit": "CELSIUS"
      },
      "feelsLikeMinTemperature": {
        "degrees": 11,
        "unit": "CELSIUS"
      },
      "sunEvents": {
        "sunriseTime": "2025-02-13T14:59:17.439839464Z",
        "sunsetTime": "2025-02-14T01:46:14.345904643Z"
      },
      "moonEvents": {
        "moonPhase": "WANING_GIBBOUS",
        "moonriseTimes": [
          "2025-02-14T03:08:04.049988754Z"
        ],
        "moonsetTimes": [
          "2025-02-13T15:44:40.326916694Z"
        ]
      },
      "maxHeatIndex": {
        "degrees": 15.9,
        "unit": "CELSIUS"
      },
      "iceThickness": {
        "thickness": 0,
        "unit": "MILLIMETERS"
      }
    },
    {
      "interval": {
        "startTime": "2025-02-14T15:00:00Z",
        "endTime": "2025-02-15T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 14
      },
      /.../
    },
    {
      "interval": {
        "startTime": "2025-02-15T15:00:00Z",
        "endTime": "2025-02-16T15:00:00Z"
      },
      "displayDate": {
        "year": 2025,
        "month": 2,
        "day": 15
      },
      /.../
    }
  ],
  "timeZone": {
    "id": "America/Los_Angeles"
  }
}