OpenWeatherMap

App · Weather & Space · 8 actions

Look up the weather and air quality anywhere in the world: current conditions, a five-day forecast in three-hour steps or day by day, the air quality now, forecast and history, and the coordinates of any city or postal code, or the place at a point.

Actions

ActionWhat it does
Find location coordinatesTurn a city name or postal code into coordinates, with up to five matches for an ambiguous name.
Find place at coordinatesName the place at a latitude and longitude: its city, state and country.
Get 5-day forecastGet the five-day forecast in three-hour steps, with temperature, dew point, wind, cloud cover, and the chance of precipitation for each step.
Get air qualityGet the air quality now: the Air Quality Index from 1 (Good) to 5 (Very Poor) and the levels of carbon monoxide, nitrogen oxides, ozone, sulphur dioxide, ammonia and fine and coarse particles (PM2.5, PM10).
Get air quality forecastGet the air quality forecast hour by hour for the next four days, with the worst hour picked out, for example to warn people before the air turns Poor.
Get air quality historyGet the air quality hour by hour over a past period of up to 31 days, from 27 November 2020 on, with the worst hour and the average Air Quality Index.
Get current weatherGet current conditions for a place: temperature, feels-like, humidity, pressure, wind, cloud cover, visibility, rain and snow, and sunrise and sunset times.
Get daily forecastGet a day-by-day forecast for up to six days, today first: each day's low and high, chance of precipitation, rain and snow totals, strongest wind and gusts, and its most notable weather.

Find location coordinates

Turn a city name or postal code into coordinates, with up to five matches for an ambiguous name. The weather and air actions do this for you, so use this when a workflow needs the coordinates themselves.

Inputs

LocationlocationtextRequired
City name or postal code, optionally with a state and country, such as London,GB, Austin,TX or 94103,US. A postal code on its own is read as a US ZIP code.
Languagelanguagetext
Language code for the place's local name, such as de for München. Leave empty for the English name.

Outputs

countrytext
Country code of the place (e.g. 'GB')
latitudenumber
Latitude of the place
local_nametext
Its name in the language asked for
locationtext
Name of the place that was matched
longitudenumber
Longitude of the place
matcheslist
Every place the name matched, best first (up to five)
statetext
State or region, when the geocoder reports one
Example output
{
  "country": "US",
  "latitude": 39.7990175,
  "local_name": "Springfield",
  "location": "Springfield",
  "longitude": -89.6439575,
  "matches": [
    {
      "country": "US",
      "latitude": 39.7990175,
      "local_name": "Springfield",
      "location": "Springfield",
      "longitude": -89.6439575,
      "state": "Illinois"
    },
    {
      "country": "US",
      "latitude": 42.1018764,
      "local_name": "Springfield",
      "location": "Springfield",
      "longitude": -72.5886727,
      "state": "Massachusetts"
    },
    {
      "country": "US",
      "latitude": 37.2081729,
      "local_name": "Springfield",
      "location": "Springfield",
      "longitude": -93.2922715,
      "state": "Missouri"
    },
    {
      "country": "US",
      "latitude": 39.9234046,
      "local_name": "Springfield",
      "location": "Springfield",
      "longitude": -83.810138,
      "state": "Ohio"
    },
    {
      "country": "US",
      "latitude": 44.0462362,
      "local_name": "Springfield",
      "location": "Springfield",
      "longitude": -123.0220289,
      "state": "Oregon"
    }
  ],
  "state": "Illinois"
}

Find place at coordinates

Name the place at a latitude and longitude: its city, state and country. A point with no place near it, such as one at sea, is not an error: found comes back false.

Inputs

LatitudelatitudenumberRequired
Latitude of the point, from -90 to 90.From -90 to 90.
LongitudelongitudenumberRequired
Longitude of the point, from -180 to 180.From -180 to 180.
Languagelanguagetext
Language code for the place's local name, such as de for München. Leave empty for the English name.

Outputs

