Historical Weather Data API
Part of the Foreca Weather API: past weather from weather stations worldwide, so your users can see what the weather was really like.
Hourly and daily weather history since 2009
Worldwide data · up to 14 days per request
Available on request · free trial on request
Built for weather, fitness and journal apps
A forecast tells your users what was expected. Weather history tells them what happened.
-
Weather apps: Let users look up any past day, such as a birthday, a holiday or a storm they remember.
-
Fitness and outdoor apps: Tag each logged run, ride or hike with the temperature, wind and rain at that hour, so users see why a workout felt harder.
-
Photo and journal apps: Add the weather to a photo, a diary entry or an 'on this day' memory.
Historical Weather API at a glance
Historical Weather API is available on request with the Nimbus plan or as a custom delivery. Explore the included features below.
Data
Hourly values and a daily summary for each day.
Time range
From January 2009 to the latest observations.
Request length
Up to 14 consecutive days per request.
Coverage
Worldwide, from the nearest weather station.
Method
Weather station observations, completed with model data where needed.
Station details
Name and coordinates of the nearest station, on request.
Units
Celsius or Fahrenheit, five wind units, millimetres or inches. Weather texts in 17 languages.
Format
REST API, JSON. Query by coordinates and date.
How your app gets the data
Past weather for one location at a time, as data you show in your own app views.
What it works best for
Looking back at a specific day or period: what the weather was when something happened.
Combine with climate data
Show climate normals next to past weather so users see whether a day was warmer or wetter than usual.
What each day of weather history includes
Every day comes at two levels of detail: a value for each hour and a summary of the whole day. The daily minimum, average and maximum values are calculated from the hourly values.
Hourly values and daily summary
| Category | Hourly values | Daily summary |
|---|---|---|
| Temperature | Temperature, feels-like temperature, dew point | Minimum, average and maximum temperature and dew point |
| Precipitation | 1-hour precipitation | 24-hour precipitation and the most common precipitation type (rain, snow, hail or mixed) |
| Snow | – | Snowfall, snow depth, snowfall month to date and since 1 July |
| Wind | Speed, gust, direction in degrees and as a name | Minimum, average and maximum speed, average direction |
| Humidity and pressure | Relative humidity, pressure | Minimum, average and maximum |
| Visibility | Visibility | Minimum, average and maximum |
| Weather events | Fog, rain, snow, hail, thunder and tornado (yes or no) | Fog, rain, snow, hail, thunder and tornado (yes or no) |
| Weather symbol | Symbol code and text | – |
Snowfall month to date and since 1 July can be lower than the actual value if the station has not reported for long enough.
How the history data is built
The data comes from weather stations run mainly by national weather services, so most key cities and airports are included. For each date, the API uses the nearest station with enough observations and adds augmented observations where needed.
| From | Data |
|---|---|
| 1 January 2009 | Observations from weather stations |
| 1 January 2011 | Observations from airport weather stations added |
| Mid-January 2016 | Augmented observations: interpolated values and forecast model data fill gaps in the observations |
| 9 February 2016 | Augmented snow depth added |
Historical Weather API FAQ
Can my app tell which values a weather station measured?
No. The response does not show which values were measured at a station and which are augmented, and one response can contain both. The station details give the nearest station's name and coordinates, not which values it measured.
Why can the values differ from what my users saw themselves?
The values come from the nearest weather station with enough observations. If that station is too far away to represent the location, the API uses augmented observations instead. Neither shows very local weather, such as a shower that missed the station or a cold hollow next to a house.
Does the same coordinate always get data from the same station?
From mid-January 2016, yes, unless stations are added or removed. For earlier dates, the station can change from day to day, because the API uses the nearest station with enough temperature observations for that date.
Why are some values empty?
Not every weather station measures every parameter, and some report only every few hours. An empty value means no value is available for that hour or day.
How quickly do new observations appear?
Within minutes. New observations reach the API a few minutes after they are reported, so your app can also show today's weather so far.
Can I query by place name or Foreca location ID?
No. Historical Weather is queried by coordinates and date. If you only have a place name, get its coordinates first with Location Search in the Foreca Weather API.
Do I need Historical Weather to show yesterday next to the forecast?
Not necessarily. The hourly and 3-hourly forecasts can include the past 24 hours, and the daily forecast can go back up to 48 hours. For weather station history further back, use Historical Weather.
I need past radar images. Which plan do I need?
The Stratus plan. It includes Weather Maps with every map layer, and the radar layers keep a short history, up to one day depending on the layer. For older dates, Historical Weather gives past weather as data.