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
-
addStation(<params>)
Add radio station -
clickStation(<stationuuid>)
Station click counter -
getCategory(<category>[, filter])
Get a list of codecs, countries, countrycodes, languages, states, tags -
getChecks([stationuuid][, seconds])
List of station check results -
getChecksteps(<uuids>)
List of station check steps -
getClicks([stationuuid][, seconds])
List of station clicks -
getRandomHost()
Convenience function to get a random host without api request. -
getServerConfig()
Server config -
getServerMirrors()
Server mirrors -
getServerStats()
Server stats -
getStations([filter])
List of radio stations, Stations by clicks, Url, vote, recent click, recent changed, deleted, need improvements, broken -
searchStations([params])
Advanced station search -
voteStation(<stationuuid>)
Vote for station
Properties
-
filter_by_types
list of types using in getStations({by: {type}, ...}) -
category_types
list of categories using in getCategory({type} ...) -
service_url
get or set the api-url. Default isnull
to get a random API host at first request.
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