Radio Browser

App · Music & Podcasts · 9 actions

Find internet radio from a workflow. Radio Browser is a community-built directory of about sixty thousand live stations from every country, searchable by genre, place, language and audio quality, and every result comes with a link that plays. No account or API key required.

Actions

ActionWhat it does
Find stationsSearch about sixty thousand internet radio stations by genre, country, region, language, name and audio quality, and get back stations that are actually playing - streams that have stopped working are left out.
Get a stationLook up one station by its id and get its current details with the fields at the top level: where to play it, its logo, its homepage, its genres, its audio quality and whether it was still playing at the last daily check.
Get a station's stream linkGet the link to play a station, and tell Radio Browser that somebody is listening.
List countriesList every country with stations in the directory and how many each has, busiest first.
List genresList the genres and moods stations are tagged with, with the number of stations behind each - over twelve thousand of them, from 'jazz' to 'italo disco'.
List languagesList the languages stations broadcast in and how many use each, busiest first.
List regionsList the states, provinces and cities inside a country, with the number of stations in each - the way to find local radio for one place rather than a whole country.
List top stationsGet the directory's own charts in one step, with no filters to fill in: the most voted for of all time, the most tuned into in the last 24 hours, whatever somebody has just started playing anywhere in the world, or the stations added and updated most recently.
Vote for a stationCast a vote for a station.

Find stations

Search about sixty thousand internet radio stations by genre, country, region, language, name and audio quality, and get back stations that are actually playing - streams that have stopped working are left out. Every station comes back with a URL you can play straight away, its logo, its homepage and a one-line description, so a message or a player can be built from the result without any further steps. No account or API key required.

Inputs

Station name containsnametext
Optional. Part of the station's name. Capitals do not matter. Leave it empty to search by genre and place alone.
Genresgenrestext
Optional. The genres and moods stations are tagged with. Pick as many as you like: a station has to carry every one of them, so one genre is a wide search and two is a narrow one. The list shows the most-used genres with the number of stations behind each, and you can type any other.
Countrycountrytext
Optional. Leave it empty to search everywhere. Pick a country from the list, or type its name or two-letter code. A country that matches nothing is reported with the nearest names rather than quietly returning no stations.
Regionregiontext
Optional. The state, province or city a station is filed under. Choose a country first and this lists that country's regions with the number of stations in each. Contributors type these by hand, so the same place can appear more than once (Germany has both Bavaria and Bayern) - part of a name matches them all.
Languagelanguagetext
Optional. The language a station broadcasts in. Pick one from the list, or type its name or two-letter code. Stations that broadcast in several languages match on any of them.
Audio formatcodectext
Optional. Leave it empty for any format. Worth setting only when whatever will play the stream is fussy - MP3 is the safest choice for older players and hardware.One of: MP3 (MP3: plays everywhere), AAC (AAC: smaller than MP3 at the same quality), AAC+ (AAC+: better again at low bitrates), OGG (OGG Vorbis), FLAC (FLAC: lossless, and rare).
Minimum quality (kbps)min_bitratenumber
Optional. The lowest bitrate to accept, in kbps. 128 is ordinary music quality and 64 is fine for speech. Some stations have never reported a bitrate, and setting this leaves those out.From 0 to 2000.
Only secure (HTTPS) streamshttps_onlytrue/false
Many stations still stream over plain HTTP, which browsers block on a secure page. Turn this on when the stream has to play inside a website or an app that requires HTTPS.Default: false.
Include stations that are offlineinclude_offlinetrue/false
Radio Browser tests every stream daily and about one station in ten is not currently playing. Those are left out by default. Turn this on to see them too - useful when you are checking whether a particular station has come back.Default: false.
Ordersort_bytext
Optional. Most voted for by default, which is the closest thing the directory has to 'best'. Trending finds what is gaining listeners now, and Random is how you get a different station each run.One of: votes (Most voted for), listeners (Most tuned into today), trending (Trending: gaining listeners fastest), updated (Recently added or updated), quality (Highest audio quality), name (Name (A to Z)), random. Default: votes.
How many to returnlimitnumber
Optional. How many stations to return, from 1 to 200. 20 by default.From 1 to 200. Default: 20.
Skipoffsetnumber
Optional. How many matches to skip before the ones you want, for paging through a large result. Leave it empty to start at the top.From 0 to 100000. Default: 0.

