Weather Data — Multi-Location Forecasts (Open-Meteo) avatar

Weather Data — Multi-Location Forecasts (Open-Meteo)

Pricing

from $0.33 / 1,000 weather data rows

Go to Apify Store
Weather Data — Multi-Location Forecasts (Open-Meteo)

Weather Data — Multi-Location Forecasts (Open-Meteo)

Current conditions, hourly and daily forecasts, and air quality for one or many cities or GPS coordinates in a single run, from Open-Meteo (free, no API key). Bulk multi-location queries with built-in geocoding; one clean JSON row per location per period slice.

Pricing

from $0.33 / 1,000 weather data rows

Rating

0.0

(0)

Developer

Leonardo Santos

Leonardo Santos

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Current conditions, hourly and daily forecasts, and air quality for one city or a hundred — in a single run. Give it place names (Berlin, Sao Paulo) or GPS coordinates (52.52, 13.41); it geocodes them, fetches every requested period slice from Open-Meteo (a free public API — no API key, no upstream cost), and returns one clean JSON row per location per slice, with explicit units and null-safe optional variables.

Why this actor?

  • Bulk multi-location in one run — the wedge: geocoding + forecast + air quality for up to 100 locations in a single call, one bill.
  • Free upstream, no key — you pay only for the convenience of a typed, unified, agent-ready dataset.
  • Null-safe rows — unavailable variables are explicit null, never dropped rows or crashes.
  • Flat, typed output — every row carries location identity, source, period, timestamp, and units, so downstream pipelines (dashboards, LLM/MCP agents) can merge locations without re-resolving anything.
  • Predictable billing — one charge per delivered row, charged only after the row lands in your dataset; errors are free.

Input

{
"locations": [
{ "query": "Berlin" },
{ "query": "Paris" },
{ "lat": 40.7128, "lon": -74.006 }
],
"current": true,
"hourly": ["temperature_2m", "precipitation", "wind_speed_10m"],
"daily": ["temperature_2m_max", "precipitation_sum"],
"air_quality": ["us_aqi"],
"forecast_days": 1,
"units": "metric",
"max_locations": 100
}

locations is required. Every other field has a sensible default: current conditions on, 1 forecast day, metric units, auto timezone, up to 100 locations (a hard, locally enforced cap).

Output

One row per location per requested period slice:

{
"location": { "query": "Berlin", "lat": 52.52, "lon": 13.41, "resolved_name": "Berlin, Germany" },
"source": "open-meteo",
"period": "current",
"timestamp": "2026-08-07T12:15:00.000Z",
"temperature_2m": 24.1,
"relative_humidity_2m": 58,
"wind_speed_10m": 11.2,
"units": { "temperature_2m": "°C", "wind_speed_10m": "km/h" }
}

Hourly and daily rows carry period: "hourly" / "daily" and one timestamp per hour or day; air-quality rows carry period: "air_quality" with variables like us_aqi, pm2_5, pm10. Dataset views split the periods for you.

Pricing

Pricing

Pay per event, and the platform usage is on us — the price you see is the price you pay, with no compute bill on top.

EventPriceWhat one charge buys
Weather data row$0.0005Charged once per delivered weather row — one location per requested period slice (current, hourly, daily, or air quality). Rows are charged only after they are pushed to the dataset; unresolvable locations, empty results, and upstream failures are free error items and never charged.
Actor Start$0.002One run, whatever it returns.

Higher Apify subscription tiers pay less on every event (Silver −20%, Gold −35%).

Use cases

  • Multi-city current conditions — dashboards and ops boards with one run per refresh instead of N curls.
  • Hourly forecast feeds — energy, logistics, or agriculture pipelines that need hour-by-hour temperature/precipitation/wind.
  • Air-quality monitoring — US/EU AQI plus particulate and gas concentrations for a list of cities.
  • LLM/MCP tooling — clean, typed JSON with units on every row; no scraping, no parsing of a free API yourself.

FAQ

Does this actor need an API key? No. Open-Meteo is a free public API — there is no upstream cost, ever. (A future OpenWeatherMap secondary source would use a user-supplied free-tier key.)

How many locations can I query? Up to max_locations (default 100, hard cap 100). The cap is enforced locally before any request — the upstream would accept more, we never fetch or bill more.

What is a "row" for billing? One location × one period slice: a current block is one row, an hourly slice is one row per hour, a daily slice is one row per day, an air-quality block is one row. A 10-city current-conditions run is 10 rows.

What happens when a city can't be resolved? It becomes a free error item with the message in the error field — the rest of your locations still return. Empty results and upstream failures are free too; nothing is charged that isn't delivered.


This Actor is an independent tool and is not affiliated with Open-Meteo. Weather data is provided by the free Open-Meteo API (api.open-meteo.com, geocoding-api.open-meteo.com, air-quality-api.open-meteo.com).