Do a DNS-lookup of 'all.api.radio-browser.info'. This gives you a list of all available
servers. To get the nice names you can do a reverse DNS-Lookup of the entries from the first
request and display them
to the user. There are some examples of how to do this in different languages: NodeJS (prefered), NodeJS, Python 2,
Python 3,
Java (Android), C#, Javascript(Browser)
Now you have a list of multiple names of servers which you can use to directly connect to
with
HTTP and preferably HTTPS.
Example: https://de1.api.radio-browser.info, https://de2.api.radio-browser.info, ..
(Alternative: query the DNS SRV record of _api._tcp.radio-browser.info which gives you
the list of server names directly without reverse dns lookups.)
Either let the user choose one server from the list with a dialog or
just randomize the list and choose the first entry of the now random list.
If a request fails just retry the request with the next entry in the list.
I try to keep them all at the same version, so they should always all be the same.
Here are some examples of working servers:
https://de1.api.radio-browser.info,
https://nl.api.radio-browser.info,
https://at1.api.radio-browser.info
Click the links to find out about the API. Please remember that any of them may go down in
the future,
which means that you always should follow the previous steps in your app.
Users of the old API (SERVER = www.radio-browser.info) should migrate to the new one. It uses a newer server software, which is actively maintained and which is faster.