radio-browser
v2.2.3
Published
nodejs module for radio-browser API (http://www.radio-browser.info/webservice)
Downloads
982
Maintainers
Readme
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 stationclickStation(<stationuuid>)
Station click countergetCategory(<category>[, filter])
Get a list of codecs, countries, countrycodes, languages, states, tagsgetChecks([stationuuid][, seconds])
List of station check resultsgetChecksteps(<uuids>)
List of station check stepsgetClicks([stationuuid][, seconds])
List of station clicksgetRandomHost()
Convenience function to get a random host without api request.getServerConfig()
Server configgetServerMirrors()
Server mirrorsgetServerStats()
Server statsgetStations([filter])
List of radio stations, Stations by clicks, Url, vote, recent click, recent changed, deleted, need improvements, brokensearchStations([params])
Advanced station searchvoteStation(<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