Radio Browser Scraper: Internet Radio Stations & Streams
Pricing
Pay per event
Radio Browser Scraper: Internet Radio Stations & Streams
Scrape Radio Browser: 59,985 internet radio stations with direct stream URLs, genre tags, country, language, codec, bitrate and votes. Filter by genre, country, language and bitrate. Export CSV, Excel, JSON, XML. No login or API key. Empty searches are never charged.
Pricing
Pay per event
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Radio Browser Scraper: Internet Radio Stations & Streams
Radio Browser Scraper exports internet radio stations from radio-browser.info as CSV, Excel, JSON or XML. Each row has the resolved stream URL, genre tags, country, language, codec, bitrate, votes and the result of the last health check. Filter by genre, country, language and bitrate. No login and no API key. Priced at $0.02 per station on the free plan, with nothing charged for empty searches.
Radio Browser Scraper pulls station data from the open radio-browser.info database, which listed 59,985 working-or-broken stations, 240 countries with stations and 12,446 tags when we checked on 2026-10-04. It is built for radio app developers, smart speaker and in-car teams, and media researchers who need playable stream URLs instead of a raw database dump.
📻 What does Radio Browser Scraper do?
- Finds radio stations by genre tag (jazz, news, rock, classical), country code, language, name text or minimum bitrate.
- Returns the final stream URL after redirects, so the link is ready to embed in a player.
- Hides stations whose stream failed the last automated check (switch on by default).
- Sorts by votes, clicks, trending, name or bitrate.
- Exports a country directory and a genre-tag directory with station counts for market sizing.
- Runs on the public Radio Browser API and rotates across three official mirrors when one is slow.
📊 What data can you extract from Radio Browser?
| Field | Description |
|---|---|
stationId | Radio Browser station UUID |
name | Station name |
streamUrl | Resolved direct stream URL |
homepage, faviconUrl | Station website and logo |
tags | Genre tags, up to 12 (omitted when the station has none) |
country, countryCode, state | Location |
languages | Broadcast languages (omitted when not listed) |
votes, clickCount, clickTrend | Popularity signals |
codec, bitrateKbps | Audio format and quality |
isOnline, lastCheckedAt | Result and time of the last health check |
latitude, longitude | Geo coordinates, or "Not Disclosed" |
url, scrapedAt | Radio Browser history page and scrape time |
stationCount | Directory rows only: stations per country or tag |
🧾 Sample output of the radio station export
This is a real row from our own cloud run on 2026-10-04 (jazz stations in the US, sorted by votes):
{"recordType": "station","stationId": "d1a54d2e-623e-4970-ab11-35f7b56c5ec3","name": "Classic Vinyl HD","streamUrl": "https://icecast.walmradio.com:8443/classic","homepage": "https://walmradio.com/classic","faviconUrl": "https://icecast.walmradio.com:8443/classic.jpg","tags": ["1930", "1940", "1950", "1960", "beautiful music", "big band", "classic hits", "crooners", "easy", "easy listening", "hd", "jazz"],"country": "The United States Of America","countryCode": "US","state": "New York NY","languages": ["english"],"votes": 305547,"clickCount": 769,"clickTrend": 769,"codec": "MP3","bitrateKbps": 320,"isOnline": true,"lastCheckedAt": "2026-10-01T10:47:08Z","latitude": 40.75166,"longitude": -73.97538,"url": "https://www.radio-browser.info/history/d1a54d2e-623e-4970-ab11-35f7b56c5ec3","scrapedAt": "2026-10-04T04:12:52.412Z"}
In that run, 10 of 10 rows were delivered, every station was unique, and no column was empty for all rows. The run took about 3 seconds of runtime.
💰 How much does it cost to scrape Radio Browser?
Pay per event. You are billed only for rows that were saved to your dataset. Failed requests, empty searches and invalid input are never billed.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Station record (one station) | $0.020 | $0.01964 | $0.01909 | $0.01855 |
| Directory row (one country or tag) | $0.010 | $0.010 | $0.010 | $0.010 |
Examples at free plan prices: 10 stations cost $0.20, 1,000 stations cost $20.00 (1,000 x $0.02), and 1,000 directory rows (countries or tags) cost $10.00. On the Gold tier, 1,000 stations cost $18.55. We ran a 10-station test and the platform recorded exactly 10 station-record events. You can cap spend with the Maximum cost per run setting; the actor stops cleanly at your limit.
🚀 How to scrape Radio Browser in 3 steps
- Open the actor and click Try for free.
- Set a genre tag, country code or language, pick a sort order and set Max Items.
- Click Start, then download the dataset as CSV, Excel, JSON or XML.
⚙️ Radio Browser Scraper input
| Field | Default | Meaning |
|---|---|---|
tag | jazz | Genre tag filter. Empty means all genres. |
countryCode | empty | Two-letter ISO code such as US, DE, MX. |
language | empty | Language name such as english or spanish. |
stationName | empty | Name contains this text. |
minBitrate | 0 | Minimum bitrate in kbps. |
onlyWorking | true | Skip stations that failed the last check. |
sortBy | votes | votes, clickcount, clicktrend, name or bitrate. |
includeCountries, includeTags | false | Add directory rows. |
maxItems | 10 | Rows to deliver. Free Apify users are capped at 10. |
{ "tag": "jazz", "countryCode": "US", "sortBy": "votes", "maxItems": 100 }
📦 Radio Browser Scraper output
One dataset row per station, country or tag. The recordType field says which. Fields that a station does not have (for example languages) are left out instead of being filled with empty values. If a search matches nothing, the run ends successfully with a status message and charges nothing. If the Radio Browser API cannot be reached on any mirror, the run fails with a clear message and charges nothing.
🆚 Radio Browser Scraper vs alternatives
Competitor features and prices read from their public Apify Store pages on 2026-10-09. "Not stated" means the listing does not mention it.
| Capability | This actor | benthepythondev | fortuitous_pirate |
|---|---|---|---|
| Filters | Name, tag, country, language, bitrate | Name, country | Name, tag, country, language |
| Working-only filter | Yes | Not stated | Not stated |
| Health check per row | Yes | Yes | Not stated |
| Directories | Countries, tags | Not stated | Tags, by country |
| Zero-result run | Not charged | Fails run | Not stated |
| Price per 1,000 | $20 | $1.60 to $2 | $10 |
Both rivals cost less per row. Our price adds the working-only filter, bitrate filter and five sort modes. For a raw keyword dump, a cheaper actor fits better.
🎯 Radio Browser Scraper use cases
- Radio apps and websites: seed and refresh a station catalog per market with working streams.
- Smart speakers and cars: build preset lists per country, filtered to high-bitrate streams.
- Media research: compare genre and country coverage using the directory rows.
- Broadcast monitoring: track votes and click trend for your own stations over time.
🔌 Run Radio Browser Scraper via API, schedule and integrations
curl -X POST "https://api.apify.com/v2/acts/RecordsData~radio-browser-stations-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"tag":"jazz","countryCode":"US","maxItems":10}'
Schedule nightly refreshes in Apify, or connect to Zapier, Make, n8n, Google Sheets and Airbyte. AI agents can also call it through MCP, see the next section.
🤖 Radio Browser Scraper MCP server for AI agents (Claude, Cursor, VS Code)
Connect this actor to any MCP client through the Apify MCP server. Use this URL, which exposes only this actor as a tool:
https://mcp.apify.com?tools=RecordsData/radio-browser-stations-scraper
Config for clients that take a JSON MCP config:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=RecordsData/radio-browser-stations-scraper"}}}
Example agent prompt: "Use the Radio Browser Scraper to find the 20 most voted working jazz stations in the US with a bitrate of at least 128 kbps, and give me each name, stream URL and codec."
An agent should choose this tool when it needs playable internet radio stream URLs and station metadata filtered by genre, country, language or bitrate. The input takes the same fields as the actor, so keep maxItems small for quick agent runs.
⚖️ Is it legal to scrape Radio Browser?
Radio Browser is a community open-data project with a public API. The actor uses that API with a descriptive user agent and spreads requests across the official mirrors, as the project asks. The data describes public radio stations, not people. You remain responsible for how you use stream URLs and station metadata, including each broadcaster's terms.
❓ Frequently asked questions
Are the Radio Browser stream URLs playable directly?
The Radio Browser Scraper returns the stream URL resolved after redirects in streamUrl, so it is ready to embed in a player. Each row also carries isOnline and lastCheckedAt from the Radio Browser network's last automated health check. A station can still go offline after that check, so keep your player ready to handle failures.
How many stations does Radio Browser have?
On 2026-10-04 the public radio-browser.info stats endpoint reported 59,985 stations, 7,182 of them flagged broken, across 240 countries with stations and 687 languages. The Radio Browser Scraper hides stations whose last check failed by default, using the onlyWorking switch, so a default run returns only working streams.
How do I get only high-quality radio streams?
Set minBitrate in the Radio Browser Scraper to 128 or 320 kbps and keep onlyWorking switched on. You can also sort by bitrate to get the highest-quality streams first. Each row reports the codec and bitrateKbps fields, for example MP3 at 320 kbps in the sample row, so you can filter further after export.
Why did the Radio Browser Scraper return 0 results?
Your filters matched no station. Try a broader genre tag, remove the language filter, or turn onlyWorking off. The Radio Browser Scraper run still succeeds, shows a status message explaining that nothing matched, and charges nothing, because only rows saved to the dataset are billed.
Am I charged for failed or empty Radio Browser runs?
No. The Radio Browser Scraper bills only rows that were saved to your dataset, and it never bills error rows, empty searches or invalid input. If the Radio Browser API cannot be reached on any of its mirrors, the run fails with a clear message and charges nothing. You can also cap spend with the Maximum cost per run setting.
Can I get all radio stations in the world?
Yes. Leave all filters empty in the Radio Browser Scraper and set a large maxItems. Paid Apify plans allow up to 1,000,000 rows per run, while free plan users are capped at 10 rows. At $0.02 per station on the free plan tier, 1,000 stations cost $20, so set a Maximum cost per run for large exports.
Can I try the Radio Browser Scraper for free?
Yes. Free Apify plan users get a 10-row preview per run with the Radio Browser Scraper, which costs $0.20 at the Free plan station price of $0.02. New Apify accounts also include free monthly credit, so you can test the filters and the output format before running a larger export.
Can I export a list of radio countries or genres?
Yes. Turn on includeCountries or includeTags in the Radio Browser Scraper to get one directory row per country or genre tag, each with its stationCount. Each directory row costs $0.01, and these rows are useful for market sizing and for finding the exact tag names to use in a later station search.
🎵 Want more music and media data? Other RecordsData scrapers
🛟 Support
Found a bug or a missing field? Open the Issues tab on this actor's page, or write to contact.punkrecordsdata@gmail.com. Custom solutions are available on request.
Last updated: 2026-10-07