# OpenWeather API

Provides access to current weather data, forecasts, and historical weather data for any location worldwide.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 21
- **Triggers:** 0
- **Slug:** `OPENWEATHER_API`
- **Version:** 20260316_00

## Tools

### Delete Weather Station

**Slug:** `OPENWEATHER_API_DELETE_WEATHER_STATION`

Tool to delete a registered weather station. Use after identifying a station to remove. Returns confirmation message upon success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `station_id` | string | Yes | The unique ID of the weather station to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get 5 Day Forecast

**Slug:** `OPENWEATHER_API_GET5_DAY_FORECAST`

Tool to get a 5-day forecast every 3 hours (up to 40 UTC timestamps). Exactly one location identifier required per call: `q`, `id`, `zip`, or `lat`+`lon` pair. Use `city.timezone` offset to convert timestamps to local time before grouping into daily summaries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | City name and optional country code, e.g. 'London,uk' |
| `id` | integer | No | OpenWeatherMap city ID |
| `lat` | number | No | Latitude in degrees |
| `lon` | number | No | Longitude in degrees |
| `zip` | string | No | Zip code with country code, e.g. '94040,us' |
| `lang` | string | No | Language code (ISO 639-1) |
| `mode` | string ("json" | "xml" | "html") | No | Response format |
| `units` | string ("standard" | "metric" | "imperial") | No | Units of measurement (standard, metric, imperial) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current Air Pollution Data

**Slug:** `OPENWEATHER_API_GET_AIR_POLLUTION_CURRENT`

Tool to fetch current air pollution data for a location. Use when you need real-time air quality details by latitude and longitude.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lat` | number | Yes | Latitude of the location, between -90 and 90 |
| `lon` | number | Yes | Longitude of the location, between -180 and 180 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Air Pollution Forecast

**Slug:** `OPENWEATHER_API_GET_AIR_POLLUTION_FORECAST`

Tool to get forecasted air pollution data for a specific location. Use after confirming latitude and longitude. Forecast availability may be limited for remote or oceanic coordinates; verify response timestamps to confirm returned data represents a true forecast rather than a current snapshot.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lat` | number | Yes | Geographical latitude in decimal degrees (range -90 to 90) |
| `lon` | number | Yes | Geographical longitude in decimal degrees (range -180 to 180) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Air Pollution History

**Slug:** `OPENWEATHER_API_GET_AIR_POLLUTION_HISTORY`

Tool to retrieve historical air pollution data. Use when you need past air quality levels for a specific latitude/longitude and time range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | integer | Yes | End UNIX timestamp (UTC seconds); must be >= start |
| `lat` | number | Yes | Latitude of the location (range: -90 to 90) |
| `lon` | number | Yes | Longitude of the location (range: -180 to 180) |
| `start` | integer | Yes | Start UNIX timestamp (UTC seconds); must be <= end |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Circle City Weather

**Slug:** `OPENWEATHER_API_GET_CIRCLE_CITY_WEATHER`

