Historical Weather Data
Pricing
$0.50 / 1,000 weather records
Historical Weather Data
Historical and forecast weather for any location by name or coordinates. Daily and hourly, no API key.
Pricing
$0.50 / 1,000 weather records
Rating
0.0
(0)
Developer
Ken Agland
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month 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.