{"openapi":"3.1.0","info":{"title":"Climate API","version":"1.0.0","description":"Classify any location's climate with the Köppen-Geiger system — the standard used across geography, ecology, agriculture and architecture. Provide a location's twelve monthly mean temperatures and precipitation totals and get back its climate code (for example Cfb or BWh), the climate group and full name, a description, and a block of derived statistics (annual mean temperature, annual precipitation, warmest and coldest month, driest month, months above 10 °C, summer-precipitation share and the aridity threshold). The hemisphere is auto-detected from the temperature curve, or you can set it explicitly. A reference endpoint returns all thirty Köppen-Geiger codes with names, groups, descriptions and example cities. Every endpoint accepts input via the query string or the request body and returns lean JSON. Pure server-side computation (no third-party upstream), so responses are instant and always available. Ideal for EdTech and geography tools, AgTech and crop-suitability apps, architecture and GIS pipelines.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/climate-api","description":"oanor gateway"}],"tags":[{"name":"Climate"}],"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/classify":{"get":{"operationId":"get_v1_classify","tags":["Climate"],"summary":"Köppen-Geiger code from monthly data","description":"","parameters":[{"name":"monthly_temp","in":"query","required":true,"description":"12 monthly mean temps °C (Jan..Dec)","schema":{"type":"string"},"example":"5,5,7,9,13,16,18,18,15,11,7,5"},{"name":"monthly_precip","in":"query","required":true,"description":"12 monthly precip mm (Jan..Dec)","schema":{"type":"string"},"example":"55,41,42,44,49,45,45,50,49,69,59,55"},{"name":"hemisphere","in":"query","required":false,"description":"north|south (auto-detected)","schema":{"type":"string"},"example":"north"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"code":"Cfb","group":"Temperate","hemisphere":"north","statistics":{"coldest_month_c":5,"driest_month_mm":41,"warmest_month_c":18,"annual_precip_mm":603,"months_above_10c":6,"annual_mean_temp_c":10.8,"summer_precip_share":0.47,"aridity_threshold_mm":36},"description":"No dry season, warm summer.","climate_name":"Oceanic"},"meta":{"timestamp":"2026-05-30T22:48:31.401Z","request_id":"a4d65d9e-71d0-46b7-9864-eec1ba7a1f8e"},"status":"ok","message":"Climate classified","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/code":{"get":{"operationId":"get_v1_code","tags":["Climate"],"summary":"Single code detail","description":"","parameters":[{"name":"code","in":"query","required":true,"description":"Köppen code","schema":{"type":"string"},"example":"Cfb"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"code":"Cfb","name":"Oceanic","group":"Temperate","examples":["London","Paris","Melbourne"],"description":"No dry season, warm summer."},"meta":{"timestamp":"2026-05-30T22:48:31.472Z","request_id":"7dce870c-0ef1-4f91-8c8e-e1aee1ee0d06"},"status":"ok","message":"Code 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/codes":{"get":{"operationId":"get_v1_codes","tags":["Climate"],"summary":"All Köppen-Geiger codes","description":"","parameters":[{"name":"group","in":"query","required":false,"description":"Tropical|Arid|Temperate|Continental|Polar","schema":{"type":"string"},"example":"Polar"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"codes":[{"code":"ET","name":"Tundra","group":"Polar","examples":["Nuuk","Barrow","Mount Washington"],"description":"Warmest month 0–10 °C."},{"code":"EF","name":"Ice cap","group":"Polar","examples":["Vostok Station","Greenland interior"],"description":"All months below 0 °C."}],"count":2},"meta":{"timestamp":"2026-05-30T22:48:31.542Z","request_id":"0354bd8e-1ac0-409b-9ec9-0a76ebe7c0fe"},"status":"ok","message":"Codes 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":14000,"rps_limit":4,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":500,"monthly_call_quota":175000,"rps_limit":12,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1500,"monthly_call_quota":1300000,"rps_limit":40,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3900,"monthly_call_quota":6500000,"rps_limit":130,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/climate-api"}