nepodev / radio-browser

Nodejs module for Radio-browser API
MIT License
47 stars 9 forks source link
node-module nodejs radio-browser webradio

RadioBrowser API Client

Nodejs module for Radio-browser API

Install

npm install radio-browser

Usage

Every method returns a promise so you have to use then and catch or async and await.

const RadioBrowser = require('radio-browser')

let filter = {
    limit: 5,          // list max 5 items
    by: 'tag',         // search in tag
    searchterm: 'jazz' // term in tag
}
RadioBrowser.getStations(filter)
    .then(data => console.log(data))
    .catch(error => console.error(error))

Methods

Properties

Examples:

Get Server Stats from a random API-Host by using async/await

// file: examples/server-stats.js

const RadioBrowser = require('radio-browser')

const start = async () => {
    try {
        let data = await RadioBrowser.getServerStats()
        console.log(`API Server: ${RadioBrowser.service_url}`)
        console.log('stats', data)
    }
    catch (e) {
        console.error(e)
    }
}

start()
// example output
API Server: https://de1.api.radio-browser.info/
stats { supported_version: 1,
  software_version: '0.6.14',
  status: 'OK',
  stations: 25603,
  stations_broken: 767,
  tags: 6757,
  clicks_last_hour: 2707,
  clicks_last_day: 59547,
  languages: 374,
  countries: 246 }

Get the 5 top voted station

let filter = {
    by: 'topvote', // stations by topvote
    limit: 5    // top 5 stations
}
RadioBrowser.getStations(filter)
    .then(data => console.log(data))
    .catch(err => console.error(err))

data looks like this