Open-Meteo API

Get Open-Meteo data as clean JSON with one key: 13 endpoints, 1 to 5 credits per call, the same response shape as every other platform.

What you get#

Onekey exposes Open-Meteo as 13 endpoints behind one API key: 12 endpoints return one record (data is an object) and 1 endpoint return a list (data is an array). Every answer uses the same envelope (success, data, metadata, error), the cost is reported in metadata.credits_charged, and fields are mapped onto the unified schema so the code you write for Open-Meteo also works for the rest of the maps, weather & space category.

Endpoints#

EndpointWhat it doesParametersCreditsStatus
air_qualityCurrent air quality (PM, ozone, AQI) at a coordinate.lat*, lon*1stable
air_quality_forecastHourly air quality forecast (columnar arrays).lat*, lon*, days5stable
climateClimate model projections (daily) 1950-2050 for a coordinate.lat*, lon*, start*, end*, model5stable
elevationTerrain elevation (m) at a coordinate.lat*, lon*1stable
floodRiver discharge forecast (GloFAS) for the nearest river cell.lat*, lon*, days5stable
forecast_currentCurrent weather at a coordinate.lat*, lon*1stable
forecast_dailyDaily forecast (columnar arrays) for up to 16 days.lat*, lon*, days5stable
forecast_hourlyHourly forecast (columnar arrays) for up to 16 days.lat*, lon*, days5stable
geocodeSearch places by name (worldwide gazetteer).q*, count5stable
geocode_idOne place by GeoNames id.id*1stable
historicalHistorical daily weather (ERA5 reanalysis) between two dates.lat*, lon*, start*, end*5stable
historical_forecastPast model forecasts (hourly temperature, precipitation) between two dates.lat*, lon*, start*, end*5stable
marineMarine conditions (waves, swell, sea temperature) at an ocean coordinate.lat*, lon*, days1stable

A * marks a required parameter. Each endpoint name links to its reference page with the full parameter table, caching window and a recorded response.

Make a request#

This calls openmeteo.air_quality (1 credit, stable). Replace YOUR_API_KEY with your key; sign up, no card. 1,000 free credits cover the open-platform endpoints. Hard-to-reach platforms (X, TikTok, Instagram, Reddit, and others marked on their page) need a verified email and a purchased pack.

curl "https://api.onekey.dev/v1/openmeteo/air_quality?lat=52.52&lon=13.41" \
  -H "x-api-key: YOUR_API_KEY"

Fields you get back#

These unified fields come back from Open-Meteo, with the same names as on every other platform. The count is how many of its 13 mapped endpoints return the field; a field the source lacks is null, never missing. 46 platform-specific fields (ext.<name>) come on top, documented on each endpoint page.

FieldTypeEndpoints
place.latnumber7
place.lonnumber7
place.timeZonestring5
place.elevationMnumber4
entity.dateISO 8601 date3
entity.categorystring2
entity.descriptionstring2
entity.idstring2
entity.namestring2

The full schema is in Unified schema.

Pricing#

Open-Meteo calls cost 1 to 5 credits, flat per endpoint. Free when served from cache (0.2 credit for a cached response over 100 KB). Invalid, failed or not-found calls are not charged. See pricing for credit packs.