Outputs

countnumber
How many stations came back.
filter_summarytext
Those filters as a phrase.
filtersobject
What was actually searched for, after names were resolved: the country Radio Browser matched, the genres as it stores them, and every other filter.
has_moretrue/false
Whether there are further matches beyond the ones returned. Raise the limit, or use Skip to page through them.
limitnumber
How many were asked for.
offsetnumber
How many matches were skipped.
sort_bytext
The order that was used.
sort_labeltext
That order, in words.
stationslist
The stations that matched, in the chosen order.
summarytext
What the search found, in one sentence.
unmatched_genreslist
When nothing matched, the genres no station carries - which is usually why. Empty otherwise.
Example output
{
  "count": 1,
  "filter_summary": "pop stations in The United Kingdom Of Great Britain And Northern Ireland",
  "filters": {
    "codec": null,
    "country": "The United Kingdom Of Great Britain And Northern Ireland",
    "country_code": "GB",
    "genres": [
      "pop"
    ],
    "https_only": false,
    "include_offline": false,
    "language": null,
    "min_bitrate": null,
    "name": null,
    "region": null
  },
  "has_more": true,
  "limit": 20,
  "offset": 0,
  "sort_by": "votes",
  "sort_label": "Most voted for",
  "stations": [
    {
      "bitrate_kbps": 101,
      "click_trend": 12,
      "clicks_last_24h": 84,
      "codec": "AAC+",
      "country": "The United Kingdom Of Great Britain And Northern Ireland",
      "country_code": "GB",
      "distance_km": null,
      "genres": [
        "bbc",
        "pop",
        "rock"
      ],
      "genres_text": "bbc, pop, rock",
      "has_ssl_error": false,
      "homepage": "https://www.bbc.co.uk/sounds/play/live/bbc_radio_one",
      "is_hls": true,
      "is_online": true,
      "language_codes": [
        "en"
      ],
      "languages": [
        "english"
      ],
      "languages_text": "english",
      "last_changed_at": "2026-04-18T08:43:08Z",
      "last_checked_at": "2026-09-10T15:38:31Z",
      "last_played_at": "2026-09-15T08:39:08Z",
      "last_working_at": "2026-09-10T15:38:31Z",
      "latitude": 51.507755,
      "logo_url": "https://cdn-profiles.tunein.com/s24939/images/logod.png",
      "longitude": -0.128316,
      "name": "BBC Radio 1",
      "region": "London",
      "region_code": null,
      "station_id": "f7fd408e-02a5-49a1-8c03-078727e97e8f",
      "stream_url": "http://stream.live.vc.bbcmedia.co.uk/bbc_radio_one",
      "submitted_url": "http://a.files.bbci.co.uk/bbc_radio_one.m3u8",
      "summary": "BBC Radio 1 - London, The United Kingdom Of Great Britain And Northern Ireland | bbc, pop, rock | AAC+ 101 kbps",
      "votes": 151
    }
  ],
  "summary": "Found 1 pop stations in The United Kingdom Of Great Britain And Northern Ireland (more available).",
  "unmatched_genres": []
}

Get a station

Look up one station by its id and get its current details with the fields at the top level: where to play it, its logo, its homepage, its genres, its audio quality and whether it was still playing at the last daily check. Use this to refresh a station you saved earlier, or to check that a favourite is still up. It does not count a listen - Get a station's stream link is the one that does. No account or API key required.

Inputs

Stationstation_idtextRequired
The station to look up. Use the station_id from Find stations, List top stations or Get a station: it is the id Radio Browser gives each station, and it stays the same as long as the station is in the directory.