Tool to search for current weather data in cities around a geographic point. Use when you need to fetch weather within a radius circle after confirming latitude and longitude.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cnt` | integer | No | Number of cities to return within the circle (1–50). Default is 10. |
| `lat` | number | Yes | Latitude of the circle center in degrees (-90 to 90) |
| `lon` | number | Yes | Longitude of the circle center in degrees (-180 to 180) |
| `lang` | string | No | Language of the response (ISO 639-1) |
| `mode` | string ("json" | "xml") | No | Response format: 'json' or 'xml' |
| `units` | string ("standard" | "metric" | "imperial") | No | Units of measurement: standard, metric, or imperial |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current Weather

**Slug:** `OPENWEATHER_API_GET_CURRENT_WEATHER`

Tool to retrieve current weather data for a location. Use when you need up-to-the-minute weather info. Exactly one location identifier must be provided per call: either `q`, `id`, `zip`, or the pair `lat`+`lon`. Passing multiple identifiers causes errors or ambiguous matches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | City name, state code and country code, e.g., 'London,uk' |
| `id` | integer | No | City ID, e.g., 2172797 |
| `lat` | number | No | Geographic coordinate latitude, e.g., 35.0 |
| `lon` | number | No | Geographic coordinate longitude, e.g., 139.0 |
| `zip` | string | No | Zip code and country code, e.g., '94040,us' |
| `lang` | string | No | Language for the response (ISO 639-1 code, e.g., 'en') |
| `units` | string ("standard" | "metric" | "imperial") | No | Units of measurement. 'standard' (default), 'metric', or 'imperial' |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Geocoding by Zip Code

**Slug:** `OPENWEATHER_API_GET_GEOCODING_BY_ZIP`

Tool to convert zip/post code into geographic coordinates. Use when you need latitude and longitude for a specific postal code.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `zip` | string | Yes | Zip/post code and country code divided by comma. Use ISO 3166 country codes (e.g., '10001,US' or 'E14,GB'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Direct Geocoding

**Slug:** `OPENWEATHER_API_GET_GEOCODING_DIRECT`

Tool to convert a location name into geographic coordinates. Use when you need latitude and longitude for a given location after confirming the precise name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Location query including city name, state code and country code separated by commas (e.g., 'London,UK'). Ambiguous queries can return multiple mismatched locations; use the full three-part format 'city,state_code,country_code' (e.g., 'Springfield,IL,US') and verify the returned country/region before using coordinates downstream. |
| `limit` | integer | No | Number of results to return (1 to 5). Defaults to 5. Use 1 only for unambiguous locations; for ambiguous queries review all returned results to select the correct match. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Reverse Geocoding

**Slug:** `OPENWEATHER_API_GET_GEOCODING_REVERSE`

Tool to convert geographic coordinates into a location name. Use when you need city, state, and country info from latitude and longitude.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lat` | number | Yes | Latitude of the location in decimal degrees |
| `lon` | number | Yes | Longitude of the location in decimal degrees |
| `limit` | integer | No | Number of results to return (1 to 5) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Station Measurements

**Slug:** `OPENWEATHER_API_GET_STATION_MEASUREMENTS`

Tool to retrieve aggregated measurements from a weather station with minute, hour, or day granularity. Use when you need historical weather data from a specific registered station.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | integer | Yes | End of time interval (Unix timestamp in seconds) |
| `from` | integer | Yes | Start of time interval (Unix timestamp in seconds) |
| `type` | string ("m" | "h" | "d") | Yes | Aggregation type: m (minute), h (hour), or d (day) |
| `limit` | integer | Yes | Maximum number of measurement records to return |
| `station_id` | string | Yes | Internal station ID from OpenWeather |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current UV Index

**Slug:** `OPENWEATHER_API_GET_UV_INDEX`

Tool to retrieve current UV index for a location. Use when you need up-to-the-minute UV index by latitude and longitude.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lat` | number | Yes | Latitude of the location, between -90 and 90 |
| `lon` | number | Yes | Longitude of the location, between -180 and 180 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get UV Index Forecast

**Slug:** `OPENWEATHER_API_GET_UV_INDEX_FORECAST`

Tool to retrieve UV index forecast for a specific location. Use when you need upcoming UV index values after confirming latitude and longitude. Returns up to 8 days of data. Data may be sparse or absent for ocean and remote locations; an empty response means no data available, not safe UV conditions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cnt` | integer | No | Number of days to return (1-8); defaults to 8 if not specified |
| `lat` | number | Yes | Latitude of the location, between -90 and 90 |
| `lon` | number | Yes | Longitude of the location, between -180 and 180 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get UV Index History

**Slug:** `OPENWEATHER_API_GET_UV_INDEX_HISTORY`

