Subsonic API
Funkwhale implements a subset of the Subsonic API that makes it compatible with various apps in the Subsonic ecosystem (See Using Funkwhale from other apps).
Supported endpoints
We seek the best compatibility with existing apps and will eventually implement all endpoints that match Funkwhale’s feature set. However, the current implementation do not include folder-based endpoints, as it does not match our internal model at all and will require substantial effort to emulate.
We’ll try to keep this list up-to-date, but you can also browse the relevant code if needed.
As of today, the following endpoints are implemented:
createPlaylist
deletePlaylist
getAlbum
getAlbumList2
getArtist
getArtistInfo2
getArtists
getAvatar
getCoverArt
getIndexes
getLicense
getMusicFolders
getPlaylist
getPlaylists
getRandomSongs
getSong
getStarred
getStarred2
getUser
ping
scrobble
search3
star
stream
unstar
updatePlaylist
We support both XML and JSON formats for all those endpoints.
Additional properties
Regardless of the endpoints, we always return those additional properties in our payload, which you can use to adapt your client behaviour if needed:
{
"subsonic-response": {
"type": "funkwhale",
"funkwhaleVersion": "0.17"
}
}
Testing a Subsonic app
We maintain a demo server at https://demo.funkwhale.audio/, which you can use for your tests. Example with the ping endpoint: https://demo.funkwhale.audio/rest/ping.view?f=json