Outputs

bitrate_kbpsnumber
Its bitrate in kbps, or null when the station has never reported one. Higher is better quality and more bandwidth.
click_trendnumber
How much that has changed over the last two days. Positive means it is gaining listeners.
clicks_last_24hnumber
How many people tuned into it in the last 24 hours.
codectext
The audio format, e.g. "MP3" or "AAC+", or null when the last check could not tell.
countrytext
The country it broadcasts from.
country_codetext
Its two-letter country code, e.g. "DE".
distance_kmnumber
How far away it is, when the directory recorded a distance. Normally null.
genreslist
The genres it is tagged with, e.g. ["jazz", "blues"].
genres_texttext
The same genres on one line, for writing into a message.
has_ssl_errortrue/false
Whether the last check hit a certificate problem on the stream.
homepagetext
The station's own website, or null.
is_hlstrue/false
Whether it streams as HLS. Some simple players cannot play HLS.
is_onlinetrue/false
Whether the stream was playing at Radio Browser's last daily check. Offline stations are left out of results unless asked for.
language_codeslist
Those languages as codes.
languageslist
The languages it broadcasts in.
languages_texttext
The same languages on one line.
last_changed_attext
When its details were last edited (UTC).
last_checked_attext
When Radio Browser last tested the stream (UTC).
last_played_attext
When somebody last tuned into it (UTC), or null.
last_working_attext
When it was last found playing (UTC).
latitudenumber
Where it broadcasts from, or null if unknown.
logo_urltext
The station's logo, or null if it has none.
longitudenumber
Where it broadcasts from, or null if unknown.
nametext
The station's name.
regiontext
The state, province or city it is filed under, or null.
region_codetext
The ISO code for that region, e.g. "DE-BY", or null.
station_idtext
Radio Browser's id for this station. Pass it to Get a station's stream link, Get a station or Vote for a station.
stream_urltext
The URL to play. Radio Browser has already followed any playlist file or redirect the station submitted, so this is the audio itself.
submitted_urltext
The URL the station was submitted with, which is often a playlist file rather than the audio. Use stream_url to play.
summarytext
The station on one line - name, where it is, its genres and its quality - ready to put in a message.
votesnumber
How many people have voted for it, all time.
Example output
{
  "bitrate_kbps": 101,
  "click_trend": 12,
  "clicks_last_24h": 84,
  "codec": "AAC+",
  "country": "The United Kingdom Of Great Britain And Northern Ireland",
  "country_code": "GB",
  "distance_km": null,
  "genres": [
    "bbc",
    "pop",
    "rock"
  ],
  "genres_text": "bbc, pop, rock",
  "has_ssl_error": false,
  "homepage": "https://www.bbc.co.uk/sounds/play/live/bbc_radio_one",
  "is_hls": true,
  "is_online": true,
  "language_codes": [
    "en"
  ],
  "languages": [
    "english"
  ],
  "languages_text": "english",
  "last_changed_at": "2026-04-18T08:43:08Z",
  "last_checked_at": "2026-09-10T15:38:31Z",
  "last_played_at": "2026-09-15T08:39:08Z",
  "last_working_at": "2026-09-10T15:38:31Z",
  "latitude": 51.507755,
  "logo_url": "https://cdn-profiles.tunein.com/s24939/images/logod.png",
  "longitude": -0.128316,
  "name": "BBC Radio 1",
  "region": "London",
  "region_code": null,
  "station_id": "f7fd408e-02a5-49a1-8c03-078727e97e8f",
  "stream_url": "http://stream.live.vc.bbcmedia.co.uk/bbc_radio_one",
  "submitted_url": "http://a.files.bbci.co.uk/bbc_radio_one.m3u8",
  "summary": "BBC Radio 1 - London, The United Kingdom Of Great Britain And Northern Ireland | bbc, pop, rock | AAC+ 101 kbps",
  "votes": 151
}

