Public APIs
Radio Browser favicon

Radio Browser

Music

List of internet radio stations.

Radio Browser's website screenshot

About Radio Browser

Radio Browser is a free and open source API providing access to a distributed database of internet radio stations. It is served through multiple independent servers rather than a single endpoint: clients discover available servers via DNS lookup of a shared hostname, then connect directly to one of the returned servers over HTTP or HTTPS.

The API is intended for developers building applications or programs that need to look up, browse, or play internet radio stations. It supports usage directly via HTTP requests or through third-party client libraries available for Java, NodeJS, Python, Rust, Go, and .NET. Client applications are expected to identify themselves with a descriptive HTTP user agent string and to report station clicks via a dedicated endpoint, which contributes to popularity tracking within the database.

The service is self-hostable, since users may install it on their own server and mirror its data, and the project is open to forks. Station and server identification uses UUID fields (such as stationuuid, checkuuid, and clickuuid) rather than numeric IDs, since IDs are not consistent across the different servers in the network; the "countrycode" field is used in place of "country" for standardized country identification.

Key features

  • Free, open-source API for discovering internet radio stations
  • Server list discoverable via DNS lookup of 'all.api.radio-browser.info' or SRV record of '_api._tcp.radio-browser.info'
  • Self-hostable and mirrorable on your own server
  • Click-tracking endpoint (/json/url) to mark stations as popular
  • Official client libraries for Java, NodeJS, Python, Rust, Go, and .NET
  • Uses stable UUID fields (stationuuid, checkuuid, clickuuid) consistent across the whole server network

Frequently asked questions

Is Radio Browser free to use?

Yes, the API is completely free and open source.

Can I self-host Radio Browser?

Yes, you may install it on your own server and mirror all its data, and you may also fork it.

What languages have client libraries?

Third-party libraries exist for Java, NodeJS, Python, Rust, Go, and .NET.

How do I connect to a server reliably?

You should get a list of available servers via DNS lookup of 'all.api.radio-browser.info' (or the SRV record) and randomize/retry among them, rather than hardcoding a single server address.

Should I still use the old 'id' and 'country' fields?

No, the docs say to use 'uuid' fields (like stationuuid) instead of 'id' and 'countrycode' instead of 'country', since these are standardized and consistent across servers.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product