---
title: "Bulk Current Weather"
method: POST
path: "/current.json#bulk"
tags: ["Weather"]
---

# Bulk Current Weather

`POST /current.json#bulk`

Retrieve current weather for multiple locations in a single request. Pass `q=bulk` in the query string with a JSON body containing up to 50 locations. Each location counts as 1 call. Available on Pro+, Business, and Enterprise plans.

## Query parameters

- `key` string, required
- `q` 'bulk', required
- `aqi` 'yes' | 'no'

## Request body

- BulkRequest
  - `locations` BulkLocation[], required
    - `q` string, required — Location query (same formats as q parameter)
    - `custom_id` string — Optional identifier echoed back in response

## Response `200`

Bulk weather results

- BulkResponse
  - `bulk` object[]
    - `query` object
      - `custom_id` string
      - `q` string
      - `location` Location — Location metadata returned with every weather response.
        - `name` string — Location name
        - `region` string — Region or state
        - `country` string — Country name
        - `lat` number, float — Latitude
        - `lon` number, float — Longitude
        - `tz_id` string — IANA timezone ID, e.g. Europe/London
        - `localtime_epoch` integer — Local time as Unix epoch
        - `localtime` string — Local date and time string
      - `current` CurrentWeather
        - `last_updated_epoch` integer
        - `last_updated` string
        - `temp_c` number — Temperature °C
        - `temp_f` number — Temperature °F
        - `is_day` integer — 1=day, 0=night
        - `condition` Condition
          - `text` string — Weather condition description
          - `icon` string — URL to condition icon
          - `code` integer — Condition code (see conditions.json)
        - `wind_mph` number
        - `wind_kph` number
        - `wind_degree` integer
        - `wind_dir` string — 16-point compass direction
        - `pressure_mb` number
        - `pressure_in` number
        - `precip_mm` number
        - `precip_in` number
        - `humidity` integer — Humidity %
        - `cloud` integer — Cloud cover %
        - `feelslike_c` number
        - `feelslike_f` number
        - `windchill_c` number
        - `windchill_f` number
        - `heatindex_c` number
        - `heatindex_f` number
        - `dewpoint_c` number
        - `dewpoint_f` number
        - `vis_km` number
        - `vis_miles` number
        - `uv` number — UV Index
        - `gust_mph` number
        - `gust_kph` number
        - `short_rad` number — GHI W/m² (paid plans)
        - `diff_rad` number — DHI W/m² (paid plans)
        - `air_quality` AirQuality — Air quality data. Returned when aqi=yes.
          - `co` number — Carbon monoxide µg/m³
          - `o3` number — Ozone µg/m³
          - `no2` number — Nitrogen dioxide µg/m³
          - `so2` number — Sulphur dioxide µg/m³
          - `pm2_5` number — PM2.5 µg/m³
          - `pm10` number — PM10 µg/m³
          - `us-epa-index` integer — US EPA index 1–6 (1=Good, 6=Hazardous)
          - `gb-defra-index` integer — UK DEFRA index 1–10
        - `pollen` Pollen — Pollen data in grains/m³. Returned when pollen=yes (Pro+ and above).
          - `Hazel` number
          - `Alder` number
          - `Birch` number
          - `Oak` number
          - `Grass` number
          - `Mugwort` number
          - `Ragweed` number

## Other responses

- `400` — Bad request — invalid parameter or location not found.
- `401` — Unauthorized — API key missing or invalid.
- `403` — Forbidden — API key quota exceeded, disabled, or plan does not include this resource.

---

[API](https://skmtc.dev/weatherapi/apis/weatherapi-com.md) · [All operations](https://skmtc.dev/weatherapi/apis/weatherapi-com/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/weatherapi/weatherapi-com/revisions/bf3da15deb3e/schema)
