# Open-Meteo on Onekey > 13 endpoints for Open-Meteo (13 stable, 0 beta), 1 to 5 credits each. Category: Maps, weather & space. One key, one JSON shape. Base URL: https://api.onekey.dev Auth: header `x-api-key: `. Call shape: `GET /v1/{platform}/{endpoint}?{params}`. Every response is `{success, data, metadata, error}`; check `success` first. Cost is in `metadata.credits_charged`. Free when served from cache (0.2 credit for a cached response over 100 KB). Failed and not-found calls are refunded. Status: stable = verified against the live source; beta = not yet verified, fields may be missing. Page: https://onekey.dev/platforms/openmeteo Reference (Markdown): https://onekey.dev/docs/api/openmeteo.md All docs: https://onekey.dev/llms.txt ## Canonical fields returned Unified-schema fields (same names on every platform), with how many of the 13 mapped Open-Meteo endpoints return each: - `place.lat` (number): 7 - `place.lon` (number): 7 - `place.timeZone` (string): 5 - `place.elevationM` (number): 4 - `entity.date` (ISO 8601 date): 3 - `entity.category` (string): 2 - `entity.description` (string): 2 - `entity.id` (string): 2 - `entity.name` (string): 2 - plus 46 platform-specific fields under `ext.` ## Endpoints ### openmeteo.air_quality Current air quality (PM, ozone, AQI) at a coordinate. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/air_quality?lat=52.52&lon=13.41` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - Fields returned: `entity.date`, `ext.pm10`, `ext.pm25`, `ext.co`, `ext.no2`, `ext.so2`, `ext.o3`, `ext.europeanAqi`, `ext.usAqi`, `ext.uvIndex` - Reference: https://onekey.dev/docs/api/openmeteo/air_quality.md ### openmeteo.air_quality_forecast Hourly air quality forecast (columnar arrays). - Price: 5 credits per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/air_quality_forecast?lat=52.52&lon=13.41` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - `days` (string, optional, default 2): Forecast days (1-7) - Fields returned: `ext.times`, `ext.pm10`, `ext.pm25`, `ext.o3`, `ext.europeanAqi`, `ext.usAqi` - Reference: https://onekey.dev/docs/api/openmeteo/air_quality_forecast.md ### openmeteo.climate Climate model projections (daily) 1950-2050 for a coordinate. - Price: 5 credits per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/climate?lat=52.52&lon=13.41&start=2030-01-01&end=2030-01-05` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - `start` (string, required): Date YYYY-MM-DD - `end` (string, required): Date YYYY-MM-DD - `model` (string, optional, default EC_Earth3P_HR): Climate model - Fields returned: `ext.dates`, `ext.temperatureMaxC`, `ext.temperatureMinC`, `ext.temperatureMeanC`, `ext.precipitationSumMm` - Reference: https://onekey.dev/docs/api/openmeteo/climate.md ### openmeteo.elevation Terrain elevation (m) at a coordinate. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/elevation?lat=52.52&lon=13.41` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - Fields returned: `place.elevationM` - Reference: https://onekey.dev/docs/api/openmeteo/elevation.md ### openmeteo.flood River discharge forecast (GloFAS) for the nearest river cell. - Price: 5 credits per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/flood?lat=52.52&lon=13.41` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - `days` (string, optional, default 7): Forecast days (1-92) - Fields returned: `ext.dates`, `ext.dischargeM3s`, `ext.dischargeMeanM3s`, `ext.dischargeMaxM3s` - Reference: https://onekey.dev/docs/api/openmeteo/flood.md ### openmeteo.forecast_current Current weather at a coordinate. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/forecast_current?lat=52.52&lon=13.41` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - Fields returned: `place.lat`, `place.lon`, `place.elevationM`, `place.timeZone`, `entity.date`, `ext.temperatureC`, `ext.apparentTemperatureC`, `ext.humidityPct`, `ext.precipitationMm`, `ext.weatherCode`, `ext.cloudCoverPct`, `ext.pressureHpa`, `ext.windSpeedKmH`, `ext.windDirectionDeg`, `ext.windGustsKmH`, `ext.isDay` - Reference: https://onekey.dev/docs/api/openmeteo/forecast_current.md ### openmeteo.forecast_daily Daily forecast (columnar arrays) for up to 16 days. - Price: 5 credits per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/forecast_daily?lat=52.52&lon=13.41` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - `days` (string, optional, default 7): Forecast days (1-16) - Fields returned: `place.lat`, `place.lon`, `place.timeZone`, `ext.dates`, `ext.weatherCode`, `ext.temperatureMaxC`, `ext.temperatureMinC`, `ext.sunrise`, `ext.sunset`, `ext.uvIndexMax`, `ext.precipitationSumMm`, `ext.precipitationProbabilityMaxPct`, `ext.windSpeedMaxKmH` - Reference: https://onekey.dev/docs/api/openmeteo/forecast_daily.md ### openmeteo.forecast_hourly Hourly forecast (columnar arrays) for up to 16 days. - Price: 5 credits per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/forecast_hourly?lat=52.52&lon=13.41` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - `days` (string, optional, default 2): Forecast days (1-16) - Fields returned: `place.lat`, `place.lon`, `place.timeZone`, `ext.times`, `ext.temperatureC`, `ext.humidityPct`, `ext.precipitationProbabilityPct`, `ext.precipitationMm`, `ext.weatherCode`, `ext.windSpeedKmH`, `ext.visibilityM` - Reference: https://onekey.dev/docs/api/openmeteo/forecast_hourly.md ### openmeteo.geocode Search places by name (worldwide gazetteer). - Price: 5 credits per fresh call. Status: stable. Returns: a list. - Request: `GET https://api.onekey.dev/v1/openmeteo/geocode?q=Berlin` with header `x-api-key: YOUR_API_KEY` - Parameters: - `q` (string, required): Place name - `count` (string, optional, default 5): Rows (1-20) - Fields returned: `entity.id`, `entity.name`, `entity.category`, `entity.description`, `place.lat`, `place.lon`, `place.elevationM`, `place.timeZone`, `ext.symbol`, `ext.population` - Reference: https://onekey.dev/docs/api/openmeteo/geocode.md ### openmeteo.geocode_id One place by GeoNames id. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/geocode_id?id=2950159` with header `x-api-key: YOUR_API_KEY` - Parameters: - `id` (string, required): GeoNames id - Fields returned: `entity.id`, `entity.name`, `entity.category`, `entity.description`, `place.lat`, `place.lon`, `place.elevationM`, `place.timeZone`, `ext.symbol`, `ext.population` - Reference: https://onekey.dev/docs/api/openmeteo/geocode_id.md ### openmeteo.historical Historical daily weather (ERA5 reanalysis) between two dates. - Price: 5 credits per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/historical?lat=52.52&lon=13.41&start=2024-01-01&end=2024-01-05` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - `start` (string, required): Date YYYY-MM-DD - `end` (string, required): Date YYYY-MM-DD - Fields returned: `place.lat`, `place.lon`, `ext.dates`, `ext.temperatureMaxC`, `ext.temperatureMinC`, `ext.temperatureMeanC`, `ext.precipitationSumMm`, `ext.windSpeedMaxKmH` - Reference: https://onekey.dev/docs/api/openmeteo/historical.md ### openmeteo.historical_forecast Past model forecasts (hourly temperature, precipitation) between two dates. - Price: 5 credits per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/historical_forecast?lat=52.52&lon=13.41&start=2024-01-01&end=2024-01-02` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - `start` (string, required): Date YYYY-MM-DD - `end` (string, required): Date YYYY-MM-DD - Fields returned: `place.lat`, `place.lon`, `ext.times`, `ext.temperatureC`, `ext.precipitationMm`, `ext.windSpeedKmH` - Reference: https://onekey.dev/docs/api/openmeteo/historical_forecast.md ### openmeteo.marine Marine conditions (waves, swell, sea temperature) at an ocean coordinate. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openmeteo/marine?lat=54.5&lon=8.0` with header `x-api-key: YOUR_API_KEY` - Parameters: - `lat` (string, required): Latitude in decimal degrees (-90..90) - `lon` (string, required): Longitude in decimal degrees (-180..180) - `days` (string, optional, default 3): Forecast days (1-8) - Fields returned: `entity.date`, `ext.waveHeightM`, `ext.waveDirectionDeg`, `ext.wavePeriodS`, `ext.swellHeightM`, `ext.windWaveHeightM`, `ext.dates`, `ext.waveHeightMaxM`, `ext.waveDirectionDominantDeg`, `ext.wavePeriodMaxS` - Reference: https://onekey.dev/docs/api/openmeteo/marine.md ## Sample request ```bash curl "https://api.onekey.dev/v1/openmeteo/air_quality?lat=52.52&lon=13.41" \ -H "x-api-key: YOUR_API_KEY" ```