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 19 Aug 2026
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 19 Aug 2026, 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.
Alternatives to Radio Browser API
If Radio Browser does not fit, these music apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| iTunes Search | Free Apple iTunes Search API with no key: search songs, albums, artists, apps, podcasts and books with artwork and preview URLs. Tested curl example. | No key | Yes | 19 Aug 2026 |
| Lyrics.ovh | Free song lyrics API with no key. Fetch full lyrics by artist and title with a single GET request. CORS enabled. Tested curl example and live response. | No key | Yes | 19 Aug 2026 |
| Deezer | Free Deezer API with no key for public data: artists, albums, tracks, charts and 30-second previews. Rich metadata and images. Tested curl example. | No key | No | 19 Aug 2026 |
| TheAudioDB | Free music metadata API with a public test key: artist biographies, album artwork, track listings, banners and logos for media libraries. Tested example. | No key | Yes | 19 Aug 2026 |
| Audius | Free streaming catalogue API with no key: trending tracks, artists and playlists from a decentralised network, including streamable audio URLs. Tested example included. | No key | Yes | 21 Aug 2026 |
| Cover Art Archive | Free album artwork API with no key: pass a MusicBrainz release id and get every scanned cover, front and back, at several thumbnail sizes. Tested example included. | No key | Yes | 21 Aug 2026 |
Radio Browser is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 19 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.