countrytext
Country code
foundtrue/false
Whether a place was found near the point
latitudenumber
Latitude of the point asked about
local_nametext
Its name in the language asked for
locationtext
Name of the place, empty when none
longitudenumber
Longitude of the point asked about
matcheslist
The places found near the point, nearest first, with their own coordinates
statetext
State or region, when known
Example output
{
  "country": "US",
  "found": true,
  "latitude": 40.7484,
  "local_name": "Nueva York",
  "location": "New York",
  "longitude": -73.9857,
  "matches": [
    {
      "country": "US",
      "latitude": 40.7127281,
      "local_name": "Nueva York",
      "location": "New York",
      "longitude": -74.0060152,
      "state": "New York"
    }
  ],
  "state": "New York"
}

Get 5-day forecast

Get the five-day forecast in three-hour steps, with temperature, dew point, wind, cloud cover, and the chance of precipitation for each step.

Inputs

Locationlocationtext
City name or postal code, optionally with a state and country, such as London,GB, Austin,TX or 94103,US. A postal code on its own is read as a US ZIP code. Leave empty when giving latitude and longitude instead.
Latitudelatitudenumber
Latitude of the place, from -90 to 90. Use with longitude instead of a location for an exact point.From -90 to 90.
Longitudelongitudenumber
Longitude of the place, from -180 to 180. Use with latitude instead of a location for an exact point.From -180 to 180.
Unitsunitstext
Units for temperature and wind speed. Defaults to metric (Celsius and metres a second).One of: metric (Metric (°C, m/s)), imperial (Imperial (°F, mph)), standard (Standard (Kelvin, m/s)). Default: metric.
Languagelanguagetext
Language code for the place name and weather description, such as en, es, fr, de, ja or pt_br. Defaults to English.
Max resultsmax_resultsnumber
How many three-hour steps to return, from 1 to 40. Defaults to 40, the full five days; 8 covers the next 24 hours.From 1 to 40. Default: 40.

Outputs

countnumber
Number of forecast steps returned
countrytext
Country code of the place (e.g. 'GB')
entrieslist
One record per three-hour step, soonest first
latitudenumber
Latitude of the location
locationtext
Name of the place the reading is for
longitudenumber
Longitude of the location
sunrisetext
Today's sunrise time (ISO 8601, UTC)
sunsettext
Today's sunset time (ISO 8601, UTC)
timezone_offsetnumber
The location's offset from UTC, in seconds
unitstext
Units the readings are in: standard, metric, or imperial
Example output
{
  "count": 2,
  "country": "GB",
  "entries": [
    {
      "clouds": 99.0,
      "condition_group": "Clouds",
      "condition_id": 804,
      "conditions": "overcast clouds",
      "dew_point": 10.94,
      "feels_like": 12.85,
      "ground_level_pressure": 1026.0,
      "humidity": 86.0,
      "icon": "04n",
      "icon_url": "https://openweathermap.org/img/wn/04n@2x.png",
      "part_of_day": "night",
      "precipitation_probability": 0.0,
      "pressure": 1030.0,
      "rain_3h": 0.0,
      "sea_level_pressure": 1030.0,
      "snow_3h": 0.0,
      "temperature": 13.23,
      "temperature_max": 13.23,
      "temperature_min": 12.36,
      "time": "2026-10-03T03:00:00Z",
      "visibility": 10000.0,
      "wind_deg": 215.0,
      "wind_gust": 3.8,
      "wind_speed": 1.99
    },
    {
      "clouds": 100.0,
      "condition_group": "Clouds",
      "condition_id": 804,
      "conditions": "overcast clouds",
      "dew_point": 10.66,
      "feels_like": 12.04,
      "ground_level_pressure": 1027.0,
      "humidity": 89.0,
      "icon": "04n",
      "icon_url": "https://openweathermap.org/img/wn/04n@2x.png",
      "part_of_day": "night",
      "precipitation_probability": 0.0,
      "pressure": 1029.0,
      "rain_3h": 0.0,
      "sea_level_pressure": 1029.0,
      "snow_3h": 0.0,
      "temperature": 12.42,
      "temperature_max": 12.42,
      "temperature_min": 11.8,
      "time": "2026-10-03T06:00:00Z",
      "visibility": 10000.0,
      "wind_deg": 228.0,
      "wind_gust": 2.84,
      "wind_speed": 1.55
    }
  ],
  "latitude": 51.5074,
  "location": "London",
  "longitude": -0.1278,
  "sunrise": "2026-10-03T06:03:57Z",
  "sunset": "2026-10-03T17:35:03Z",
  "timezone_offset": 3600,
  "units": "metric"
}