Get the link to play a station, and tell Radio Browser that somebody is listening. Those listens are what the directory's popularity charts are built from, so this is the action to use whenever a workflow is about to play a stream, hand it to a player or send it to somebody - it is how the station gets credit for the listen. No account or API key required.

Inputs

Stationstation_idtextRequired
The station to play. Use the station_id from Find stations, List top stations or Get a station: it is the id Radio Browser gives each station, and it stays the same as long as the station is in the directory.

Outputs

nametext
Its name.
play_countedtrue/false
Always true: asking for the link counted one listen towards the station's popularity.
station_idtext
The station that was asked for.
stream_urltext
The URL to play.
summarytext
The station and its link on one line.
Example output
{
  "name": "BBC Radio 1",
  "play_counted": true,
  "station_id": "f7fd408e-02a5-49a1-8c03-078727e97e8f",
  "stream_url": "http://stream.live.vc.bbcmedia.co.uk/bbc_radio_one",
  "summary": "BBC Radio 1 is playing at http://stream.live.vc.bbcmedia.co.uk/bbc_radio_one"
}

List countries

List every country with stations in the directory and how many each has, busiest first. Use it to see where there is radio to find, to pick a country for each run of a workflow, or to get the two-letter code a search needs. No account or API key required.

Inputs

Containscontainstext
Optional. Only countries whose name contains this. Capitals and accents do not matter. Leave it empty for the whole list.
Ordersort_bytext
Optional. Busiest first by default, which puts the ones worth picking at the top.One of: stations (Most stations first), name (Name (A to Z)). Default: stations.
How many to returnlimitnumber
Optional. How many rows to return, from 1 to 500. 50 by default.From 1 to 500. Default: 50.

Outputs

containstext
The text that was filtered on, or null.
countnumber
How many rows came back.
countrieslist
The countries, busiest first by default.
limitnumber
How many were asked for.
matched_countnumber
How many matched before the limit was applied.
sort_bytext
The order that was used.
sort_labeltext
That order, in words.
summarytext
What the listing holds, in one sentence.
total_countnumber
How many countries Radio Browser knows in all.
Example output
{
  "contains": null,
  "count": 1,
  "countries": [
    {
      "country": "The United States Of America",
      "country_code": "US",
      "station_count": 8173,
      "summary": "The United States Of America (US): 8,173 stations"
    }
  ],
  "limit": 50,
  "matched_count": 241,
  "sort_by": "stations",
  "sort_label": "Most stations first",
  "summary": "Showing 1 of 241 countries.",
  "total_count": 241
}

List genres

List the genres and moods stations are tagged with, with the number of stations behind each - over twelve thousand of them, from 'jazz' to 'italo disco'. Use it to see what a search can be narrowed by, to pick a different genre for each run, or to check the exact spelling of one before searching. No account or API key required.

Inputs

Containscontainstext
Optional. Only genres whose name contains this. Capitals and accents do not matter. Leave it empty for the whole list.
Ordersort_bytext
Optional. Busiest first by default, which puts the ones worth picking at the top.One of: stations (Most stations first), name (Name (A to Z)). Default: stations.
How many to returnlimitnumber
Optional. How many rows to return, from 1 to 500. 50 by default.From 1 to 500. Default: 50.

Outputs

containstext
The text that was filtered on, or null.
countnumber
How many rows came back.
genreslist
The genres, busiest first by default.
limitnumber
How many were asked for.
matched_countnumber
How many matched before the limit was applied.
sort_bytext
The order that was used.
sort_labeltext
That order, in words.
summarytext
What the listing holds, in one sentence.
total_countnumber
How many genres Radio Browser knows in all.
Example output
{
  "contains": "jazz",
  "count": 1,
  "genres": [
    {
      "genre": "jazz",
      "genre_label": "Jazz",
      "station_count": 1245,
      "summary": "jazz: 1,245 stations"
    }
  ],
  "limit": 50,
  "matched_count": 82,
  "sort_by": "stations",
  "sort_label": "Most stations first",
  "summary": "Showing 1 of 82 genres containing 'jazz'.",
  "total_count": 12231
}

