Open-Meteo Weather Scraper - Forecast & Historical Data avatar

Open-Meteo Weather Scraper - Forecast & Historical Data

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Open-Meteo Weather Scraper - Forecast & Historical Data

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

cloud9

Maintained by Community

Actor stats

0

Bookmarked

34

Total users

9

Monthly active users

16 hours ago

Last modified

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

ParameterTypeRequiredDefaultDescription
modestringYes"forecast"Data type to fetch Allowed: forecast, historical, airQuality.
locationsarrayYes[{"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}]
startDatestringNoStart date for historical mode (YYYY-MM-DD)
endDatestringNoEnd date for historical mode (YYYY-MM-DD)
forecastDaysintegerNo7Number of forecast days (1-16)
granularitystringNo"daily"Data granularity Allowed: hourly, daily.
temperatureUnitstringNo"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"
}
FieldType
locationNamestring
latitudenumber
longitudenumber
datestring
temperatureMaxnumber
temperatureMinnumber
precipitationnumber
windSpeedMaxnumber
weatherCodenumber
weatherDescriptionstring

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 ApifyClient
client = 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 APIPOST 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