Request a tool
All toolsGuidesMCP serverRequest a toolPlatformsCategories
Open-Meteo Weather Scraper icon

Open-Meteo Weather Scraper

Get current weather or a multi-day forecast for any city by name from the free Open-Meteo API. Temperature, wind, humidity, precipitation. No API key.

5 from 1 review on Apify 67 runs on Apify $0.0002 per weather result ($0.2 / 1,000)
Run this in the cloudRun on Apify →

Weather Data

How it works

  1. 1
    Open it on Apify

    Hit Run on Apify — it opens the tool in the cloud, no install.

  2. 2
    Set the inputs

    Adjust mode, places, latitude (sensible defaults are pre-filled).

  3. 3
    Click Run

    The tool runs on Apify’s cloud and collects the data for you.

  4. 4
    Export the results

    Download as JSON, CSV or Excel, or pipe straight into your app, Google Sheets, or an AI agent.

Pricing

$0.0002 per weather result = $0.2 per 1,000

You are charged forWhenPrice
Weather resultCharged per weather/geocode row returned.$0.0002
Actor StartCharged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).$0.001

Pay-per-event pricing: you are billed per result, not per subscription — a run that returns nothing costs nothing beyond the start fee. Billing is handled by Apify on your own account. These are the live Apify store prices, in effect since 2026-08-04, and they are what you are actually charged.

Inputs

FieldWhat it doesType
modeWhat to return: "current" = current conditions per place, "forecast" = one row per day (up to Forecast days), "geocode" = just resolve place names to coordinates and metadata.string
placesList of place names to look up (e.g. ["Berlin", "Tokyo", "New York"]). Each is geocoded to its top match. Leave empty if you provide Latitude + Longitude directly.array
latitudeOptional. Use exact coordinates instead of a place name. Only used when Places is empty. Must be paired with Longitude. Example: 52.52.string
longitudeOptional. Use exact coordinates instead of a place name. Only used when Places is empty. Must be paired with Latitude. Example: 13.41.string
forecastDaysNumber of days to return in forecast mode (1-16). Ignored in current / geocode modes.integer
maxItemsMaximum total output rows across all places. Caps forecast rows too (each forecast day is one row).integer
notionConnectorOptional. Write each item as a page into your Notion when the run finishes. Authorize a Notion connector once in Settings → API & Integrations → MCP connectors, then pick it here. Leave empty to skip (default) — results are always saved to the dataset regardless.string
notionParentIdOptional. The Notion data source ID of the database to write into (only used if a Notion connector is set). Leave empty to create the pages privately in your workspace instead.string

What you get

A structured dataset — each result includes fields like:

apparentTemperaturedatehumiditylatitudelongitudeplaceprecipitationprecipitationSumtempMaxtempMintemperaturetimetimezoneweather

Export every run as JSON, CSV or Excel, or send it to your app, a database, Google Sheets, or an AI agent.

2 ready-to-run use cases

Current Weather for Multiple Cities, No API Key

Current temperature, humidity, and wind for a list of cities from Open-Meteo, no API key required. City-level weather data for dashboards and apps.

7-Day Weather Forecast by City, Daily Highs & Lows

One row per day for the week ahead: highs, lows, wind, and precipitation from Open-Meteo. Forecast mode lets you set how many days to pull.

Open-Meteo Weather Scraper

Look up current weather or a multi-day forecast for any place on Earth — by name or by coordinates — using the free Open-Meteo API. No API key, no login, no sign-up.

Give it a list of place names (["Berlin", "Tokyo", "New York"]) and it geocodes each to its top match, then returns clean, structured weather rows with a human-readable description (e.g. Partly cloudy, Slight rain, Thunderstorm) instead of a raw WMO code.

Modes

  • current — current conditions per place: temperature, feels-like, humidity, precipitation, wind, weather text.
  • forecast — one row per day (up to Forecast days, max 16): daily high/low, precipitation total, max wind, weather text.
  • geocode — just resolve place names to coordinates + metadata (country, region, timezone, population). No weather call.

What you get per row

geocode: place, name, latitude, longitude, country, admin1 (region/state), timezone, population.

current: place, latitude, longitude, time, temperature, apparentTemperature, humidity, precipitation, windSpeed, weatherCode, weather (text), timezone.

forecast (one row per day): place, latitude, longitude, date, tempMax, tempMin, precipitationSum, windSpeedMax, weatherCode, weather (text).

Units are Open-Meteo defaults: temperatures in °C, wind in km/h, precipitation in mm.

Input

FieldNotes
modecurrent (default), forecast, or geocode.
placesList of place names. Each is geocoded to its top match.
latitude / longitudeOptional exact coordinates, used only when places is empty.
forecastDaysDays for forecast mode, 1–16 (default 7).
maxItemsCaps total output rows across all places (default 100).

You must provide either places or both latitude and longitude.

Output

One dataset row per place (geocode/current) or per day (forecast). Pricing is pay-per-result: you are only charged for genuine result rows (ok: true). Rows we couldn't deliver are never charged — this includes:

  • empty/invalid input (a single ok: false row with errorCode: "BAD_INPUT" — e.g. no place and no coordinates, or an unknown mode),
  • a place that couldn't be geocoded / produced no data (NO_RESULTS),
  • rate limits or network errors (RATE_LIMITED / NETWORK).

When some places resolve and others don't, the unresolved ones are listed under unresolved on the run log; the resolved rows are still returned and charged.

Proxy

Open-Meteo is a public, no-auth JSON API with no anti-bot, so no proxy is required and the default runs without one (saving proxy credits). Only enable Apify Proxy if you hit IP rate limits at very high volume.

Troubleshooting

  • Getting a BAD_INPUT row? Provide places, or both latitude and longitude, and a valid mode.
  • A place came back as NO_RESULTS? Try a more specific name (add the country, e.g. "Springfield, US"), or use direct coordinates.

Example

{ "mode": "forecast", "places": ["Paris", "Madrid"], "forecastDays": 5 }

Notes

Weather codes follow the WMO interpretation table and are mapped to short English text in the weather field; the raw number is kept in weatherCode. Data and geocoding come from Open-Meteo — please review their terms for attribution and fair-use limits at high volume.

Pricing

$0.20 per 1,000 rows ($0.0002 each), plus $0.001 each time a run starts. Flat rate — no volume tiers, no plan gates — and you are charged only for rows actually returned.

In forecast mode a row is one day, so a 7-day forecast for 10 cities is 70 rows: $0.014 plus the start fee. In current and geocode mode a row is one place.

Billing

Two charges apply: a $0.001 run-start fee each time a run begins, and $0.0002 per result row delivered. Samples, diagnostics, duplicates, blocked look-ups and no-result runs never incur the per-result fee — a run that returns nothing costs only the $0.001 start fee. No proxy is used by default, so there is no proxy line on your bill.