---
title: "Returns an hourly forecast - Given a lat/lon."
method: GET
path: "/forecast/hourly"
tags: ["240 hour / hourly Forecast"]
---

# Returns an hourly forecast - Given a lat/lon.

`GET /forecast/hourly`

Returns an hourly forecast, where each point represents a one hour period.

## Query parameters

- `lat` number, double
- `lon` number, double
- `city` string, string
- `postal_code` string, string
- `country` string, string
- `station` string, string
- `units` 'S' | 'I' | 'M', string
- `lang` 'ar' | 'az' | 'be' | 'bg' | 'bs' | 'ca' | 'cs' | 'de' | 'fi' | 'fr' | 'el' | 'es' | 'et' | 'hr' | 'hu' | 'id' | 'it' | 'is' | 'kw' | 'nb' | 'nl' | 'pl' | 'pt' | 'ro' | 'ru' | 'sk' | 'sl' | 'sr' | 'sv' | 'tr' | 'uk' | 'zh' | 'zh-tw', string
- `hours` integer
- `key` string, string, required

## Response `200`

A forecast object.

- ForecastHourly
  - `city_name` string — Nearest city name
  - `state_code` string — State Abbreviation
  - `country_code` string — Country Abbreviation
  - `lat` number — Latitude
  - `lon` number — Longitude
  - `timezone` string — Local IANA time zone
  - `data` ForecastHour[]
    - `ts` number — Unix Timestamp
    - `timestamp_local` string — Timestamp in local time
    - `timestamp_utc` string — Timestamp UTC
    - `datetime` string — [DEPRECATED] Deprecated use 'timestamp_utc'
    - `snow` number — Accumulated snowfall since last forecast point - Default (mm)
    - `snow_depth` number, nullable — Snow depth - Default (mm)
    - `precip` number — Accumulated liquid equivalent precipitation since last forecast point. Default (mm)
    - `temp` number — Temperature - Default (C)
    - `dewpt` number — Dewpoint - Default (C)
    - `app_temp` number — Apparent Temperature - Same as Feels-Like or Heat + Wind Chill Indices - Default (C)
    - `rh` integer — Relative Humidity as a percentage (%)
    - `clouds` integer — Cloud cover as a percentage (%)
    - `clouds_low` integer — Low-level (~0-3km AGL) cloud coverage (%)
    - `clouds_mid` integer — Mid-level (~3-5km AGL) cloud coverage (%)
    - `clouds_hi` integer — High-level (>5km AGL) cloud coverage (%)
    - `weather` object
      - `icon` string — Icon code for forecast image display
      - `code` integer — Weather Condition code
      - `description` string — Weather Condition description
    - `slp` number — Mean Sea level pressure (mb)
    - `pres` number — Pressure (mb)
    - `uv` number — UV Index (0-11+)
    - `ozone` number — Total column ozone (Dobson units)
    - `solar_rad` number — Estimated solar radiation (W/m^2) - <a href='https://help.weatherbit.io/what-is-the-solar_rad-field/'>Accounts for cloud cover, and other factors.</a>
    - `ghi` number — Global Clear-Sky horizontal solar irradiance (W/m^2)
    - `dhi` number — Diffuse Clear-Sky normal solar irradiance (W/m^2)
    - `dni` number — Direct Clear-Sky normal solar irradiance (W/m^2)
    - `vis` number — Visibility - Default (KM)
    - `pod` string — Part of day (d = day, n = night)
    - `pop` number — Chance of Precipitation as a percentage (%)
    - `wind_spd` number — 10m wind Speed - Default (m/s)
    - `wind_gust_spd` number — 10m wind Gust Speed - Default (m/s)
    - `wind_dir` integer — 10m wind direction - Degrees clockwise from 0 = North
    - `wind_cdir` string — Cardinal wind direction
    - `wind_cdir_full` string — Cardinal wind direction (text)

## Other responses

- `204` — No Data Found
- `400` — Client Error
- `403` — Unauthorized/No Access for current plan level
- `429` — Daily or Velocity limit exceeded
- `500` — Internal Server Error

---

[API](https://skmtc.dev/weatherbit/apis/weatherbit-interactive-swagger-ui-documentation.md) · [All operations](https://skmtc.dev/weatherbit/apis/weatherbit-interactive-swagger-ui-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/weatherbit/weatherbit-interactive-swagger-ui-documentation/revisions/31cff6bde48b/schema)