List languages

List the languages stations broadcast in and how many use each, busiest first. Use it to find the exact language name a search needs, or to build a workflow that picks a different language each time. No account or API key required.

Inputs

Containscontainstext
Optional. Only languages whose name contains this. Capitals and accents do not matter. Leave it empty for the whole list.
Ordersort_bytext
Optional. Busiest first by default, which puts the ones worth picking at the top.One of: stations (Most stations first), name (Name (A to Z)). Default: stations.
How many to returnlimitnumber
Optional. How many rows to return, from 1 to 500. 50 by default.From 1 to 500. Default: 50.

Outputs

containstext
The text that was filtered on, or null.
countnumber
How many rows came back.
languageslist
The languages, busiest first by default.
limitnumber
How many were asked for.
matched_countnumber
How many matched before the limit was applied.
sort_bytext
The order that was used.
sort_labeltext
That order, in words.
summarytext
What the listing holds, in one sentence.
total_countnumber
How many languages Radio Browser knows in all.
Example output
{
  "contains": null,
  "count": 1,
  "languages": [
    {
      "language": "english",
      "language_code": "en",
      "language_label": "English",
      "station_count": 13355,
      "summary": "English: 13,355 stations"
    }
  ],
  "limit": 50,
  "matched_count": 661,
  "sort_by": "stations",
  "sort_label": "Most stations first",
  "summary": "Showing 1 of 661 languages.",
  "total_count": 661
}

List regions

List the states, provinces and cities inside a country, with the number of stations in each - the way to find local radio for one place rather than a whole country. Contributors type these by hand, so the same place can appear under more than one spelling; the counts show which one is actually used. No account or API key required.

Inputs

Countrycountrytext
The country whose regions you want. Pick one from the list, or type its name or two-letter code. Leave it empty to list regions worldwide, which mixes every country's spellings together.
Containscontainstext
Optional. Only regions whose name contains this. Capitals and accents do not matter. Leave it empty for the whole list.
Ordersort_bytext
Optional. Busiest first by default, which puts the ones worth picking at the top.One of: stations (Most stations first), name (Name (A to Z)). Default: stations.
How many to returnlimitnumber
Optional. How many rows to return, from 1 to 500. 50 by default.From 1 to 500. Default: 50.

Outputs

containstext
The text that was filtered on, or null.
countnumber
How many rows came back.
countrytext
The country these regions are in, or null if the whole world was listed.
country_codetext
That country's two-letter code, or null.
limitnumber
How many were asked for.
matched_countnumber
How many matched before the limit was applied.
regionslist
The regions, busiest first by default.
sort_bytext
The order that was used.
sort_labeltext
That order, in words.
summarytext
What the listing holds, in one sentence.
total_countnumber
How many regions the chosen country has in all, or the whole world if no country was chosen.
Example output
{
  "contains": null,
  "count": 1,
  "country": "Germany",
  "country_code": "DE",
  "limit": 50,
  "matched_count": 177,
  "regions": [
    {
      "country": "Germany",
      "region": "Berlin",
      "station_count": 356,
      "summary": "Berlin, Germany: 356 stations"
    }
  ],
  "sort_by": "stations",
  "sort_label": "Most stations first",
  "summary": "Showing 1 of 177 regions in Germany.",
  "total_count": 177
}

List top stations

Get the directory's own charts in one step, with no filters to fill in: the most voted for of all time, the most tuned into in the last 24 hours, whatever somebody has just started playing anywhere in the world, or the stations added and updated most recently. Good for a daily 'what people are listening to' post, and for finding new stations without knowing what to search for. No account or API key required.

Inputs

