{"openapi":"3.1.0","info":{"title":"Climate Projections API","version":"1.0.0","description":"Long-term climate projections as an API — daily, downscaled output from high-resolution CMIP6 global climate models for any location on Earth, from 1950 all the way to 2050. See how temperature, precipitation, wind and humidity are projected to change under a warming climate: get the daily projection over any date range (choose your variables and climate model), or per-year aggregates — annual mean temperature and total precipitation — that reveal the warming trend at a place over the coming decades. Seven HighResMIP models are available (EC_Earth3P_HR, MPI_ESM1_2_XR, MRI_AGCM3_2_S, CMCC_CM2_VHR4 and more). From planning and agriculture to risk assessment, sustainability and climate research, it turns climate-model data into a simple coordinate-in, projection-out call. A climate-projection resource — distinct from real-time weather forecasts, historical weather observations and Köppen climate classification. Open data from Open-Meteo (CC BY 4.0), based on the CMIP6 HighResMIP ensemble.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/climateprojections-api","description":"oanor gateway"}],"tags":[{"name":"Climate"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/annual":{"get":{"operationId":"get_v1_annual","tags":["Climate"],"summary":"Per-year temperature & precipitation trend","description":"","parameters":[{"name":"lat","in":"query","required":false,"description":"Latitude","schema":{"type":"string"},"example":"52.52"},{"name":"lon","in":"query","required":false,"description":"Longitude","schema":{"type":"string"},"example":"13.41"},{"name":"from_year","in":"query","required":false,"description":"Start year (1950-2050)","schema":{"type":"string"},"example":"2025"},{"name":"to_year","in":"query","required":false,"description":"End year (<=50 years span)","schema":{"type":"string"},"example":"2050"},{"name":"model","in":"query","required":false,"description":"CMIP6 model (default EC_Earth3P_HR)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"model":"EC_Earth3P_HR","years":[{"year":2025,"mean_temperature_c":10.8,"total_precipitation_mm":888},{"year":2026,"mean_temperature_c":11.4,"total_precipitation_mm":529},{"year":2027,"mean_temperature_c":10.5,"total_precipitation_mm":801},{"year":2028,"mean_temperature_c":11,"total_precipitation_mm":630},{"year":2029,"mean_temperature_c":10.3,"total_precipitation_mm":636},{"year":2030,"mean_temperature_c":12.4,"total_precipitation_mm":538},{"year":2031,"mean_temperature_c":11.6,"total_precipitation_mm":570},{"year":2032,"mean_temperature_c":11,"total_precipitation_mm":635},{"year":2033,"mean_temperature_c":10.9,"total_precipitation_mm":552},{"year":2034,"mean_temperature_c":10.9,"total_precipitation_mm":651},{"year":2035,"mean_temperature_c":10.7,"total_precipitation_mm":615},{"year":2036,"mean_temperature_c":10.8,"total_precipitation_mm":655},{"year":2037,"mean_temperature_c":10.5,"total_precipitation_mm":549},{"year":2038,"mean_temperature_c":10,"total_precipitation_mm":649},{"year":2039,"mean_temperature_c":10.8,"total_precipitation_mm":884},{"year":2040,"mean_temperature_c":11.6,"total_precipitation_mm":647},{"year":2041,"mean_temperature_c":10.8,"total_precipitation_mm":607},{"year":2042,"mean_temperature_c":11.1,"total_precipitation_mm":680},{"year":2043,"mean_temperature_c":11.2,"total_precipitation_mm":600},{"year":2044,"mean_temperature_c":11.5,"total_precipitation_mm":551},{"year":2045,"mean_temperature_c":12.2,"total_precipitation_mm":580},{"year":2046,"mean_temperature_c":11.2,"total_precipitation_mm":688},{"year":2047,"mean_temperature_c":12.8,"total_precipitation_mm":439},{"year":2048,"mean_temperature_c":11.8,"total_precipitation_mm":556},{"year":2049,"mean_temperature_c":11.2,"total_precipitation_mm":731}],"to_year":2049,"location":{"lat":52.5,"lon":13.400009,"elevation":38},"from_year":2025},"meta":{"timestamp":"2026-06-01T17:03:19.811Z","request_id":"a0f67c81-7712-46ef-994e-ebfb543fd8a8"},"status":"ok","message":"Annual projection retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/projection":{"get":{"operationId":"get_v1_projection","tags":["Climate"],"summary":"Daily climate projection over a date range","description":"","parameters":[{"name":"lat","in":"query","required":false,"description":"Latitude","schema":{"type":"string"},"example":"52.52"},{"name":"lon","in":"query","required":false,"description":"Longitude","schema":{"type":"string"},"example":"13.41"},{"name":"from","in":"query","required":false,"description":"Start date YYYY-MM-DD (1950-2050)","schema":{"type":"string"},"example":"2035-06-01"},{"name":"to","in":"query","required":false,"description":"End date YYYY-MM-DD (<=366 days)","schema":{"type":"string"},"example":"2035-06-30"},{"name":"variables","in":"query","required":false,"description":"Daily variables (comma-separated)","schema":{"type":"string"}},{"name":"model","in":"query","required":false,"description":"CMIP6 model (default EC_Earth3P_HR)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"to":"2035-06-30","from":"2035-06-01","daily":{"time":["2035-06-01","2035-06-02","2035-06-03","2035-06-04","2035-06-05","2035-06-06","2035-06-07","2035-06-08","2035-06-09","2035-06-10","2035-06-11","2035-06-12","2035-06-13","2035-06-14","2035-06-15","2035-06-16","2035-06-17","2035-06-18","2035-06-19","2035-06-20","2035-06-21","2035-06-22","2035-06-23","2035-06-24","2035-06-25","2035-06-26","2035-06-27","2035-06-28","2035-06-29","2035-06-30"],"precipitation_sum":[20.56,0.1,0,0,6.18,0.31,5.15,0.53,0,0.32,9.12,1.06,4.05,0,0,0,0,4.3,9.16,0.43,4.33,7.59,10.32,4.68,0,9.95,0.99,0,0.22,0.55],"temperature_2m_max":[12,17.2,18.7,23.5,21.6,17.8,16.8,19.3,21.1,18.6,19.3,18.1,22,24,29.2,29.8,29.1,28.6,27.5,28,31.4,26.1,27.8,28.8,25.4,21.2,21.7,21.2,21.7,22.9],"temperature_2m_min":[9.3,8.7,7.4,13.3,15.3,11.6,8.9,8.2,8.8,9.5,9.5,11.6,11.2,12.6,15.1,17.7,18.4,20,19.1,19.1,18.6,19.4,18.6,19,18.5,17.8,14.6,13.2,15.4,16.7]},"model":"EC_Earth3P_HR","units":{"time":"iso8601","precipitation_sum":"mm","temperature_2m_max":"°C","temperature_2m_min":"°C"},"location":{"lat":52.5,"lon":13.400009,"elevation":38}},"meta":{"timestamp":"2026-06-01T17:03:21.711Z","request_id":"34390e02-17fc-4eb9-aee8-0c4acaee479c"},"status":"ok","message":"Projection retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Models, variables, range & notes","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Climate Projections serves daily, downscaled output from high-resolution CMIP6 global climate models for any location, from 1950 to 2050 — how temperature, precipitation, wind and humidity are projected to change under a warming climate. /v1/projection?lat=52.52&lon=13.41&from=2035-06-01&to=2035-06-30 returns the daily projection over a date range (up to 366 days); choose variables (variables=temperature_2m_max,precipitation_sum,…) and a climate model (model=EC_Earth3P_HR by default; also CMCC_CM2_VHR4, MRI_AGCM3_2_S, MPI_ESM1_2_XR, …). /v1/annual?lat=52.52&lon=13.41&from_year=2020&to_year=2050 returns per-year aggregates — annual mean temperature and total precipitation — perfect for visualising the warming trend at a place (up to 50 years). Coordinates are decimal degrees. Data from Open-Meteo (CC BY 4.0), based on CMIP6 HighResMIP models. A climate-projection resource — distinct from real-time weather forecasts, historical weather observations and Köppen climate classification. Ideal for climate, agriculture, planning, risk and sustainability applications.","models":["CMCC_CM2_VHR4","FGOALS_f3_H","HiRAM_SIT_HR","MRI_AGCM3_2_S","EC_Earth3P_HR","MPI_ESM1_2_XR","NICAM16_8S"],"source":"Open-Meteo Climate API — CMIP6 downscaled climate projections (open-meteo.com)","endpoints":["/v1/projection","/v1/annual","/v1/meta"],"variables":["temperature_2m_max","temperature_2m_min","temperature_2m_mean","precipitation_sum","rain_sum","snowfall_sum","windspeed_10m_max","relative_humidity_2m_mean","cloud_cover_mean","shortwave_radiation_sum","et0_fao_evapotranspiration","soil_moisture_0_to_10cm_mean"],"date_range":"1950-01-01 to 2050-12-31"},"meta":{"timestamp":"2026-06-01T17:03:21.801Z","request_id":"ac0ae4fb-acd1-48c8-8830-ba0643773a2e"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":2350,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":675,"monthly_call_quota":47000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2160,"monthly_call_quota":235000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5780,"monthly_call_quota":845000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/climateprojections-api"}