ParseForge Scrapers

Open-Meteo Weather Scraper

parseforge/open-meteo-weather-scraper

TravelAutomationOther

Scrapes weather forecasts and historical data from Open-Meteo for any list of coordinates. Returns each time step as a flat row with temperature, humidity, wind speed, and precipitation.

Run this scraper See the API call
Total users
1
Monthly active
0
Total runs
132
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

Open-Meteo Weather Scraper

Scrape weather forecasts and historical data for any location worldwide, up to a million records per run. Each row returns temperature, humidity, wind speed, and precipitation in a flat, analysis-ready schema. No API key required. Export to CSV, JSON, Excel, or XML.

Open-Meteo's free weather API is capable, but querying it at scale means writing pagination logic, handling rate limits, and managing API parameters. This Actor reads forecast and historical archive data directly, letting you pull daily or hourly weather variables for multiple locations in one run. You get clean, structured datasets without writing a single line of code.

Who uses it What they scrape Open-Meteo for
Data scientists Building time-series models with clean, hourly weather archives for any global coordinate.
Logistics planners Pulling 16-day forecasts for multiple warehouse locations to anticipate weather delays.
Agritech analysts Collecting historical precipitation and temperature data to correlate with crop yields.
Insurance underwriters Assembling decades of wind and hail data for specific property coordinates to inform risk models.

What it does

This Actor collects weather data from Open-Meteo for any list of coordinates, in forecast or historical mode, and returns each time step as a flat row.

  • ๐Ÿ“… Forecast mode: Pulls the next 16 days of weather predictions for each location.
  • ๐Ÿ“œ Historical archive: Accesses data back to 1940 for long-term climate analysis.
  • ๐Ÿ•’ Hourly or daily granularity: Choose hourly readings (24 rows per day) or a single daily summary row.
  • ๐ŸŒก๏ธ Unit selection: Output temperature in Celsius or Fahrenheit.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Open-Meteo data

๐Ÿ“ˆ Train a weather-aware demand model.

A retail data scientist pulls hourly historical weather for 500 store locations to join with sales data and forecast foot traffic.

๐Ÿšš Plan a week of deliveries.

A logistics coordinator runs a daily forecast for 20 distribution centers to flag routes with high wind or snow risk.

๐ŸŒพ Validate an agricultural insurance claim.

An adjuster pulls the exact daily rainfall for a farm's coordinates during a claimed drought period to verify the loss.

๐Ÿ—๏ธ Schedule outdoor construction work.

A project manager pulls hourly forecasts for a job site to decide which days are safe for crane operations.

Why choose this scraper

What you get
No API key Uses Open-Meteo's public endpoints, so you never register an app or manage a token.
Bulk locations Input dozens or thousands of coordinates at once, each returning its own set of rows.
Fixed schema Every run outputs the same flat columns, ready for pandas, Excel, or a database.

How it compares

This Actor focuses on bulk coordinate-based scraping with full historical depth, while other Open-Meteo scrapers offer different input methods or narrower date ranges.

Feature ParseForge Open Meteo Scraper Weather Forecast API Open-Meteo Weather Scraper - Current + Daily Forecast
Historical data back to 1940 Yes Yes Not listed Not listed
Bulk coordinate input Yes, multiple lat/lng pairs per run Not listed Not listed Not listed
Hourly granularity Yes Yes Not listed Not listed
City name input Not listed Not listed Yes Not listed
Current conditions Not listed Yes Yes Yes

Configure the run

Drive the Actor with a list of latitude and longitude pairs, and set the mode, date range, and granularity to control exactly which weather records land in your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10,
 "mode": "forecast",
 "locations": "52.52,13.41\n40.71,-74.01\n35.68,139.65",
 "startDate": "2024-01-01",
 "endDate": "2024-01-07",
 "granularity": "daily",
 "temperatureUnit": "celsius"
}

A larger pull:

{
 "maxItems": 200,
 "mode": "forecast",
 "locations": "52.52,13.41\n40.71,-74.01\n35.68,139.65",
 "startDate": "2024-01-01",
 "endDate": "2024-01-07",
 "granularity": "daily",
 "temperatureUnit": "celsius"
}

Pricing

Pay-per-result: $0.016 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $1.60
1,000 results $16.00
10,000 results $160.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Open-Meteo Weather Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Open-Meteo through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/open-meteo-weather-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your coordinates are valid numbers in 'latitude,longitude' format, one per line. For historical mode, ensure the start and end dates are within the supported range and that the start date is before the end date.

The run failed with an error.

Verify your input format. The locations field must contain only comma-separated decimal coordinates. Extra spaces or invalid characters can cause a failure. Also, check that your date format is exactly YYYY-MM-DD.

I only got data for a few days, not the full range.

The maximum records setting limits the total output rows. If you are pulling hourly data for many locations, you may hit this limit. Increase the maximum records value and rerun.

The forecast data seems different from another weather app.

Different weather models produce different forecasts. This Actor uses Open-Meteo's default model. Small variations between providers are normal.

My historical request is slow for a long date range.

Pulling decades of hourly data for many locations is a large job. Try reducing the date range, switching to daily granularity, or running fewer locations per execution to speed it up.

FAQ

Question Answer
Do I need an API key for Open-Meteo? No. This Actor uses Open-Meteo's public endpoints, which do not require an API key or authentication.
How far back can I get historical weather data? The historical archive reaches back to 1940, depending on the variable and location. Set your start and end dates in the input to define the range.
Can I get weather for a city name instead of coordinates? The Actor requires latitude and longitude pairs. You can geocode city names with another tool first, then feed the coordinates here.
What is the difference between daily and hourly granularity? Daily returns one row per location per day with aggregated values. Hourly returns 24 rows per day, one for each hour, with the specific reading for that time.
How many locations can I scrape in one run? You can input as many coordinates as you like. The maximum records setting controls the total number of output rows across all locations.
Does this Actor get current weather conditions? The forecast mode includes the current day's predicted conditions. For real-time observations, Open-Meteo's current conditions endpoint is not yet included in this Actor.
What weather variables are returned? The dataset includes temperature, humidity, wind speed, precipitation, and other standard variables. The exact field list is shown in the sample output on the Actor's page.
Can I change the temperature unit? Yes. Use the temperature unit input to select Celsius or Fahrenheit for all temperature fields in the output.
Is there a cost to run this Actor? You pay only for the Apify platform usage. Open-Meteo itself is a free API, so there are no data access fees.
What export formats are supported? You can export your dataset in CSV, JSON, Excel, or XML from the Apify run console.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Open-Meteo. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many weather records to collect per run. 10
mode string (2 options) Pick forecast or historical archive. forecast
locations string One `latitude,longitude` per line. Each location returns its own dataset row(s). Examples: `52.52,13.41` (Berlin), `40.71,-74.01` (NYC), `35.68,139.65` (Tokyo). 52.52,13.41 40.71,-74.01 35.68,139.65
startDate string YYYY-MM-DD. Only for historical mode. 2024-01-01
endDate string YYYY-MM-DD. Only for historical mode. 2024-01-07
granularity string (2 options) Hourly produces 24 rows per day per location; daily produces 1 row per day. daily
temperatureUnit string (2 options) Celsius or Fahrenheit. celsius

Pricing

from $12.00 per 1,000 results

Charged forWhat it isPrice each
Result item Charged per record successfully returned in the dataset. $0.012 to $0.016

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~open-meteo-weather-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Open-Meteo Weather Scraper on Apify All scrapers