Skip to content

OpenSubsonic API

Pauli Järvinen edited this page Jan 6, 2025 · 4 revisions

The original Subsonic API reached its final version 1.16.1 many years ago and hasn't been maintained since. After that, numerous Subsonic-compatible clients and servers have been created as open source projects, while the original Subsonic server is closed source.

OpenSubsonic API is an open source initiative to create backward-compatible extensions for the original Subsonic API. It's supported by several servers and clients and being actively developed. The Subsonic server back-end in the ownCloud Music app supports some of these extensions.

Extensions supported in Music v2.1.0

  • All subsonic-response objects have the added fields openSubsonic, type, and serverVersion
    • type is either "owncloud music" or "nextcloud music", depending on the host cloud
  • New authentication mechanism apiKeyAuthentication:
    • The client may pass the argument apiKey instead of u and p
    • Endpoint tokenInfo may be used to get the user name matching the apiKey
  • HTTP POST data supported for passing the API method arguments
  • Endpoint search3 allows getting the whole library with the empty argument query=
  • Endpoint getOpenSubsonicExtensions
  • Endpoint getLyricsBySongId
    • The lang field is always returned as "xxx"
    • The offset field is always returned as 0 because the timestamps returned are already adjusted with the offset by the Music app
  • The response type Child has the added fields played and sortName
  • The response type AlbumID3 has the added field sortName
  • The response type AlbumID3WithSongs has the added field sortName
  • The response type ArtistID3 has the added field sortName
Clone this wiki locally