← clify home · catalogue

open-meteo API for agents (unofficial) — JSON over curl | clify

Open-Meteo: free, keyless weather APIs. The CLI provides forecasts, historical reanalysis, archived and previous model runs, ensembles, seasonal and climate projections, marine, air quality, satellite radiation, flood, elevation, geocoding and CSV export.

Host: open-meteo.com. Call these verified read commands with plain curl; no install, key, or account. Use the public JSON API with plain curl. No install, key, account, or browser is needed. Example: curl 'https://clify-dev.netlify.app/sites.json'. Start with /search?q=weather, then call /abc/COMMAND. Responses are one JSON object. The hosted MCP and GitHub repo are also available.

Commands

search-locations

Find places by name or postal code and get their coordinates, timezone, country and population. Use this first to turn a city name into latitude/longitude. Params: name*, count, language, countryCode

curl 'https://clify-dev.netlify.app/open-meteo/search-locations?name=London&count=10&language=en&countryCode=US'

get-forecast

Weather forecast for one or more coordinates: current conditions plus hourly and daily variables, up to 16 days ahead and 92 past days, with an optional national model (e.g. DWD ICON). Params: latitude*, longitude*, hourly, daily, current, timezone, forecast_days, past_days, start_date, end_date, models, temperature_unit, wind_speed_unit, precipitation_unit, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-forecast?latitude=48.85&longitude=2.35&hourly=temperature_2m%2Cprecipitation&daily=temperature_2m_max%2Ctemperature_2m_min%2Csunrise%2Csunset&current=temperature_2m%2Cwind_speed_10m%2Cweather_code&timezone=Europe%2FParis&forecast_days=3&past_days=2&start_date=2026-10-18&end_date=2026-10-20&models=dwd_icon_seamless'

export-forecast-csv

