The forecasts endpoint/data set provides up to 15-day forecasts for US and international locations. Forecast information is available in daily, day/night, and custom (such as 3-hour or 1-hour) intervals.
Use our wizard to try out this endpoint
The following actions are supported with the forecasts endpoint:
:id | Requesting data by using the :id action is used for returning data for a particular item that has an ID associated with it. This is the primary method for requesting general weather information for a single location (observations, forecasts, advisories, etc.) as the location's name or a zip code serves as the id. Other endpoints may expect a certain value for the ID, such as storm cells whose ID value is a combination of the radar site identifier and unique identifier assigned to every storm cell. Refer to an endpoint's detailed documentation for specific information regarding how to use the :id action. |
route | The route action returns data for points along a given route. This can be useful to obtain weather information along a transportation route, trails and more. The route is a series of locations, usually latitude/longitudes provided via the p query parameter or for longer routes via GeoJSON within a POST request. The route will return an array of GeoJSON points with the requested data for each point. |
The following parameters are optional unless otherwise noted:
p | p=:place |
Defines the location to query data for. Refer to the list of supported place value formats. |
limit | limit=:total |
The total number of results to return as an integer. Each endpoint may have a set maximum for this value depending on usage. The default limit is 1 if not specified. The maximum limit for this endpoint is 360. |
filter | filter=:string |
Predefined filters for limiting the results. The filter value can be a single, comma-delimited or a semicolon delimited string of filter names. |
from | from=:string |
Returns the results starting from the value specified. For best practices we recommend using the to parameter as well to define a specific time frame.Supports a UNIX timestamp or a specific date string. Alternatively, common date formats supported by the PHP strtotime() function will be accepted; however, commas are not accepted. Examples: from=tomorrow from=friday from=1302883980 from=MM/DD/YYYY from=YYYY/MM/DD from=+2hours from=2017-02-27 5:00 PM |
to | to=:string |
Returns the results between now and the value specified. For best practices we recommend using the from parameter as well to define a specific time frame. When used in conjunction with the from parameter, the value of to will be relative to the value of from, not relative to the current time. Supports a UNIX timestamp or a specific date string. Alternatively, common date formats supported by the PHP strtotime() function will be accepted; however, commas are not accepted. Examples: to=+6hours to=+5days to=1302883980 to=MM/DD/YYYY to=YYYY/MM/DD to=2017-02-27 5:00 PM |
skip | skip=:number |
Used to skip over a specific number of results in the data set. |
plimit | plimit=:total |
Applied only on the periods property, the total number of periods to return as an integer. The maximum plimit for this endpoint is 360. |
pskip | pskip=:number |
Applied only on the periods property, used to skip over a specific number of periods in the data set. |
fields | fields=:string |
Provides a comma separated list of values for the API to return. This parameter is often used to limit the amount of data returned. See Reducing Output. |
The following filters can be passed to the filter parameter to reduce the results that are returned:
day | (default) Returns forecast data using the industry standard where day = 7am to 7pm and night = 7pm to 7am. Refer to the mdnt2mdnt2 filter for a 12:00am to 11:59:59pm calculation. By default a 7 day forecast will be returned. If your account supports a longer forecast, include the limit parameter. i.e. "limit=14" |
daynight | Returns forecast data in a daily 12-hour format in which day and night forecasts are separated. Similar to the "day" filter above, this filter will include a "day" period (7 am - 7 pm) and a "night" period (7 pm - 7 am) per industry standard. By default, 7 days of forecast information will be returned. If your account supports a longer forecast, include the limit parameter. i.e. "limit=28" When using filter=daynight, if the local requested time is from Midnight - 4:59 pm the first period will be the day period. If the local requested time is from 5 pm - 11:59 pm the first periods will be the night period. |
mdnt2mdnt | Returns forecast data for the 24hr period. Unlike the day (default) filter above, this data will be calculated from midnight to midnight local time. |
#hr | Returns forecast data for the specified interval starting at the locale's current time. Supports values: 1hr, 2hr, 3hr, 4hr, 6hr, 12hr, 24hr, 48hr and 72hr. NOTE: The day and 24hr filters will not provide the same results. The 24hr filter will return summary data at 24-hour intervals starting from the locale's current time, which may not necessarily be the correct summary for the same days within the range. The 48hr and 72hr filters can be used to return a min, max and total value for the multi-day period. |
#min | Returns forecast data in the specified minute interval, for up to 60 minutes maximum. Supports values such as 1min, 2min, 5min, 15min. Use of this filter may be limited by your API subscription. |
precise | Normally, Celsius attributes (tempC, minTempC, maxTempC, dewptC, etc) are rounded to the nearest integer. The precise filter returns Celsius values with 1 decimal place. NOTE: This filter only affects Celsius temperatures. Fahrenheit values are always rounded to the nearest integer. |
centroid | When utilized while passing an US zip code for the location, instructs the API to use the zip code centroid latitude/longitude versus the associated city latitude/longitude. |
The /[:endpoint]/[:action]?
portion within the query template below can be exchanged with any of the examples. Also, please note you will need to input your client credentials in the [ID]
and [SECRET]
fields which can be found under the Apps section of the members area.
https://api.aerisapi.com/[:endpoint]/[:action]?client_id=[ID]&client_secret=[SECRET]
Return 7 day forecast for the zip code 55415 (Minneapolis)./forecasts/55415?
Return 14 day forecast for the zip code 55415 (Minneapolis)./forecasts/55415?limit=14&
Return 7 days of the day and night forecasts data for Seattle, WA./forecasts/seattle,wa?filter=daynight&
Return up to 14 days of the day and night forecasts data for Seattle, WA./forecasts/seattle,wa?filter=daynight&limit=28&
Return the forecasts for the next eight 3-hour intervals for Seattle, WA./forecasts/seattle,wa?filter=3hr&limit=8&
Return up to 14 days of forecast in 1-hour intervals for Seattle, WA./forecasts/seattle,wa?filter=1hr&limit=360&
Return forecast data for the coordinate 42.25N, 95.25W./forecasts/42.25,-95.25?
Returns the forecast for today only for Minneapolis, MN./forecasts/minneapolis,mn?from=today&to=today&
Returns the day/night forecast for the next 24 hours for Minneapolis, MN./forecasts/minneapolis,mn?from=today&to=+1day&limit=2&filter=daynight&
Returns the day/night forecast for the weekend (Friday through Sunday) for Minneapolis, MN./forecasts/minneapolis,mn?from=friday&to=+3days&filter=daynight&
The following is an example of what each object in the response will consist of. Depending on your requested action, the response may contain multiple instances of this object within an array.
{
"loc":{
"long":-93.265,
"lat":44.978
},
"interval":"day",
"periods":[
{
"timestamp":1589544000,
"validTime":"2020-05-15T07:00:00-05:00",
"dateTimeISO":"2020-05-15T07:00:00-05:00",
"maxTempC":22,
"maxTempF":71,
"minTempC":11,
"minTempF":51,
"avgTempC":16,
"avgTempF":61,
"tempC":null,
"tempF":null,
"maxFeelslikeC":21,
"maxFeelslikeF":70,
"minFeelslikeC":10,
"minFeelslikeF":50,
"avgFeelslikeC":16,
"avgFeelslikeF":60,
"feelslikeC":10,
"feelslikeF":50,
"maxDewpointC":6,
"maxDewpointF":43,
"minDewpointC":5,
"minDewpointF":41,
"avgDewpointC":5,
"avgDewpointF":41,
"dewpointC":6,
"dewpointF":42,
"maxHumidity":80,
"minHumidity":35,
"humidity":73,
"pop":0,
"precipMM":0,
"precipIN":0,
"iceaccum":0,
"iceaccumMM":0,
"iceaccumIN":0,
"snowCM":0,
"snowIN":0,
"pressureMB":1016,
"pressureIN":30,
"windDir":"NW",
"windDirDEG":310,
"windSpeedKTS":6,
"windSpeedKPH":11,
"windSpeedMPH":7,
"windGustKTS":13,
"windGustKPH":24,
"windGustMPH":15,
"windDirMax":"NNW",
"windDirMaxDEG":340,
"windSpeedMaxKTS":8,
"windSpeedMaxKPH":15,
"windSpeedMaxMPH":9,
"windDirMin":"NW",
"windDirMinDEG":310,
"windSpeedMinKTS":5,
"windSpeedMinKPH":9,
"windSpeedMinMPH":6,
"windDir80m":"NW",
"windDir80mDEG":325,
"windSpeed80mKTS":10,
"windSpeed80mKPH":19,
"windSpeed80mMPH":12,
"windGust80mKTS":11,
"windGust80mKPH":20,
"windGust80mMPH":13,
"windDirMax80m":"N",
"windDirMax80mDEG":349,
"windSpeedMax80mKTS":11,
"windSpeedMax80mKPH":20,
"windSpeedMax80mMPH":13,
"windDirMin80m":"NNE",
"windDirMin80mDEG":17,
"windSpeedMin80mKTS":6,
"windSpeedMin80mKPH":11,
"windSpeedMin80mMPH":7,
"sky":29,
"cloudsCoded":"FW",
"weather":"Mostly Sunny",
"weatherCoded":[
],
"weatherPrimary":"Mostly Sunny",
"weatherPrimaryCoded":"::FW",
"icon":"pcloudy.png",
"visibilityKM":24.135,
"visibilityMI":15,
"uvi":7,
"solradWM2":7161,
"solradMinWM2":169,
"solradMaxWM2":848,
"isDay":true,
"sunrise":1589539380,
"sunset":1589592950,
"sunriseISO":"2020-05-15T05:43:00-05:00",
"sunsetISO":"2020-05-15T20:35:50-05:00"
}
],
"profile":{
"tz":"America\/Chicago",
"elevM":253,
"elevFT":830
}
}
{
"type":"FeatureCollection",
"features":[
{
"type":"Feature",
"geometry":{
"type":"Point",
"coordinates":[
-93.265,
44.978
]
},
"properties":{
"loc":{
"long":-93.265,
"lat":44.978
},
"interval":"day",
"periods":[
{
"timestamp":1589544000,
"validTime":"2020-05-15T07:00:00-05:00",
"dateTimeISO":"2020-05-15T07:00:00-05:00",
"maxTempC":22,
"maxTempF":71,
"minTempC":11,
"minTempF":51,
"avgTempC":16,
"avgTempF":61,
"tempC":null,
"tempF":null,
"maxFeelslikeC":21,
"maxFeelslikeF":70,
"minFeelslikeC":10,
"minFeelslikeF":50,
"avgFeelslikeC":16,
"avgFeelslikeF":60,
"feelslikeC":10,
"feelslikeF":50,
"maxDewpointC":6,
"maxDewpointF":43,
"minDewpointC":5,
"minDewpointF":41,
"avgDewpointC":5,
"avgDewpointF":41,
"dewpointC":6,
"dewpointF":42,
"maxHumidity":80,
"minHumidity":35,
"humidity":73,
"pop":0,
"precipMM":0,
"precipIN":0,
"iceaccum":0,
"iceaccumMM":0,
"iceaccumIN":0,
"snowCM":0,
"snowIN":0,
"pressureMB":1016,
"pressureIN":30,
"windDir":"NW",
"windDirDEG":310,
"windSpeedKTS":6,
"windSpeedKPH":11,
"windSpeedMPH":7,
"windGustKTS":13,
"windGustKPH":24,
"windGustMPH":15,
"windDirMax":"NNW",
"windDirMaxDEG":340,
"windSpeedMaxKTS":8,
"windSpeedMaxKPH":15,
"windSpeedMaxMPH":9,
"windDirMin":"NW",
"windDirMinDEG":310,
"windSpeedMinKTS":5,
"windSpeedMinKPH":9,
"windSpeedMinMPH":6,
"windDir80m":"NW",
"windDir80mDEG":325,
"windSpeed80mKTS":10,
"windSpeed80mKPH":19,
"windSpeed80mMPH":12,
"windGust80mKTS":11,
"windGust80mKPH":20,
"windGust80mMPH":13,
"windDirMax80m":"N",
"windDirMax80mDEG":349,
"windSpeedMax80mKTS":11,
"windSpeedMax80mKPH":20,
"windSpeedMax80mMPH":13,
"windDirMin80m":"NNE",
"windDirMin80mDEG":17,
"windSpeedMin80mKTS":6,
"windSpeedMin80mKPH":11,
"windSpeedMin80mMPH":7,
"sky":29,
"cloudsCoded":"FW",
"weather":"Mostly Sunny",
"weatherCoded":[
],
"weatherPrimary":"Mostly Sunny",
"weatherPrimaryCoded":"::FW",
"icon":"pcloudy.png",
"visibilityKM":24.135,
"visibilityMI":15,
"uvi":7,
"solradWM2":7161,
"solradMinWM2":169,
"solradMaxWM2":848,
"isDay":true,
"sunrise":1589539380,
"sunset":1589592950,
"sunriseISO":"2020-05-15T05:43:00-05:00",
"sunsetISO":"2020-05-15T20:35:50-05:00"
}
],
"profile":{
"tz":"America\/Chicago",
"elevM":253,
"elevFT":830
}
}
}
]
}
The following properties will be provided in every response object:
interval | (number) The interval between periods. |
periods[#].timestamp | (number) UNIX timestamp of the forecast valid time. |
periods[#].validTime | (string) Localized valid time of the forecast. (Deprecated. Use dateTimeISO) |
periods[#].dateTimeISO | (string) ISO 8601 of the valid time of the forecast. |
periods[#].maxTempC | (number) The maximum expected temperature in Celsius for the forecast period. Provided with filter=day (Default), mdnt2mdnt, and for the day time periods with filter=daynight, otherwise null. |
periods[#].maxTempF | (number) The maximum expected temperature in Fahrenheit for the forecast period. Provided with filter=day (Default), mdnt2mdnt, and for the day time periods with filter=daynight, otherwise null. |
periods[#].minTempC | (number) The minimum expected temperature in Celsius for the forecast period. Provided with filter=day (Default) and for the night time periods with filter=daynight, otherwise null. |
periods[#].minTempF | (number) The minimum expected temperature in Fahrenheit for the forecast period. Provided with filter=day (Default) and for the night time periods with filter=daynight, otherwise null. |
periods[#].avgTempC | (number) Average temperature in Celsius for the forecast period. |
periods[#].avgTempF | (number) Average temperature in Fahrenheit for the forecast period. |
periods[#].tempC | (number) The temperature in Celsius at the start of the forecast period. The value will be null when using filter=day, filter=mdnt2mdnt, or filter=daynight. |
periods[#].tempF | (number) The temperature in Fahrenheit at the start of the forecast period. The value will be null when using filter=day, filter=mdnt2mdnt, or filter=daynight. |
periods[#].pop | (number) Probability of precipitation. A percentage from 0 - 100%. Null if unavailable. |
periods[#].precipMM | (number) Precipitation expected in millimeters. The total liquid equivalent of all precipitation. |
periods[#].precipIN | (number) Precipitation expected in inches. The total liquid equivalent of all precipitation. |
periods[#].snowCM | (number) Snowfall amount in centimeters. |
periods[#].snowIN | (number) Snowfall amount in inches. |
periods[#].iceaccumMM | (number) The amount of ice accretion/accumulation in mm. Available for the US only out 48 hours |
periods[#].iceaccumIN | (number) The amount of ice accretion/accumulation in inches. Available for the US only out 48 hours |
periods[#].maxHumidity | (number) Maximum humidity percentage. |
periods[#].minHumidity | (number) Minimum humidity percentage. |
periods[#].humidity | (number) Humidity percentage. |
periods[#].uvi | (number) The ultraviolet index. Integer from 0 - 12, null if unavailable. Available for the first five days of the forecasts |
periods[#].pressureMB | (number) Barometric pressure in millibars. |
periods[#].pressureIN | (number) Barometric pressure in inches mercury. |
periods[#].sky | (number) Sky cover percentage, 0 = clear, 100 = cloudy. |
periods[#].feelslikeC | (number) The apparent temperature in Celsius. - Not used/valid when using filter=day or filter=daynight |
periods[#].feelslikeF | (number) The apparent temperature in Fahrenheit. - Not used/valid when using filter=day or filter=daynight |
periods[#].minFeelslikeC | (number) The minimum apparent temperature in Celsius. |
periods[#].minFeelslikeF | (number) The minimum apparent temperature in Fahrenheit. |
periods[#].maxFeelslikeC | (number) The maximum apparent temperature in Celsius. |
periods[#].maxFeelslikeF | (number) The maximum apparent temperature in Fahrenheit. |
periods[#].avgFeelslikeC | (number) The average apparent temperature in Celsius. |
periods[#].avgFeelslikeF | (number) The average apparent temperature in Fahrenheit. |
periods[#].dewpointC | (number) The dew point temperature in Celsius. - Not used/valid when using filter=day or filter=daynight |
periods[#].dewpointF | (number) The dew point temperature in Fahrenheit. - Not used/valid when using filter=day or filter=daynight |
periods[#].maxDewpointC | (number) The maximum dew point temperature in Celsius. |
periods[#].maxDewpointF | (number) The maximum dew point temperature in Fahrenheit. |
periods[#].minDewpointC | (number) The minimum dew point temperature in Celsius. |
periods[#].minDewpointF | (number) The minimum dew point temperature in Fahrenheit. |
periods[#].avgDewpointC | (number) The average dew point temperature in Celsius. |
periods[#].avgDewpointF | (number) The average dew point temperature in Fahrenheit. |
periods[#].windDirDEG | (number) The wind direction in degrees. - Not used/valid when using filter=day or filter=daynight |
periods[#].windDir | (string) Wind direction in cardinal coordinates. - Not used/valid when using filter=day or filter=daynight |
periods[#].windDirMaxDEG | (number) The wind direction in degrees (0=North) at the time of maximum wind speed (windSpeedMaxMPH). |
periods[#].windDirMax | (string) Wind direction in cardinal coordinates at the time of maximum wind speed (windSpeedMaxMPH). |
periods[#].windDirMinDEG | (number) The wind direction in degrees (0=North) at the time of minimum wind speed (windSpeedMinMPH). |
periods[#].windDirMin | (string) Wind direction in cardinal coordinates at the time of minimum wind speed (windSpeedMinMPH). |
periods[#].windGustKTS | (number) Wind gust in knots. |
periods[#].windGustKPH | (number) Wind gust in kilometers per hour. |
periods[#].windGustMPH | (number) Wind gust in miles per hour. |
periods[#].windSpeedKTS | (number) Wind speed in knots. |
periods[#].windSpeedKPH | (number) Wind speed in kilometers per hour. |
periods[#].windSpeedMPH | (number) Wind speed in miles per hour. |
periods[#].windSpeedMaxKTS | (number) The max wind speed in knots. |
periods[#].windSpeedMaxKPH | (number) The max wind speed in kilometers per hour. |
periods[#].windSpeedMaxMPH | (number) The max wind speed in miles per hour. |
periods[#].windSpeedMinKTS | (number) The minimum wind speed in knots. |
periods[#].windSpeedMinKPH | (number) The minimum wind speed in kilometers per hour. |
periods[#].windSpeedMinMPH | (number) The minimum wind speed in miles per hour. |
periods[#].windDir80mDEG | (number) The wind direction in degrees at a height of 80 meters. |
periods[#].windDir80m | (string) Wind direction in cardinal coordinates at a height of 80 meters. |
periods[#].windDirMax80mDEG | (number) The wind direction in degrees (0=North) at the time of maximum wind speed at a height of 80 meters. |
periods[#].windDirMax80m | (string) Wind direction in cardinal coordinates at the time of maximum wind speed at a height of 80 meters. |
periods[#].windDirMin80mDEG | (number) The wind direction in degrees (0=North) at the time of minimum wind speed at a height of 80 meters. |
periods[#].windDirMin80m | (string) Wind direction in cardinal coordinates at the time of minimum wind speed at a height of 80 meters. |
periods[#].windGust80mKTS | (number) Wind gust in knots at a height of 80 meters. |
periods[#].windGust80mKPH | (number) Wind gust in kilometers per hour at a height of 80 meters. |
periods[#].windGust80mMPH | (number) Wind gust in miles per hour at a height of 80 meters. |
periods[#].windSpeed80mKTS | (number) The wind speed in knots at a height of 80 meters. |
periods[#].windSpeed80mKPH | (number) The wind speed in kilometers per hour at a height of 80 meters. |
periods[#].windSpeed80mMPH | (number) The wind speed in miles per hour at a height of 80 meters. |
periods[#].windSpeedMax80mKTS | (number) The maximum wind speed in knots at a height of 80 meters. |
periods[#].windSpeedMax80mKPH | (number) The maximum wind speed in kilometers per hour at a height of 80 meters. |
periods[#].windSpeedMax80mMPH | (number) The maximum wind speed in miles per hour at a height of 80 meters. |
periods[#].windSpeedMin80mKTS | (number) The minimum wind speed in knots at a height of 80 meters. |
periods[#].windSpeedMin80mKPH | (number) The minimum wind speed in kilometers per hour at a height of 80 meters. |
periods[#].windSpeedMin80mMPH | (number) The minimum wind speed in miles per hour at a height of 80 meters. |
periods[#].weather | (string) Full weather phrase that combines the weather from all periods as needed. |
periods[#].weatherCoded | (array) Array of periods containing different weather types; can be used to determine when a particular type of weather is expected to begin/end. Refer to the Coded Weather documentation for additional information on the types of weather codes. |
periods[#].weatherCoded.timestamp | (number) UNIX timestamp for the beginning of this period. |
periods[#].weatherCoded.wx | (string) Coded form of the weather expected for this period. Refer to the Coded Weather documentation for additional information on the types of weather codes. |
periods[#].weatherPrimary | (string) Primary weather across all periods. |
periods[#].weatherPrimaryCoded | (string) Primary weather coded. Refer to the Coded Weather documentation for additional information on the types of weather codes. |
periods[#].cloudsCoded | (string) Code for the cloud type. Refer to the Coded Weather documentation for additional information on the types of cloud codes. |
periods[#].icon | (string) Weather icon representing the expected weather from the default Aeris icon set. For more custom implementations, icons can be determined by the weatherCoded and weatherCodedPrimary properties. |
periods[#].visibilityKM | (number) The forecast visibility in kilometers at the start of the forecast period. Null if unavailable. |
periods[#].visibilityMI | (number) The forecast visibility in miles at the start of the forecast period. Null if unavailable. |
periods[#].solradWM2 | (number) The estimated forecast solar radiation. Normally used with filter=1hr. If interval > 1 hour will be the accumulated hourly solar radiation values over the interval. |
periods[#].solradMinWM2 | (number) The minimum estimated forecast solar radiation over a forecast interval. |
periods[#].solradMaxWM2 | (number) The maximum estimated forecast solar radiation over a forecast interval. |
periods[#].isDay | (boolean) True if the period is during the day, otherwise false. |
periods[#].sunrise | (number) Sunrise time as a UNIX timestamp. Provided when using filter=day (default) or filter=daynight. Not currently available for hourly forecasts. NOTE: If no sunrise (Midnight sun / polar night) a boolean false will be returned |
periods[#].sunriseISO | (string) ISO 8601 date of the sunrise for the observation location. Provided when using filter=day (default) or filter=daynight. Not currently available for hourly forecasts. NOTE: If no sunrise (Midnight sun / polar night) a boolean false will be returned |
periods[#].sunset | (number) Sunset time as a UNIX timestamp. Provided when using filter=day (default) or filter=daynight. Not currently available for hourly forecasts. NOTE: If no sunset (Midnight sun / polar night) a boolean false will be returned |
periods[#].sunsetISO | (string) ISO 8601 date of the sunsetbfor the observation location. Provided when using filter=day (default) or filter=daynight. Not currently available for hourly forecasts. NOTE: If no sunset(Midnight sun / polar night) a boolean false will be returned |
profile.elevM | (number) Location estimated elevation in meters. Null if unavailable |
profile.elevFT | (number) Location estimated elevation in feet. Null if unavailable |
loc.long | (number) The longitude coordinate of the record. |
loc.lat | (number) The latitude coordinate of the record. |
profile.tz | (string) The timezone name association with the record's location. |
Last modified: September 18, 2023