Request a tool
All toolsMCP 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.

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.

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 coordinatestring
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 directarray
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,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 wostring

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.