{"openapi":"3.1.0","info":{"title":"Radio API","version":"1.0.0","description":"Search and explore over 50,000 internet and FM radio stations worldwide — a fast, clean wrapper over Radio Browser with automatic mirror failover. Find stations by name, country, language, genre tag or codec, sort by votes or popularity, fetch a single station by UUID with its stream URL, favicon and metadata, list the most-voted stations, browse all countries with station counts and discover the most popular genre/format tags. Every endpoint accepts input via the query string or the request body and returns lean, predictable JSON with the playable stream URL, bitrate, codec, tags and geo where available. Ideal for radio players, music and media apps, smart-speaker skills and directory features.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/radio-api","description":"oanor gateway"}],"tags":[{"name":"Radio"}],"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/countries":{"get":{"operationId":"get_v1_countries","tags":["Radio"],"summary":"Countries with station counts","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/search":{"get":{"operationId":"get_v1_search","tags":["Radio"],"summary":"Search radio stations","description":"","parameters":[{"name":"name","in":"query","required":false,"description":"Station name","schema":{"type":"string"},"example":"jazz"},{"name":"country","in":"query","required":false,"description":"Country name","schema":{"type":"string"},"example":"Germany"},{"name":"countrycode","in":"query","required":false,"description":"ISO-2 country code","schema":{"type":"string"},"example":"DE"},{"name":"language","in":"query","required":false,"description":"Language","schema":{"type":"string"},"example":"english"},{"name":"tag","in":"query","required":false,"description":"Genre/format tag","schema":{"type":"string"},"example":"rock"},{"name":"codec","in":"query","required":false,"description":"Codec","schema":{"type":"string"},"example":"MP3"},{"name":"order","in":"query","required":false,"description":"votes|clickcount|name|bitrate|random|...","schema":{"type":"string"},"example":"votes"},{"name":"reverse","in":"query","required":false,"description":"Reverse order","schema":{"type":"string"},"example":"true"},{"name":"limit","in":"query","required":false,"description":"1..100 (default 20)","schema":{"type":"string"},"example":"20"},{"name":"offset","in":"query","required":false,"description":"Offset","schema":{"type":"string"},"example":"0"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/station":{"get":{"operationId":"get_v1_station","tags":["Radio"],"summary":"Single station by uuid","description":"","parameters":[{"name":"uuid","in":"query","required":true,"description":"Station UUID","schema":{"type":"string"},"example":"510506e7-6bc0-4b91-b6a1-fc024ccad1a8"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/tags":{"get":{"operationId":"get_v1_tags","tags":["Radio"],"summary":"Popular genre/format tags","description":"","parameters":[{"name":"limit","in":"query","required":false,"description":"1..500 (default 50)","schema":{"type":"string"},"example":"50"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/topvote":{"get":{"operationId":"get_v1_topvote","tags":["Radio"],"summary":"Most-voted stations","description":"","parameters":[{"name":"limit","in":"query","required":false,"description":"1..100 (default 20)","schema":{"type":"string"},"example":"20"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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":20000,"rps_limit":5,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":800,"monthly_call_quota":250000,"rps_limit":15,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":2000000,"rps_limit":40,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5900,"monthly_call_quota":10000000,"rps_limit":120,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/radio-api"}