Tool to retrieve historical UV index data for a specified location and time range. Use when you need to analyze past UV exposure trends after confirming coordinates and time period.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `end` | integer | Yes | End UNIX timestamp (UTC seconds); must be >= start |
| `lat` | number | Yes | Latitude of the location (range: -90 to 90) |
| `lon` | number | Yes | Longitude of the location (range: -180 to 180) |
| `start` | integer | Yes | Start UNIX timestamp (UTC seconds); must be <= end |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Weather Map Tile (2.0)

**Slug:** `OPENWEATHER_API_GET_WEATHER_MAP_TILE`

Tool to fetch Weather Maps 2.0 tile images. Use when you need dynamic weather layers at specific zoom and coordinates with advanced styling options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `x` | integer | Yes | Tile X coordinate (non-negative integer). |
| `y` | integer | Yes | Tile Y coordinate (non-negative integer). |
| `z` | integer | Yes | Zoom level of the tile (non-negative integer). |
| `fill` | string | No | Color for empty-data fill areas (hex or named). |
| `color` | string | No | Color schema of the tiles, e.g., 'original', 'black'. |
| `layer` | string ("clouds" | "clouds_new" | "precipitation" | "precipitation_new" | "pressure" | "pressure_new" | "wind" | "wind_new" | "temp" | "temp_new") | Yes | Weather layer name. Options: clouds, clouds_new, precipitation, precipitation_new, pressure, pressure_new, wind, wind_new, temp, temp_new. |
| `scale` | integer ("1" | "2") | No | Tile scale factor: 1 or 2 for retina. |
| `format` | string | No | Image format; only 'png' is supported. |
| `opacity` | number | No | Tile opacity value between 0.0 and 1.0. |
| `palette` | string | No | Custom palette definition (comma-separated or JSON). |
| `fill_bound` | boolean | No | Fill tiles outside data coverage if true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Weather Station

**Slug:** `OPENWEATHER_API_GET_WEATHER_STATION`

Tool to get information about a specific weather station by its ID. Use when you need details about a particular station.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `station_id` | string | Yes | Internal station ID to retrieve information for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Weather Stations

**Slug:** `OPENWEATHER_API_GET_WEATHER_STATIONS`

Tool to list all weather stations added to your account. Use after setting up your OpenWeather API key.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Weather Triggers

**Slug:** `OPENWEATHER_API_GET_WEATHER_TRIGGERS`

Tool to retrieve weather triggers for specific conditions. Use after defining trigger criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `triggers` | array | Yes | List of weather trigger definitions |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Weather Station

**Slug:** `OPENWEATHER_API_POST_ADD_WEATHER_STATION`

Tool to add a new weather station to your account. Use when you need to register a station before sending custom data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Station name |
| `altitude` | number | Yes | Station altitude in meters above sea level |
| `latitude` | number | Yes | Station latitude, range -90 to 90 degrees |
| `longitude` | number | Yes | Station longitude, range -180 to 180 degrees |
| `external_id` | string | Yes | External station ID (your own reference) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Submit Station Measurements

**Slug:** `OPENWEATHER_API_POST_SUBMIT_STATION_MEASUREMENTS`

Tool to submit weather measurements from a registered station. Use when you need to send temperature, wind, pressure, humidity, or precipitation data for a station.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `measurements` | array | Yes | Array of measurement objects to submit |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Weather Station

**Slug:** `OPENWEATHER_API_UPDATE_WEATHER_STATION`

Tool to update weather station details. Use when you need to modify the name, location, or external ID of an existing station.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Human-readable name for the station |
| `altitude` | number | No | Altitude of the station above sea level in meters |
| `latitude` | number | Yes | Latitude of the station in degrees, between -90 and 90 |
| `longitude` | number | Yes | Longitude of the station in degrees, between -180 and 180 |
| `station_id` | string | Yes | Unique identifier of the weather station to update |
| `external_id` | string | No | Custom user-provided external identifier for the station |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
