Radio Browser logo

Radio Browser

Radio Browser is a free, community-driven directory of internet radio stations. The project publishes a public REST API exposing the full catalog of stations along with category aggregates (countries, states, languages, tags, codecs), click counting, voting, and station submission. Mirrors are discovered through a round-robin DNS pool (all.api.radio-browser.info) and the canonical server software (radiobrowser-api-rust) is released under AGPL-3.0, so anyone can self-host an additional mirror.

1 APIs 3 Capabilities 8 Features
MusicRadioStreamingOpen SourceOpen DataCommunityPublic APIsAGPL

APIs

Radio Browser API

Public REST API exposing internet radio stations, category aggregates (countries, states, languages, tags, codecs), click counting, voting, station submission, mirror discovery,...

Capabilities

Radio Browser — Categories

Radio Browser Categories capability exposing aggregated counts of countries, languages, tags, codecs, and states.

Run with Naftiko

Radio Browser — Interactions

Radio Browser Interactions capability exposing click counting, voting, and station submission flows. These are throttled per IP by the upstream Radio Browser servers (1 click pe...

Run with Naftiko

Radio Browser — Stations

Radio Browser Stations capability covering search, browse, and ranking operations across the community-maintained internet radio directory.

Run with Naftiko

Features

Round-Robin Mirror Pool

Servers discovered via DNS resolution of all.api.radio-browser.info; clients pick a healthy mirror and fall back as needed.

Multiple Response Formats

JSON, XML, CSV, M3U, PLS, XSPF, and TTL output for nearly every read endpoint.

Faceted Browse

List stations by country, country code, state, language, tag, or codec with station counts per facet.

Continuous Stream Health Checks

Stations are automatically pinged to verify their stream is reachable; results power lastcheckok and broken-station endpoints.

Community Curation

Anyone can submit a station via POST /json/add; clicks and votes feed station popularity rankings.

Open Source Server (AGPL-3.0)

The radiobrowser-api-rust server is open source; operators can self-host an additional mirror.

Geo Coordinates

Stations carry optional geo_lat/geo_long for map-based discovery.

Prometheus Metrics

Each mirror exposes /metrics in Prometheus exposition format for operational observability.

Use Cases

Internet Radio Player Apps

Power desktop, mobile, and web players that let users browse the directory and play streams.

Voice Assistant Skills

Back Alexa/Google/Home Assistant skills that play "play jazz radio from France" requests by searching the directory.

Smart Speaker Integrations

Embedded firmware (e.g. AirMusic, Hama, internet radio hardware) ships Radio Browser as a station source.

Music Discovery Research

Researchers analyze the catalog to study global radio programming, language distribution, and genre tagging.

Streaming Health Dashboards

Use the /json/checks data to build dashboards showing global radio stream uptime.

Editorial Curation

Editors use vote/click data to surface trending stations by country, language, or genre.

Integrations

Home Assistant

Multiple custom components and the built-in Radio Browser integration use the API for station selection.

VLC / Media Players

Media player extensions consume the API to populate radio station catalogs.

Self-Hosted Mirrors

Operators run radiobrowser-api-rust to add to the all.api.radio-browser.info pool.

Public APIs Directory

Listed in public-apis/public-apis under the Music category.

Solutions

Hosted Community API

The free, hosted, AGPL-licensed Radio Browser mirror network — the default for most apps.

Self-Hosted Mirror

Run radiobrowser-api-rust on your own infrastructure for guaranteed throughput, isolated data, or private catalogs.

Semantic Vocabularies

Radio Browser Context

24 classes · 3 properties

JSON-LD

API Governance Rules

Radio Browser API Rules

7 rules · 2 errors 4 warnings 1 info

SPECTRAL

Resources

🔗
Website
Website
🔗
Documentation
Documentation
🔗
APIReference
APIReference
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
💻
SourceCode
SourceCode
🔗
HelmCharts
HelmCharts
🔗
License
License
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
NaftikoCapability
NaftikoCapability
🔗
NaftikoCapability
NaftikoCapability
🔗
NaftikoCapability
NaftikoCapability
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
PublicAPIsListing
PublicAPIsListing
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK

Sources

Raw ↑
aid: radio-browser
name: Radio Browser
description: >-
  Radio Browser is a free, community-driven directory of internet radio
  stations. The project publishes a public REST API exposing the full
  catalog of stations along with category aggregates (countries, states,
  languages, tags, codecs), click counting, voting, and station
  submission. Mirrors are discovered through a round-robin DNS pool
  (all.api.radio-browser.info) and the canonical server software
  (radiobrowser-api-rust) is released under AGPL-3.0, so anyone can
  self-host an additional mirror.
type: Index
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
tags:
  - Music
  - Radio
  - Streaming
  - Open Source
  - Open Data
  - Community
  - Public APIs
  - AGPL
url: >-
  https://raw.githubusercontent.com/api-evangelist/radio-browser/refs/heads/main/apis.yml
created: '2026-05-28'
modified: '2026-05-28'
specificationVersion: '0.20'
x-source: public-apis/public-apis
x-category: Music
x-type: opensource
x-tier: 3
x-tier-reason: bulk-registered-from-public-apis
apis:
  - aid: radio-browser:radio-browser-api
    name: Radio Browser API
    description: >-
      Public REST API exposing internet radio stations, category
      aggregates (countries, states, languages, tags, codecs), click
      counting, voting, station submission, mirror discovery, and
      service statistics. Response formats include JSON, XML, CSV,
      M3U, PLS, XSPF, and TTL.
    humanURL: https://api.radio-browser.info/
    baseURL: https://de1.api.radio-browser.info
    tags:
      - Music
      - Radio
      - Streaming
    properties:
      - type: Documentation
        url: https://api.radio-browser.info/
      - type: APIReference
        url: https://docs.radio-browser.info/
      - type: OpenAPI
        url: openapi/radio-browser-openapi.yml
      - type: JSONSchema
        url: json-schema/radio-browser-station-schema.json
      - type: JSONSchema
        url: json-schema/radio-browser-category-schema.json
      - type: JSONSchema
        url: json-schema/radio-browser-stats-schema.json
      - type: JSONStructure
        url: json-structure/radio-browser-station-structure.json
      - type: JSONStructure
        url: json-structure/radio-browser-category-structure.json
      - type: JSON-LD
        url: json-ld/radio-browser-context.jsonld
      - type: Example
        url: examples/radio-browser-list-stations-example.json
      - type: Example
        url: examples/radio-browser-search-stations-example.json
      - type: Example
        url: examples/radio-browser-list-countries-example.json
      - type: Example
        url: examples/radio-browser-list-tags-example.json
      - type: Example
        url: examples/radio-browser-click-station-example.json
      - type: Example
        url: examples/radio-browser-vote-station-example.json
      - type: Example
        url: examples/radio-browser-get-stats-example.json
      - type: Authentication
        url: https://docs.radio-browser.info/
        description: No authentication required. Clients MUST send a descriptive User-Agent header.
      - type: RateLimits
        url: rate-limits/radio-browser-rate-limits.yml
common:
  - type: Website
    url: https://www.radio-browser.info/
  - type: Documentation
    url: https://api.radio-browser.info/
  - type: APIReference
    url: https://docs.radio-browser.info/
  - type: GitHubOrganization
    url: https://github.com/segler-alex
  - type: GitHubRepository
    url: https://github.com/segler-alex/radiobrowser-api-rust
    description: Archived GitHub mirror of the canonical Rust server (now on GitLab).
  - type: SourceCode
    url: https://gitlab.com/radiobrowser/radiobrowser-api-rust
    description: Canonical AGPL-3.0 server (Rust). Self-host to run your own mirror.
  - type: HelmCharts
    url: https://gitlab.com/radiobrowser/helm-charts
  - type: License
    url: https://www.gnu.org/licenses/agpl-3.0.html
    description: AGPL-3.0 for the server software. Database is community-contributed.
  - type: SpectralRules
    url: rules/radio-browser-rules.yml
  - type: Vocabulary
    url: vocabulary/radio-browser-vocabulary.yml
  - type: NaftikoCapability
    url: capabilities/radio-browser-stations.yaml
  - type: NaftikoCapability
    url: capabilities/radio-browser-categories.yaml
  - type: NaftikoCapability
    url: capabilities/radio-browser-interactions.yaml
  - type: Plans
    url: plans/radio-browser-plans-pricing.yml
  - type: RateLimits
    url: rate-limits/radio-browser-rate-limits.yml
  - type: PublicAPIsListing
    url: https://github.com/public-apis/public-apis
  - type: SDK
    url: https://github.com/ivandotv/radio-browser-api
    description: JavaScript/TypeScript wrapper (ivandotv/radio-browser-api).
  - type: SDK
    url: https://github.com/andreztz/pyradios
    description: Python client (andreztz/pyradios).
  - type: SDK
    url: https://github.com/sfuhrm/radiobrowser4j
    description: Java client (sfuhrm/radiobrowser4j).
  - type: SDK
    url: https://github.com/nepodev/radio-browser
    description: Node.js client (nepodev/radio-browser).
  - type: SDK
    url: https://github.com/tomassasovsky/radio-browser-api.dart
    description: Dart client (tomassasovsky/radio-browser-api.dart).
  - type: SDK
    url: https://github.com/adinan-cenci/radio-browser
    description: PHP client (adinan-cenci/radio-browser).
  - type: SDK
    url: https://hexdocs.pm/radio_browser/
    description: Elixir client (RadioBrowser on Hex).
  - type: Features
    data:
      - name: Round-Robin Mirror Pool
        description: Servers discovered via DNS resolution of all.api.radio-browser.info; clients pick a healthy mirror and fall back as needed.
      - name: Multiple Response Formats
        description: JSON, XML, CSV, M3U, PLS, XSPF, and TTL output for nearly every read endpoint.
      - name: Faceted Browse
        description: List stations by country, country code, state, language, tag, or codec with station counts per facet.
      - name: Continuous Stream Health Checks
        description: Stations are automatically pinged to verify their stream is reachable; results power lastcheckok and broken-station endpoints.
      - name: Community Curation
        description: Anyone can submit a station via POST /json/add; clicks and votes feed station popularity rankings.
      - name: Open Source Server (AGPL-3.0)
        description: The radiobrowser-api-rust server is open source; operators can self-host an additional mirror.
      - name: Geo Coordinates
        description: Stations carry optional geo_lat/geo_long for map-based discovery.
      - name: Prometheus Metrics
        description: Each mirror exposes /metrics in Prometheus exposition format for operational observability.
  - type: UseCases
    data:
      - name: Internet Radio Player Apps
        description: Power desktop, mobile, and web players that let users browse the directory and play streams.
      - name: Voice Assistant Skills
        description: Back Alexa/Google/Home Assistant skills that play "play jazz radio from France" requests by searching the directory.
      - name: Smart Speaker Integrations
        description: Embedded firmware (e.g. AirMusic, Hama, internet radio hardware) ships Radio Browser as a station source.
      - name: Music Discovery Research
        description: Researchers analyze the catalog to study global radio programming, language distribution, and genre tagging.
      - name: Streaming Health Dashboards
        description: Use the /json/checks data to build dashboards showing global radio stream uptime.
      - name: Editorial Curation
        description: Editors use vote/click data to surface trending stations by country, language, or genre.
  - type: Integrations
    data:
      - name: Home Assistant
        description: Multiple custom components and the built-in Radio Browser integration use the API for station selection.
      - name: VLC / Media Players
        description: Media player extensions consume the API to populate radio station catalogs.
      - name: Self-Hosted Mirrors
        description: Operators run radiobrowser-api-rust to add to the all.api.radio-browser.info pool.
      - name: Public APIs Directory
        description: Listed in public-apis/public-apis under the Music category.
  - type: Solutions
    data:
      - name: Hosted Community API
        description: The free, hosted, AGPL-licensed Radio Browser mirror network — the default for most apps.
      - name: Self-Hosted Mirror
        description: Run radiobrowser-api-rust on your own infrastructure for guaranteed throughput, isolated data, or private catalogs.
maintainers:
  - FN: Kin Lane
    email: [email protected]