Radio Browser API
Free radio station API with no key: 50,000+ internet radio stations worldwide with stream URLs, tags, country, language, bitrate and logos. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-19
What is the Radio Browser API?
Radio Browser is a free, key-free community database of more than 50,000 internet radio stations worldwide, providing stream URLs, station logos, country, language, tags, bitrate and click statistics.
Radio Browser is a community-maintained open database, and it is the standard source for internet radio station listings. Every entry has a directly playable stream URL, which makes building a working radio player genuinely straightforward.
It runs on multiple mirror servers for resilience, and the maintainers ask that clients send a descriptive User-Agent so they can identify traffic. Station availability is community-reported, so validating a stream before playing is worthwhile.
Quick facts
- Base URL
https://de1.api.radio-browser.info/json- Authentication
- No API key required. A descriptive User-Agent identifying your application is requested.
- Rate limit
- No published hard limit; the project asks for reasonable use and a proper User-Agent.
- Pricing
- Free and open source.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Radio Browser API
Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.
1. Search for radio stations
GET https://de1.api.radio-browser.info/json/stations/search?limit=1&name=bbc
curl 'https://de1.api.radio-browser.info/json/stations/search?limit=1&name=bbc'const res = await fetch("https://de1.api.radio-browser.info/json/stations/search?limit=1&name=bbc");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://de1.api.radio-browser.info/json/stations/search?limit=1&name=bbc", timeout=20)
res.raise_for_status()
print(res.json())[
{
"changeuuid": "6dfb6520-8d52-4054-8d3e-c37a38b62872",
"stationuuid": "f7fd408e-02a5-49a1-8c03-078727e97e8f",
"serveruuid": null,
"name": " BBC RADIO 1 - The biggest new pop and all-day vibes",
"url": "http://a.files.bbci.co.uk/ms6/live/3441A116-B12E-4D2F-ACA8-C1984642FA4B/audio/simulcast/hls/nonuk/pc_hd_abr_v2/cf/bbc_radio_one.m3u8",
"url_resolved": "http://a.files.bbci.co.uk/ms6/live/3441A116-B12E-4D2F-ACA8-C1984642FA4B/audio/simulcast/hls/nonuk/pc_hd_abr_v2/cf/bbc_radio_one.m3u8",
"homepage": "https://www.bbc.co.uk/sounds/play/live/bbc_radio_one",
"favicon": "https://cdn-profiles.tunein.com/s24939/images/logod.png",
"tags": "97.1 fm,99.7 fm,bbc,bbc radio 1,dab,england,entertainment,entretenimiento,estación,europa,europe,fm,inglaterra,juvenil,london,londres,moi merino,music,música,música en inglés,música pop,pop,pop en inglés,pop music,pop rock,radio,rock,rock music",
"country": "The United Kingdom Of Great Britain And Northern Ireland",
"countrycode": "GB",
"iso_3166_2": null,
"state": "London",
"language": "english",
"languagecodes": "en",
"votes": 124,
"lastchangetime": "2026-04-18 08:43:08",
"lastchangetime_iso8601": "2026-04-18T08:43:08Z",
"codec": "AAC+",
"bitrate": 101,
"hls": 1,
"lastcheckok": 1,
"lastchecktime": "2026-04-18 08:43:09",
"lastchecktime_iso8601": "2026-04-18T08:43:09Z",
"lastcheckoktime": "2026-04-18 08:43:09",
"lastcheckoktime_iso8601": "2026-04-18T08:43:09Z",
"lastlocalchecktime": "2026-04-18 08:43:09",
"lastlocalchecktime_iso8601":Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
stations/search | path | Optional | Search stations by various criteria. stations/search |
name | string | Optional | Station name search. bbc |
countrycode | string | Optional | ISO country code filter. GB |
tag | string | Optional | Genre or topic tag. jazz |
limit | integer | Optional | Maximum results. 20 |
order | string | Optional | Sort field such as clickcount or votes. clickcount |
Response fields
stationuuidstring- Stable station identifier.
namestring- Station name.
url / url_resolvedstring- Stream URL — use url_resolved, which follows redirects.
faviconstring- Station logo URL, often empty.
tagsstring- Comma-separated genre and topic tags.
country / languagestring- Broadcast country and language.
bitrateinteger- Stream bitrate in kbps.
lastcheckokinteger- 1 when the stream was working at last check.
What you can build with the Radio Browser API
- Build an internet radio player with global station search
- Filter stations by genre, country or language
- Create a radio discovery app sorted by popularity
- Add background radio to a media application
Common errors and how to fix them
Dead stream URLs
Stations go offline and the database is community-maintained.
Fix: Filter on lastcheckok=1, and use url_resolved rather than url.
Blocked or throttled
Missing User-Agent.
Fix: Send a descriptive User-Agent naming your application, as the project requests.
Server unreachable
Individual mirrors go down.
Fix: The project runs several mirrors; resolve them via DNS SRV or fall back to another regional host.
Radio Browser API — frequently asked questions
Is the Radio Browser API free?
Yes, completely free and open source with no API key. The maintainers ask that you send a descriptive User-Agent identifying your app.
How many stations are there?
Over 50,000 internet radio stations worldwide, contributed and maintained by the community.
Should I use url or url_resolved?
url_resolved. It has already followed redirects to the actual stream, so it works directly in an audio player.
How do I avoid dead streams?
Filter on lastcheckok=1, which indicates the stream was working at the last automated check. Streams still fail occasionally, so handle playback errors gracefully.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
Radio Browser is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.