WeatherAPI Future API

Long-range future weather (14–300 days)

OpenAPI Specification

weatherapi-future-api-openapi.yml Raw ↑
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/