Get air quality

Get the air quality now: the Air Quality Index from 1 (Good) to 5 (Very Poor) and the levels of carbon monoxide, nitrogen oxides, ozone, sulphur dioxide, ammonia and fine and coarse particles (PM2.5, PM10).

Inputs

Locationlocationtext
City name or postal code, optionally with a state and country, such as Delhi,IN or Austin,TX. Leave empty when giving latitude and longitude instead.
Latitudelatitudenumber
Latitude of the place, from -90 to 90. Use with longitude instead of a location for an exact point.From -90 to 90.
Longitudelongitudenumber
Longitude of the place, from -180 to 180. Use with latitude instead of a location for an exact point.From -180 to 180.

Outputs

aqinumber
Air Quality Index from 1 (Good) to 5 (Very Poor), on OpenWeatherMap's scale
aqi_labeltext
Good, Fair, Moderate, Poor or Very Poor
conumber
Carbon monoxide, μg/m3
countrytext
Country code, when the place was given by name
latitudenumber
Latitude of the reading
locationtext
Name of the place, when it was given by name
longitudenumber
Longitude of the reading
nh3number
Ammonia, μg/m3
nonumber
Nitrogen monoxide, μg/m3
no2number
Nitrogen dioxide, μg/m3
o3number
Ozone, μg/m3
pm10number
Coarse particles (PM10), μg/m3
pm2_5number
Fine particles (PM2.5), μg/m3
so2number
Sulphur dioxide, μg/m3
timetext
Hour of the reading (ISO 8601, UTC)
Example output
{
  "aqi": 3,
  "aqi_label": "Moderate",
  "co": 364.48,
  "country": "IN",
  "latitude": 28.614,
  "location": "New Delhi",
  "longitude": 77.209,
  "nh3": 6.54,
  "no": 0.0,
  "no2": 9.14,
  "o3": 44.13,
  "pm10": 89.3,
  "pm2_5": 38.91,
  "so2": 2.39,
  "time": "2026-10-02T23:55:36Z"
}

Get air quality forecast

Get the air quality forecast hour by hour for the next four days, with the worst hour picked out, for example to warn people before the air turns Poor.

Inputs

Locationlocationtext
City name or postal code, optionally with a state and country, such as Delhi,IN or Austin,TX. Leave empty when giving latitude and longitude instead.
Latitudelatitudenumber
Latitude of the place, from -90 to 90. Use with longitude instead of a location for an exact point.From -90 to 90.
Longitudelongitudenumber
Longitude of the place, from -180 to 180. Use with latitude instead of a location for an exact point.From -180 to 180.
Hoursmax_resultsnumber
How many hours to return, from 1 to 96, starting with the current hour (default 96, four days). 24 covers the next day.From 1 to 96. Default: 96.

Outputs