Download a weather forecast as CSV text (the docs page's CSV export), for spreadsheets or bulk processing. Params: latitude*, longitude*, hourly, daily, timezone, forecast_days, past_days, models

curl 'https://clify-dev.netlify.app/open-meteo/export-forecast-csv?latitude=52.52&longitude=13.41&hourly=temperature_2m&daily=temperature_2m_max&timezone=auto&forecast_days=3&past_days=0&models=dwd_icon_seamless'

get-historical-weather

Historical observed-like weather (ERA5 reanalysis, 1940 to a few days ago) for coordinates over a date range, as hourly and/or daily variables. Params: latitude*, longitude*, start_date*, end_date*, hourly, daily, timezone, models, temperature_unit, wind_speed_unit, precipitation_unit, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-historical-weather?latitude=52.52&longitude=13.41&start_date=2024-01-01&end_date=2024-01-31&hourly=temperature_2m&daily=temperature_2m_max%2Cprecipitation_sum&timezone=auto&models=era5'

export-historical-csv

Download historical (ERA5) weather for a date range as CSV text. Params: latitude*, longitude*, start_date*, end_date*, hourly, daily, timezone

curl 'https://clify-dev.netlify.app/open-meteo/export-historical-csv?latitude=52.52&longitude=13.41&start_date=2024-01-01&end_date=2024-01-31&hourly=temperature_2m&daily=temperature_2m_max%2Cprecipitation_sum&timezone=auto'

get-historical-forecast

Archived high-resolution model forecasts (from 2022 onward) for coordinates and a date range, with the same variables and models as the forecast API. Params: latitude*, longitude*, start_date*, end_date*, hourly, daily, timezone, models, temperature_unit, wind_speed_unit, precipitation_unit, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-historical-forecast?latitude=52.52&longitude=13.41&start_date=2025-06-01&end_date=2025-06-07&hourly=temperature_2m&daily=temperature_2m_max&timezone=auto&models=dwd_icon_seamless'

get-previous-runs

Compare forecasts from earlier model runs at fixed lead times by requesting <variable>_previous_dayN variables alongside the current run. Params: latitude*, longitude*, hourly*, past_days, forecast_days, start_date, end_date, models, timezone, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-previous-runs?latitude=52.52&longitude=13.41&hourly=temperature_2m%2Ctemperature_2m_previous_day1&past_days=7&forecast_days=1&start_date=2026-10-10&end_date=2026-10-17&models=ecmwf_ifs025&timezone=auto'

get-single-run

Full forecast horizon of one specific model run, identified by its initialisation time. Params: latitude*, longitude*, run*, models*, hourly, forecast_days, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-single-run?latitude=52.52&longitude=13.41&run=2026-10-17T00%3A00&models=ecmwf_ifs&hourly=temperature_2m&forecast_days=7'

get-ensemble-forecast

Ensemble forecast with every perturbed member (variable_memberNN), or ensemble mean/spread when you pass a *_ensemble_mean_* model. Params: latitude*, longitude*, models*, hourly, daily, forecast_days, past_days, timezone, temperature_unit, wind_speed_unit, precipitation_unit, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-ensemble-forecast?latitude=52.52&longitude=13.41&models=dwd_icon_eps_ensemble_mean_seamless&hourly=temperature_2m&daily=temperature_2m_max&forecast_days=7&past_days=0&timezone=auto'

get-seasonal-forecast

Long-range seasonal and sub-seasonal forecast (ECMWF SEAS5 / EC46, about 6-7 months) with ensemble members. Params: latitude*, longitude*, daily, forecast_days, past_days, models, timezone, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-seasonal-forecast?latitude=52.52&longitude=13.41&daily=temperature_2m_max&forecast_days=45&past_days=0&models=ecmwf_seas5&timezone=auto'

get-climate-projection

Downscaled daily climate-change projections from CMIP6 models for 1950-2050 at a location. Params: latitude*, longitude*, start_date*, end_date*, models*, daily*, temperature_unit, precipitation_unit, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-climate-projection?latitude=52.52&longitude=13.41&start_date=2050-01-01&end_date=2050-12-31&models=MRI_AGCM3_2_S&daily=temperature_2m_max'

get-marine-forecast

Marine forecast for a sea location: wave height, direction and period, swell, and ocean currents. Params: latitude*, longitude*, hourly, daily, current, forecast_days, past_days, timezone, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-marine-forecast?latitude=54.54&longitude=10.23&hourly=wave_height%2Cwave_direction%2Cwave_period&daily=wave_height_max&current=wave_height&forecast_days=7&past_days=0&timezone=auto'

get-air-quality

Air quality forecast: pollutants (PM10, PM2.5, ozone, NO2, ...), pollen, and European/US AQI, both hourly and current. Params: latitude*, longitude*, hourly, current, forecast_days, past_days, timezone, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-air-quality?latitude=48.85&longitude=2.35&hourly=pm10%2Cpm2_5%2Cozone&current=european_aqi&forecast_days=5&past_days=0&timezone=auto'

get-satellite-radiation

Satellite-derived solar irradiance (GHI, direct, diffuse, DNI) for a location, near-real-time and archive. Params: latitude*, longitude*, hourly, models, temporal_resolution, forecast_days, past_days, start_date, end_date, timezone, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-satellite-radiation?latitude=52.52&longitude=13.41&hourly=shortwave_radiation&models=satellite_radiation_seamless&temporal_resolution=native&forecast_days=1&past_days=0&start_date=2026-10-10&end_date=2026-10-11&timezone=auto'

get-flood-forecast

Simulated river discharge (GloFAS) near a location, for flood forecasting: 1984 up to about 7 months ahead. Params: latitude*, longitude*, daily*, forecast_days, past_days, start_date, end_date, ensemble, timeformat

curl 'https://clify-dev.netlify.app/open-meteo/get-flood-forecast?latitude=59.91&longitude=10.75&daily=river_discharge&forecast_days=92&past_days=0&start_date=2024-01-01&end_date=2024-03-31'

get-elevation

Terrain elevation in meters (Copernicus DEM, 90 m) for one or more coordinates. Params: latitude*, longitude*

curl 'https://clify-dev.netlify.app/open-meteo/get-elevation?latitude=47.37&longitude=8.55'