Subsonic API

Funkwhale supports a subset of the Subsonic API’s endpoints. This enables users to listen to music stored on their Funkwhale pod through a Subsonic-compatible app.

We aim to support as many endpoints as we can to give Subsonic users the best possible experience. However, some endpoints require a folder-based endpoint. This doesn’t match Funkwhale’s internal structure, which means emulating them is difficult.

Supported endpoints

Note

We aim to keep this list up-to-date. If you think something is missing, you can see all supported endpoints in the API views.

Funkwhale supports both XML and JSON formats for the following Subsonic endpoints:

Additional properties

Funkwhale returns some additional properties to Subsonic payloads. You can use these properties to adapt your client behavior if needed:

Property

Data type

Description

type

String

The name of the app (funkwhale)

funkwhaleVersion

String

The Funkwhale version the pod is running

{
   "subsonic-response": {
      "type": "funkwhale",
      "funkwhaleVersion": "1.3.0"
   }
}

Test a Subsonic app

We host a demo server at https://demo.funkwhale.audio which you can use to test your Subsonic app.

You can test the Subsonic API by logging in with a Subsonic client or by directly by calling an endpoint. For example, call this URL to test the ping endpoint: https://demo.funkwhale.audio/rest/ping.view?f=json