Open-Meteo Weather Scraper - Forecast & Historical Data
Pricing
from $1.50 / 1,000 results
Open-Meteo Weather Scraper - Forecast & Historical Data
Fetch weather forecasts, historical weather data, and air quality data from Open-Meteo API. Supports multiple locations, hourly/daily granularity, temperature units. Free, no API key needed.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
cloud9
Maintained by CommunityActor stats
0
Bookmarked
34
Total users
9
Monthly active users
16 hours ago
Last modified
Categories
Share
Fetch weather forecasts, historical weather data, and air quality data from Open-Meteo API. Supports multiple locations, hourly/daily granularity, temperature units. Free, no API key needed.
Use cases
- Add a weather-driven feature to an app without an API key
- Correlate daily sales or footfall with temperature and rain
- Plan logistics, events, or field work around forecasts
- Build agricultural or energy-demand models
- Backfill historical weather for a location
Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | Yes | "forecast" | Data type to fetch Allowed: forecast, historical, airQuality. |
locations | array | Yes | [{"name":"Tokyo","latitude":35.6762,"longitude":139.6503}] | List of locations to fetch weather for. Each item must be an object with name, latitude, and longitude. Example: [{"name": "Tokyo", "latitude": 35.6762, "longitude": 139.6503}] |
startDate | string | No | — | Start date for historical mode (YYYY-MM-DD) |
endDate | string | No | — | End date for historical mode (YYYY-MM-DD) |
forecastDays | integer | No | 7 | Number of forecast days (1-16) |
granularity | string | No | "daily" | Data granularity Allowed: hourly, daily. |
temperatureUnit | string | No | "celsius" | Temperature unit Allowed: celsius, fahrenheit. |
Example input
{"mode": "forecast","locations": [{"name": "Tokyo","latitude": 35.6762,"longitude": 139.6503}],"forecastDays": 7,"granularity": "daily","temperatureUnit": "celsius"}
Output
The exact fields depend on the mode you run. This is real output from an actual run of this Actor:
{"locationName": "Tokyo","latitude": 35.6762,"longitude": 139.6503,"date": "2026-09-07","temperatureMax": 26.8,"temperatureMin": 20.9,"precipitation": 195.3,"windSpeedMax": 11.7,"weatherCode": 65,"weatherDescription": "Heavy rain"}
| Field | Type |
|---|---|
locationName | string |
latitude | number |
longitude | number |
date | string |
temperatureMax | number |
temperatureMin | number |
precipitation | number |
windSpeedMax | number |
weatherCode | number |
weatherDescription | string |
The dataset also ships a preset table view (Overview), so the key columns are readable straight away in Apify Console, and exportable to JSON, CSV, Excel, or XML.
How to run it
In Apify Console — open the Actor, fill in the input form, click Start, then download the results from the Dataset tab.
With the JavaScript client
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('cloud9_ai/open-meteo-scraper').call({"mode": "forecast","locations": [{"name": "Tokyo","latitude": 35.6762,"longitude": 139.6503}],"forecastDays": 7,"granularity": "daily","temperatureUnit": "celsius"});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
With the Python client
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('cloud9_ai/open-meteo-scraper').call(run_input={"mode": "forecast","locations": [{"name": "Tokyo","latitude": 35.6762,"longitude": 139.6503}],"forecastDays": 7,"granularity": "daily","temperatureUnit": "celsius"})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
With the API — POST https://api.apify.com/v2/acts/cloud9_ai~open-meteo-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN with the input JSON as the body.
Notes and limits
- No API key, account, or login is needed — just the input above.
- Requests to the source are paced to stay inside its rate limits.
- Only publicly available data is collected. How you use the output is your responsibility, including the source's terms of use and any applicable data-protection law.
Support
Found a bug, or need a field that isn't in the output? Open an issue on the Issues tab of this Actor in Apify Console. Issues there are read and answered.
License
Apache-2.0