countnumber
Hours returned
countrytext
Country code, when the place was given by name
hourslist
One reading an hour, soonest first
latitudenumber
Latitude of the reading
locationtext
Name of the place, when it was given by name
longitudenumber
Longitude of the reading
max_aqinumber
Worst Air Quality Index among the hours
max_aqi_labeltext
Its label, such as Poor
max_aqi_timetext
The first hour it was reached (ISO 8601, UTC)
Example output
{
  "count": 3,
  "country": "GB",
  "hours": [
    {
      "aqi": 2,
      "aqi_label": "Fair",
      "co": 168.96,
      "nh3": 0.75,
      "no": 0.0,
      "no2": 4.36,
      "o3": 79.87,
      "pm10": 3.58,
      "pm2_5": 2.0,
      "so2": 2.87,
      "time": "2026-10-02T23:00:00Z"
    },
    {
      "aqi": 2,
      "aqi_label": "Fair",
      "co": 168.2,
      "nh3": 0.73,
      "no": 0.0,
      "no2": 4.51,
      "o3": 79.54,
      "pm10": 3.71,
      "pm2_5": 2.05,
      "so2": 3.01,
      "time": "2026-10-03T00:00:00Z"
    },
    {
      "aqi": 2,
      "aqi_label": "Fair",
      "co": 167.82,
      "nh3": 0.69,
      "no": 0.0,
      "no2": 4.65,
      "o3": 79.46,
      "pm10": 3.89,
      "pm2_5": 2.11,
      "so2": 3.15,
      "time": "2026-10-03T01:00:00Z"
    }
  ],
  "latitude": 51.5073,
  "location": "London",
  "longitude": -0.1277,
  "max_aqi": 2,
  "max_aqi_label": "Fair",
  "max_aqi_time": "2026-10-02T23:00:00Z"
}

Get air quality history

Get the air quality hour by hour over a past period of up to 31 days, from 27 November 2020 on, with the worst hour and the average Air Quality Index.

Inputs

Fromstartdate and timeRequired
The first hour to read, from 27 November 2020 on.
Toenddate and time
The last hour to read, at most 31 days after the first. Leave empty for now.
Locationlocationtext
City name or postal code, optionally with a state and country, such as Delhi,IN or Austin,TX. Leave empty when giving latitude and longitude instead.
Latitudelatitudenumber
Latitude of the place, from -90 to 90. Use with longitude instead of a location for an exact point.From -90 to 90.
Longitudelongitudenumber
Longitude of the place, from -180 to 180. Use with latitude instead of a location for an exact point.From -180 to 180.

Outputs

average_aqinumber
Average Air Quality Index over the readings
countnumber
Hourly readings returned
countrytext
Country code, when the place was given by name
endtext
Last hour asked for (ISO 8601, UTC)
hourslist
One reading an hour, oldest first
latitudenumber
Latitude of the reading
locationtext
Name of the place, when it was given by name
longitudenumber
Longitude of the reading
max_aqinumber
Worst Air Quality Index among the hours
max_aqi_labeltext
Its label, such as Poor
max_aqi_timetext
The first hour it was reached (ISO 8601, UTC)
starttext
First hour asked for (ISO 8601, UTC)
Example output
{
  "average_aqi": 2.0,
  "count": 3,
  "country": "GB",
  "end": "2026-09-30T02:00:00Z",
  "hours": [
    {
      "aqi": 2,
      "aqi_label": "Fair",
      "co": 121.63,
      "nh3": 0.91,
      "no": 0.0,
      "no2": 5.69,
      "o3": 74.95,
      "pm10": 3.88,
      "pm2_5": 1.5,
      "so2": 2.78,
      "time": "2026-09-30T00:00:00Z"
    },
    {
      "aqi": 2,
      "aqi_label": "Fair",
      "co": 120.47,
      "nh3": 0.92,
      "no": 0.0,
      "no2": 5.37,
      "o3": 75.95,
      "pm10": 3.48,
      "pm2_5": 1.39,
      "so2": 2.53,
      "time": "2026-09-30T01:00:00Z"
    },
    {
      "aqi": 2,
      "aqi_label": "Fair",
      "co": 119.8,
      "nh3": 0.87,
      "no": 0.0,
      "no2": 5.52,
      "o3": 75.44,
      "pm10": 3.27,
      "pm2_5": 1.4,
      "so2": 2.48,
      "time": "2026-09-30T02:00:00Z"
    }
  ],
  "latitude": 51.5074,
  "location": "London",
  "longitude": -0.1278,
  "max_aqi": 2,
  "max_aqi_label": "Fair",
  "max_aqi_time": "2026-09-30T00:00:00Z",
  "start": "2026-09-30T00:00:00Z"
}

