Historical Weather Data
Pricing
Pay per usage
Historical Weather Data
Historical and forecast weather for any location by name or coordinates. Daily and hourly, no API key.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Ken Agland
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Historical and forecast weather for any location by name or coordinates. Daily and hourly, no API key.
This Actor uses the free Open-Meteo API. It needs no API key or sign-up.
What it does
- Looks up daily weather for one or more locations, given by name or by
lat,lon. - Geocodes place names to coordinates automatically.
- Serves past days from the historical archive and recent or future days from the forecast, merged by date.
- Optional hourly temperature nested inside each daily item.
- Metric or imperial units.
Example input
{"locations": ["London","Tokyo"],"startDate": "2025-06-01","endDate": "2025-06-05","hourly": false,"units": "metric"}
Input
| Field | Type | Description |
|---|---|---|
locations | array | One or more place names (for example "Tokyo") or "lat,lon" pairs (for example "51.5,-0.12"). |
startDate | string | First day, YYYY-MM-DD. Defaults to seven days before the end date. |
endDate | string | Last day, YYYY-MM-DD. Defaults to today. |
hourly | boolean | Add an hourly temperature array to each daily item. Default false. |
units | string | metric (C, mm, km/h) or imperial (F, in, mph). Default metric. |
Output
One dataset item per location per day:
{"location": "London","resolvedName": "London, England, United Kingdom","latitude": 51.5,"longitude": -0.12,"date": "2025-06-01","tempMaxC": 21.3,"tempMinC": 11.8,"precipitationMm": 0,"windSpeedMax": 18.7,"windSpeedUnit": "km/h","units": "metric","source": "archive"}
With imperial units the numeric keys become tempMaxF, tempMinF, and precipitationIn, and windSpeedMax is in mph. When hourly is true, each item also carries an hourly array of { "time", "temp" } readings for that day.
Run summary (OUTPUT)
The run's default key-value store record OUTPUT holds an aggregate:
{"query": {"locations": ["London","Tokyo"],"startDate": "2025-06-01","endDate": "2025-06-05","hourly": false,"units": "metric"},"locationsRequested": 2,"locationsResolved": 2,"resolved": [{"location": "London","resolvedName": "London, England, United Kingdom","latitude": 51.5,"longitude": -0.12}],"dayCount": 5,"dateRange": {"start": "2025-06-01","end": "2025-06-05"},"itemsPushed": 10,"generatedFrom": "https://open-meteo.com"}
How it works
Each location is geocoded to coordinates (coordinate pairs are used directly). The date window is split: days older than the archive lag are read from the Open-Meteo archive API, while recent and future days come from the forecast API. The two sets are merged by date, so a range that straddles today returns a single continuous series. All requests retry on rate limits and server errors with backoff, and locations that cannot be resolved are skipped without failing the run.