openapi: 3.1.0 info: title: WeatherAPI.com Alerts Future 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: Future description: Long-range future weather (14–300 days) paths: /future.json: get: tags: - Future summary: WeatherAPI Future Weather (14–300 Days Ahead) description: Returns 3-hourly weather forecast for a date between 14 days and 300 days in the future. Available on Pro+ plan and above. operationId: getFutureWeather parameters: - $ref: '#/components/parameters/key' - $ref: '#/components/parameters/q' - name: dt in: query required: true description: Date between 14 and 300 days from today in yyyy-MM-dd format. schema: type: string format: date example: '2026-06-01' example: '2026-06-01' - $ref: '#/components/parameters/lang' responses: '200': description: Future weather data content: application/json: schema: $ref: '#/components/schemas/ForecastWeatherResponse' examples: GetFutureWeather200Example: summary: Default getFutureWeather 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: 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' 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 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' 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' 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 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 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 parameters: 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 key: name: key in: query required: true description: Your WeatherAPI.com API key. schema: type: string example: YOUR_API_KEY 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 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/