Get current weather

Get current conditions for a place: temperature, feels-like, humidity, pressure, wind, cloud cover, visibility, rain and snow, and sunrise and sunset times.

Inputs

Locationlocationtext
City name or postal code, optionally with a state and country, such as London,GB, Austin,TX or 94103,US. A postal code on its own is read as a US ZIP code. Leave empty when giving latitude and longitude instead.
Latitudelatitudenumber
Latitude of the place, from -90 to 90. Use with longitude instead of a location for an exact point.From -90 to 90.
Longitudelongitudenumber
Longitude of the place, from -180 to 180. Use with latitude instead of a location for an exact point.From -180 to 180.
Unitsunitstext
Units for temperature and wind speed. Defaults to metric (Celsius and metres a second).One of: metric (Metric (°C, m/s)), imperial (Imperial (°F, mph)), standard (Standard (Kelvin, m/s)). Default: metric.
Languagelanguagetext
Language code for the place name and weather description, such as en, es, fr, de, ja or pt_br. Defaults to English.

Outputs

cloudsnumber
Cloud cover, %
condition_grouptext
Weather group, e.g. 'Clear', 'Rain', 'Snow'
condition_idnumber
OpenWeatherMap weather condition code
conditionstext
Weather description, e.g. 'moderate rain'
countrytext
Country code of the place (e.g. 'GB')
feels_likenumber
What the temperature feels like, in the chosen units
ground_level_pressurenumber
Atmospheric pressure at ground level, hPa, when reported
humiditynumber
Humidity, %
icontext
Weather icon code, e.g. '10d'
icon_urltext
URL of the weather icon image
latitudenumber
Latitude of the location
locationtext
Name of the place the reading is for
longitudenumber
Longitude of the location
pressurenumber
Atmospheric pressure at sea level, hPa
rain_1hnumber
Rain over the last hour, mm (0 when none)
sea_level_pressurenumber
Atmospheric pressure at sea level, hPa, when reported
snow_1hnumber
Snow over the last hour, mm (0 when none)
sunrisetext
Sunrise time (ISO 8601, UTC)
sunsettext
Sunset time (ISO 8601, UTC)
temperaturenumber
Temperature, in the chosen units
temperature_maxnumber
Highest temperature across the area (differs from the temperature only in large cities)
temperature_minnumber
Lowest temperature across the area (differs from the temperature only in large cities)
timetext
Time the data was calculated (ISO 8601, UTC)
timezone_offsetnumber
The location's offset from UTC, in seconds
unitstext
Units the readings are in: standard, metric, or imperial
visibilitynumber
Visibility, metres (max 10000)
wind_degnumber
Wind direction, degrees
wind_gustnumber
Wind gust, in the chosen units, when reported
wind_speednumber
Wind speed, in the chosen units
Example output
{
  "clouds": 100.0,
  "condition_group": "Clouds",
  "condition_id": 804,
  "conditions": "overcast clouds",
  "country": "GB",
  "feels_like": 13.3,
  "ground_level_pressure": 1027.0,
  "humidity": 85.0,
  "icon": "04n",
  "icon_url": "https://openweathermap.org/img/wn/04n@2x.png",
  "latitude": 51.5073,
  "location": "London",
  "longitude": -0.1277,
  "pressure": 1030.0,
  "rain_1h": 0.0,
  "sea_level_pressure": 1030.0,
  "snow_1h": 0.0,
  "sunrise": "2026-10-03T06:03:57Z",
  "sunset": "2026-10-03T17:35:03Z",
  "temperature": 13.66,
  "temperature_max": 14.76,
  "temperature_min": 11.72,
  "time": "2026-10-03T00:00:59Z",
  "timezone_offset": 3600,
  "units": "metric",
  "visibility": 10000.0,
  "wind_deg": 263.0,
  "wind_gust": 4.02,
  "wind_speed": 1.34
}