Chartrank_bytext
Which chart to read. Most voted for is the steady all-time favourite list; the other three change through the day.One of: votes (Most voted for, all time), listeners (Most tuned into in the last 24 hours), played (Played most recently, anywhere in the world), updated (Added or updated most recently). Default: votes.
How many to returnlimitnumber
Optional. How many stations to return, from 1 to 200. 10 by default.From 1 to 200. Default: 10.
Include stations that are offlineinclude_offlinetrue/false
Radio Browser tests every stream daily and about one station in ten is not currently playing. Those are left out by default. Turn this on to see them too - useful when you are checking whether a particular station has come back.Default: false.

Outputs

countnumber
How many stations came back.
has_moretrue/false
Whether the chart holds more stations than were returned.
include_offlinetrue/false
Whether stations that are not currently playing were included.
limitnumber
How many were asked for.
rank_bytext
The chart that was read.
rank_labeltext
That chart, in words.
stationslist
The chart, best first, or most recent first.
summarytext
What the chart holds, in one sentence.
Example output
{
  "count": 1,
  "has_more": true,
  "include_offline": false,
  "limit": 10,
  "rank_by": "votes",
  "rank_label": "Most voted for",
  "stations": [
    {
      "bitrate_kbps": 101,
      "click_trend": 12,
      "clicks_last_24h": 84,
      "codec": "AAC+",
      "country": "The United Kingdom Of Great Britain And Northern Ireland",
      "country_code": "GB",
      "distance_km": null,
      "genres": [
        "bbc",
        "pop",
        "rock"
      ],
      "genres_text": "bbc, pop, rock",
      "has_ssl_error": false,
      "homepage": "https://www.bbc.co.uk/sounds/play/live/bbc_radio_one",
      "is_hls": true,
      "is_online": true,
      "language_codes": [
        "en"
      ],
      "languages": [
        "english"
      ],
      "languages_text": "english",
      "last_changed_at": "2026-04-18T08:43:08Z",
      "last_checked_at": "2026-09-10T15:38:31Z",
      "last_played_at": "2026-09-15T08:39:08Z",
      "last_working_at": "2026-09-10T15:38:31Z",
      "latitude": 51.507755,
      "logo_url": "https://cdn-profiles.tunein.com/s24939/images/logod.png",
      "longitude": -0.128316,
      "name": "BBC Radio 1",
      "region": "London",
      "region_code": null,
      "station_id": "f7fd408e-02a5-49a1-8c03-078727e97e8f",
      "stream_url": "http://stream.live.vc.bbcmedia.co.uk/bbc_radio_one",
      "submitted_url": "http://a.files.bbci.co.uk/bbc_radio_one.m3u8",
      "summary": "BBC Radio 1 - London, The United Kingdom Of Great Britain And Northern Ireland | bbc, pop, rock | AAC+ 101 kbps",
      "votes": 151
    }
  ],
  "summary": "1 station, most voted for."
}

Vote for a station

Cast a vote for a station. Votes are how this community-built directory ranks itself, and a station your workflows play regularly is one worth voting for. Radio Browser counts one vote every ten minutes from one place - for any station, not one each - and quietly ignores the rest, so a busy workspace will often find a vote was not counted. This step checks the station's total before and after and tells you which happened, rather than taking the service's word for it. No account or API key required.

Inputs

Stationstation_idtextRequired
The station to vote for. Use the station_id from Find stations, List top stations or Get a station: it is the id Radio Browser gives each station, and it stays the same as long as the station is in the directory.

Outputs

nametext
Its name.
previous_votesnumber
How many it had before this step ran.
station_idtext
The station that was voted for.
summarytext
What happened, in one sentence.
votedtrue/false
Whether the vote was actually counted. False when a vote was already cast from here within the last ten minutes, which is not a failure - it is the directory's own limit.
votesnumber
How many votes the station has now.
Example output
{
  "name": "BBC Radio 1",
  "previous_votes": 151,
  "station_id": "f7fd408e-02a5-49a1-8c03-078727e97e8f",
  "summary": "Voted for BBC Radio 1, now on 152 votes.",
  "voted": true,
  "votes": 152
}

On this page