openapi: 3.1.0
info:
title: WeatherAPI.com Alerts History API
description: 'WeatherAPI.com provides real-time, forecast, historical, marine, future, astronomy, air quality, pollen, sports, IP lookup, timezone, and geolocation data via a JSON/XML REST API. Trusted by 850,000+ developers worldwide. Average response time ~200ms.
## Authentication
All endpoints require an API key passed as the `key` query parameter.
## Base URL
`https://api.weatherapi.com/v1`
## Location Query (`q` parameter)
Accepts: city name, lat/lon decimal, US zip, UK postcode, Canada postal code, METAR code (`metar:EGLL`), IATA airport code (`iata:DXB`), IP lookup (`auto:ip`), IPv4/IPv6 address, or location ID (`id:2801268`).
## Plans
- **Free**: 100K calls/month, 3-day forecast, 1-day history
- **Starter**: $7/mo — 3M calls, 7-day forecast, 7-day history
- **Pro+**: $25/mo — 5M calls, 300-day future, 365-day history
- **Business**: $65/mo — 10M calls, evapotranspiration
- **Enterprise**: Custom — 15-min interval, pollen history, wind@100m, SLA'
version: 1.0.2
contact:
name: WeatherAPI.com Support
url: https://www.weatherapi.com/contact.aspx
license:
name: Commercial / Non-Commercial
url: https://www.weatherapi.com/terms.aspx
x-logo:
url: https://cdn.weatherapi.com/v4/images/weatherapi_logo.png
x-last-validated: '2026-05-28'
x-generated-from: provider-openapi
servers:
- url: https://api.weatherapi.com/v1
description: Production (HTTPS)
- url: http://api.weatherapi.com/v1
description: Production (HTTP)
security:
- ApiKeyAuth: []
tags:
- name: History
description: Historical weather data
paths:
/history.json:
get:
tags:
- History
summary: WeatherAPI Historical Weather
description: Returns historical weather data for a given date on or after 1 January 2010. Includes hourly breakdown. Enterprise plan unlocks solar irradiance, wind@100m, pollen history, and evapotranspiration.
operationId: getHistory
parameters:
- $ref: '#/components/parameters/key'
- $ref: '#/components/parameters/q'
- name: dt
in: query
required: true
description: Date on or after 2010-01-01 in yyyy-MM-dd format.
schema:
type: string
format: date
example: '2023-01-01'
example: '2023-01-01'
- $ref: '#/components/parameters/unixdt'
- name: end_dt
in: query
required: false
description: End date for range (Pro+ and above). Max 30 days range. yyyy-MM-dd.
schema:
type: string
format: date
example: '2026-05-28'
- $ref: '#/components/parameters/unixend_dt'
- $ref: '#/components/parameters/hour'
- $ref: '#/components/parameters/aqi'
- $ref: '#/components/parameters/pollen'
- $ref: '#/components/parameters/tp'
- $ref: '#/components/parameters/lang'
- $ref: '#/components/parameters/solar'
- $ref: '#/components/parameters/et0'
- $ref: '#/components/parameters/wind100mph'
- $ref: '#/components/parameters/wind100kph'
responses:
'200':
description: Historical weather data
content:
application/json:
schema:
$ref: '#/components/schemas/ForecastWeatherResponse'
examples:
GetHistory200Example:
summary: Default getHistory 200 response
x-microcks-default: true
value:
location:
name: London
region: City of London, Greater London
country: United Kingdom
lat: 51.5074
lon: -0.1278
tz_id: Europe/London
localtime_epoch: 1748441400
localtime: 2026-05-28 15:30
current:
last_updated_epoch: 1748441400
last_updated: 2026-05-28 15:30
temp_c: 18.5
temp_f: 65.3
is_day: 1
condition:
text: Partly Cloudy
icon: //cdn.weatherapi.com/weather/64x64/day/116.png
code: 1003
wind_mph: 12.4
wind_kph: 12.4
wind_degree: 1
wind_dir: WSW
pressure_mb: 1013.0
pressure_in: 1013.0
precip_mm: 0.5
precip_in: 0.5
humidity: 65
cloud: 40
feelslike_c: 17.8
feelslike_f: 17.8
windchill_c: 12.4
windchill_f: 12.4
heatindex_c: 1.0
heatindex_f: 1.0
dewpoint_c: 1.0
dewpoint_f: 1.0
vis_km: 10.0
vis_miles: 10.0
uv: 4.0
gust_mph: 22.1
gust_kph: 22.1
short_rad: 1.0
diff_rad: 1.0
air_quality:
co: 1.0
o3: 1.0
no2: 1.0
so2: 1.0
pm2_5: 1.0
pm10: 1.0
us-epa-index: 1
gb-defra-index: 1
pollen:
Hazel: 1.0
Alder: 1.0
Birch: 1.0
Oak: 1.0
Grass: 1.0
Mugwort: 1.0
Ragweed: 1.0
forecast:
forecastday:
- date: '2026-05-28'
date_epoch: 1748441400
hour: []
alerts:
alert:
- headline: sample value
msgtype: sample value
severity: sample value
urgency: sample value
areas: sample value
category: sample value
certainty: sample value
event: Severe Thunderstorm Warning
note: sample value
effective: '2026-05-28T13:00:00Z'
expires: '2026-05-28T13:00:00Z'
desc: Severe thunderstorms with damaging winds expected in the warning area.
instruction: sample value
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
parameters:
hour:
name: hour
in: query
required: false
description: Restrict output to a specific hour (0–23) in 24-hour format.
schema:
type: integer
minimum: 0
maximum: 23
pollen:
name: pollen
in: query
required: false
description: Include pollen data. Available on Pro+ and above.
schema:
type: string
enum:
- 'yes'
- 'no'
default: 'no'
unixend_dt:
name: unixend_dt
in: query
required: false
description: Unix timestamp equivalent of `end_dt`. Do not pass both.
schema:
type: integer
unixdt:
name: unixdt
in: query
required: false
description: Unix timestamp equivalent of `dt`. Do not pass both.
schema:
type: integer
example: 1490227200
aqi:
name: aqi
in: query
required: false
description: Include Air Quality Index (AQI) data in response.
schema:
type: string
enum:
- 'yes'
- 'no'
default: 'no'
lang:
name: lang
in: query
required: false
description: 'Language code for condition text. E.g.: fr, de, es, zh, ar. See full list in docs.'
schema:
type: string
example: fr
q:
name: q
in: query
required: true
description: 'Location query. Accepts: city name, lat/lon, US zip, UK postcode, Canada postal code, METAR code (metar:EGLL), IATA (iata:DXB), auto:ip, IPv4/IPv6, or location ID (id:2801268).'
schema:
type: string
example: London
wind100mph:
name: wind100mph
in: query
required: false
description: Include wind speed at 100m height in mph. Enterprise only.
schema:
type: string
enum:
- 'yes'
- 'no'
et0:
name: et0
in: query
required: false
description: Include evapotranspiration data. Business and Enterprise only.
schema:
type: string
enum:
- 'yes'
- 'no'
tp:
name: tp
in: query
required: false
description: Interval for data. Use tp=15 for 15-minute intervals (Enterprise only).
schema:
type: integer
enum:
- 15
key:
name: key
in: query
required: true
description: Your WeatherAPI.com API key.
schema:
type: string
example: YOUR_API_KEY
wind100kph:
name: wind100kph
in: query
required: false
description: Include wind speed at 100m height in kph. Enterprise only.
schema:
type: string
enum:
- 'yes'
- 'no'
solar:
name: solar
in: query
required: false
description: Include solar irradiance data in History API. Enterprise only.
schema:
type: string
enum:
- 'yes'
- 'no'
schemas:
ForecastDay:
type: object
properties:
maxtemp_c:
type: number
example: 18.5
maxtemp_f:
type: number
example: 65.3
mintemp_c:
type: number
example: 18.5
mintemp_f:
type: number
example: 65.3
avgtemp_c:
type: number
example: 18.5
avgtemp_f:
type: number
example: 65.3
maxwind_mph:
type: number
example: 12.4
maxwind_kph:
type: number
example: 12.4
totalprecip_mm:
type: number
example: 0.5
totalprecip_in:
type: number
example: 0.5
totalsnow_cm:
type: number
example: 1.0
avgvis_km:
type: number
example: 10.0
avgvis_miles:
type: number
example: 10.0
avghumidity:
type: integer
example: 65
daily_will_it_rain:
type: integer
example: 1
daily_chance_of_rain:
type: integer
example: 1
daily_will_it_snow:
type: integer
example: 1
daily_chance_of_snow:
type: integer
example: 1
condition:
$ref: '#/components/schemas/Condition'
uv:
type: number
example: 4.0
air_quality:
$ref: '#/components/schemas/AirQuality'
HourForecast:
type: object
properties:
time_epoch:
type: integer
example: 1748441400
time:
type: string
example: sample value
temp_c:
type: number
example: 18.5
temp_f:
type: number
example: 65.3
is_day:
type: integer
example: 1
condition:
$ref: '#/components/schemas/Condition'
wind_mph:
type: number
example: 12.4
wind_kph:
type: number
example: 12.4
wind_degree:
type: integer
example: 1
wind_dir:
type: string
example: WSW
pressure_mb:
type: number
example: 1013.0
pressure_in:
type: number
example: 1013.0
precip_mm:
type: number
example: 0.5
precip_in:
type: number
example: 0.5
snow_cm:
type: number
example: 1.0
humidity:
type: integer
example: 65
cloud:
type: integer
example: 40
feelslike_c:
type: number
example: 17.8
feelslike_f:
type: number
example: 17.8
windchill_c:
type: number
example: 12.4
windchill_f:
type: number
example: 12.4
heatindex_c:
type: number
example: 1.0
heatindex_f:
type: number
example: 1.0
dewpoint_c:
type: number
example: 1.0
dewpoint_f:
type: number
example: 1.0
will_it_rain:
type: integer
example: 1
chance_of_rain:
type: integer
example: 1
will_it_snow:
type: integer
example: 1
chance_of_snow:
type: integer
example: 1
vis_km:
type: number
example: 10.0
vis_miles:
type: number
example: 10.0
gust_mph:
type: number
example: 22.1
gust_kph:
type: number
example: 22.1
uv:
type: number
example: 4.0
short_rad:
type: number
example: 1.0
diff_rad:
type: number
example: 1.0
et0:
type: number
description: Evapotranspiration (Business+)
example: 1.0
air_quality:
$ref: '#/components/schemas/AirQuality'
pollen:
$ref: '#/components/schemas/Pollen'
AstroElement:
type: object
properties:
sunrise:
type: string
example: 05:30 AM
sunset:
type: string
example: 08:45 PM
moonrise:
type: string
example: 10:15 PM
moonset:
type: string
example: 06:42 AM
moon_phase:
type: string
example: Waxing Crescent
moon_illumination:
type: number
example: 35.0
is_moon_up:
type: integer
example: 1
is_sun_up:
type: integer
example: 1
CurrentWeather:
type: object
properties:
last_updated_epoch:
type: integer
example: 1748441400
last_updated:
type: string
example: 2026-05-28 15:30
temp_c:
type: number
description: Temperature °C
example: 18.5
temp_f:
type: number
description: Temperature °F
example: 65.3
is_day:
type: integer
description: 1=day, 0=night
example: 1
condition:
$ref: '#/components/schemas/Condition'
wind_mph:
type: number
example: 12.4
wind_kph:
type: number
example: 12.4
wind_degree:
type: integer
example: 1
wind_dir:
type: string
description: 16-point compass direction
example: WSW
pressure_mb:
type: number
example: 1013.0
pressure_in:
type: number
example: 1013.0
precip_mm:
type: number
example: 0.5
precip_in:
type: number
example: 0.5
humidity:
type: integer
description: Humidity %
example: 65
cloud:
type: integer
description: Cloud cover %
example: 40
feelslike_c:
type: number
example: 17.8
feelslike_f:
type: number
example: 17.8
windchill_c:
type: number
example: 12.4
windchill_f:
type: number
example: 12.4
heatindex_c:
type: number
example: 1.0
heatindex_f:
type: number
example: 1.0
dewpoint_c:
type: number
example: 1.0
dewpoint_f:
type: number
example: 1.0
vis_km:
type: number
example: 10.0
vis_miles:
type: number
example: 10.0
uv:
type: number
description: UV Index
example: 4.0
gust_mph:
type: number
example: 22.1
gust_kph:
type: number
example: 22.1
short_rad:
type: number
description: GHI W/m² (paid plans)
example: 1.0
diff_rad:
type: number
description: DHI W/m² (paid plans)
example: 1.0
air_quality:
$ref: '#/components/schemas/AirQuality'
pollen:
$ref: '#/components/schemas/Pollen'
ErrorResponse:
type: object
properties:
error:
type: object
properties:
code:
type: integer
description: WeatherAPI error code
message:
type: string
example:
error:
code: 1006
message: No location found matching parameter 'q'
ForecastDayEntry:
type: object
properties:
date:
type: string
format: date
example: '2026-05-28'
date_epoch:
type: integer
example: 1748441400
day:
$ref: '#/components/schemas/ForecastDay'
astro:
$ref: '#/components/schemas/AstroElement'
hour:
type: array
items:
$ref: '#/components/schemas/HourForecast'
AirQuality:
type: object
description: Air quality data. Returned when aqi=yes.
properties:
co:
type: number
description: Carbon monoxide µg/m³
example: 1.0
o3:
type: number
description: Ozone µg/m³
example: 1.0
no2:
type: number
description: Nitrogen dioxide µg/m³
example: 1.0
so2:
type: number
description: Sulphur dioxide µg/m³
example: 1.0
pm2_5:
type: number
description: PM2.5 µg/m³
example: 1.0
pm10:
type: number
description: PM10 µg/m³
example: 1.0
us-epa-index:
type: integer
description: US EPA index 1–6 (1=Good, 6=Hazardous)
example: 1
gb-defra-index:
type: integer
description: UK DEFRA index 1–10
example: 1
ForecastWeatherResponse:
type: object
properties:
location:
$ref: '#/components/schemas/Location'
current:
$ref: '#/components/schemas/CurrentWeather'
forecast:
type: object
properties:
forecastday:
type: array
items:
$ref: '#/components/schemas/ForecastDayEntry'
alerts:
type: object
properties:
alert:
type: array
items:
$ref: '#/components/schemas/Alert'
Condition:
type: object
properties:
text:
type: string
description: Weather condition description
example: Partly Cloudy
icon:
type: string
description: URL to condition icon
example: //cdn.weatherapi.com/weather/64x64/day/116.png
code:
type: integer
description: Condition code (see conditions.json)
example: 1003
Alert:
type: object
properties:
headline:
type: string
example: sample value
msgtype:
type: string
example: sample value
severity:
type: string
example: sample value
urgency:
type: string
example: sample value
areas:
type: string
example: sample value
category:
type: string
example: sample value
certainty:
type: string
example: sample value
event:
type: string
example: Severe Thunderstorm Warning
note:
type: string
example: sample value
effective:
type: string
example: '2026-05-28T13:00:00Z'
expires:
type: string
example: '2026-05-28T13:00:00Z'
desc:
type: string
example: Severe thunderstorms with damaging winds expected in the warning area.
instruction:
type: string
example: sample value
Pollen:
type: object
description: Pollen data in grains/m³. Returned when pollen=yes (Pro+ and above).
properties:
Hazel:
type: number
example: 1.0
Alder:
type: number
example: 1.0
Birch:
type: number
example: 1.0
Oak:
type: number
example: 1.0
Grass:
type: number
example: 1.0
Mugwort:
type: number
example: 1.0
Ragweed:
type: number
example: 1.0
Location:
type: object
description: Location metadata returned with every weather response.
properties:
name:
type: string
description: Location name
example: London
region:
type: string
description: Region or state
example: City of London, Greater London
country:
type: string
description: Country name
example: United Kingdom
lat:
type: number
format: float
description: Latitude
example: 51.5074
lon:
type: number
format: float
description: Longitude
example: -0.1278
tz_id:
type: string
description: IANA timezone ID, e.g. Europe/London
example: Europe/London
localtime_epoch:
type: integer
description: Local time as Unix epoch
example: 1748441400
localtime:
type: string
description: Local date and time string
example: 2026-05-28 15:30
responses:
Forbidden:
description: Forbidden — API key quota exceeded, disabled, or plan does not include this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized — API key missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Bad request — invalid parameter or location not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: query
name: key
description: API key obtained from https://www.weatherapi.com/my/. Pass as `?key=YOUR_API_KEY` query parameter.
externalDocs:
description: Official WeatherAPI.com Documentation
url: https://www.weatherapi.com/docs/