Get daily forecast

Get a day-by-day forecast for up to six days, today first: each day's low and high, chance of precipitation, rain and snow totals, strongest wind and gusts, and its most notable weather. Days are the place's own calendar days, summed up from the 5-day forecast.

Inputs

Locationlocationtext
City name or postal code, optionally with a state and country, such as London,GB, Austin,TX or 94103,US. A postal code on its own is read as a US ZIP code. Leave empty when giving latitude and longitude instead.
Latitudelatitudenumber
Latitude of the place, from -90 to 90. Use with longitude instead of a location for an exact point.From -90 to 90.
Longitudelongitudenumber
Longitude of the place, from -180 to 180. Use with latitude instead of a location for an exact point.From -180 to 180.
Unitsunitstext
Units for temperature and wind speed. Defaults to metric (Celsius and metres a second).One of: metric (Metric (°C, m/s)), imperial (Imperial (°F, mph)), standard (Standard (Kelvin, m/s)). Default: metric.
Languagelanguagetext
Language code for the place name and weather description, such as en, es, fr, de, ja or pt_br. Defaults to English.
Daysdaysnumber
How many days to return, today first, from 1 to 6 (default 5). The forecast reaches five days ahead, so the sixth is partial, and so is today once part of it has passed.From 1 to 6. Default: 5.

Outputs

countnumber
Number of days returned
countrytext
Country code of the place (e.g. 'GB')
dayslist
One record per day, today first
latitudenumber
Latitude of the location
locationtext
Name of the place the reading is for
longitudenumber
Longitude of the location
timezone_offsetnumber
The location's offset from UTC, in seconds
unitstext
Units the readings are in: standard, metric, or imperial
Example output
{
  "count": 3,
  "country": "US",
  "days": [
    {
      "clouds": 100,
      "complete": false,
      "condition_group": "Rain",
      "condition_id": 500,
      "conditions": "light rain",
      "date": "2026-10-02",
      "humidity": 94,
      "icon": "10d",
      "icon_url": "https://openweathermap.org/img/wn/10d@2x.png",
      "most_common_group": "Rain",
      "precipitation_probability": 0.91,
      "rain": 0.89,
      "snow": 0.0,
      "steps": 1,
      "temperature_max": 75.65,
      "temperature_min": 75.65,
      "weekday": "Friday",
      "wind_gust_max": 10.85,
      "wind_speed_max": 5.79
    },
    {
      "clouds": 83,
      "complete": true,
      "condition_group": "Rain",
      "condition_id": 500,
      "conditions": "light rain",
      "date": "2026-10-03",
      "humidity": 89,
      "icon": "10d",
      "icon_url": "https://openweathermap.org/img/wn/10d@2x.png",
      "most_common_group": "Rain",
      "precipitation_probability": 0.73,
      "rain": 2.19,
      "snow": 0.0,
      "steps": 8,
      "temperature_max": 78.87,
      "temperature_min": 72.66,
      "weekday": "Saturday",
      "wind_gust_max": 19.44,
      "wind_speed_max": 8.46
    },
    {
      "clouds": 77,
      "complete": true,
      "condition_group": "Rain",
      "condition_id": 500,
      "conditions": "light rain",
      "date": "2026-10-04",
      "humidity": 79,
      "icon": "10d",
      "icon_url": "https://openweathermap.org/img/wn/10d@2x.png",
      "most_common_group": "Rain",
      "precipitation_probability": 0.88,
      "rain": 1.02,
      "snow": 0.0,
      "steps": 8,
      "temperature_max": 81.03,
      "temperature_min": 71.82,
      "weekday": "Sunday",
      "wind_gust_max": 26.69,
      "wind_speed_max": 12.3
    }
  ],
  "latitude": 30.2711,
  "location": "Austin",
  "longitude": -97.7437,
  "timezone_offset": -18000,
  "units": "imperial"
}

On this page