Subsonic API Compatibility

Are you a Subsonic client developer? Check out the API features supported by Navidrome

Supported Subsonic API endpoints

Navidrome is currently compatible with Subsonic API v1.12.0, with some exceptions.

This is an (almost) up to date list of all Subsonic API endpoints implemented by Navidrome. Check the “Notes” column for limitations/missing behavior. Also keep in mind these differences between Navidrome and Subsonic:

  • Right now, Navidrome only works with a single Music Library (Music Folder)
  • Navidrome does not mark songs as played by calls to stream, only when scrobble is called with submission=true
System
ping
getLicense Always valid ;)
Browsing
getMusicFolders Hardcoded to just one, set with ND_MUSICFOLDER configuration
getIndexes Doesn’t support shortcuts, nor direct children
getMusicDirectory
getSong
getArtists
getArtist
getAlbum
getGenres
Album/Songs Lists
getAlbumList
getAlbumList2
getStarred
getStarred2
getNowPlaying
getRandomSongs
getSongsByGenre
Searching
search2 Doesn’t support Lucene queries, only simple auto complete queries
search3 Doesn’t support Lucene queries, only simple auto complete queries
Playlists
getPlaylists username parameter is not implemented
getPlaylist
createPlaylist Return empty response on success
updatePlaylist
deletePlaylist
Media Retrieval
stream
download
getCoverArt
getAvatar Always returns the same image
Media Annotation
star
unstar
setRating
scrobble No Last.FM support yet. It is used to update play count and last played
User Management
getUser Hardcoded all roles, ignores username parameter
Bookmarks
getBookmarks
createBookmark
deleteBookmark
getPlayQueue current is a string id, not int as it shows in the official Subsonic API documentation
savePlayQueue

Last modified August 1, 2020: Update subsonic api (5523f31)