Repository navigation
Subsonic API
Derrik Diener edited this page Jul 16, 2026
·
1 revision
Supernova implements the Subsonic REST API. This means you can use almost any third-party Subsonic client on iOS, Android, or Desktop to connect to your Supernova server.
Because Supernova strictly adheres to the standard Subsonic API contracts, popular apps will work out-of-the-box, including:
- DSub (Android)
- playSub (iOS)
- Symfonium (Android)
- Ultrasonic (Android)
When configuring your client, you will generally need to provide:
-
Server URL: The URL where your Supernova instance is hosted (e.g.,
http://192.168.1.100:8080). - Username: Your Supernova login username.
- Password: Your Supernova password.
Note: Supernova supports the modern Subsonic authentication methods (token/salt), so clients that require secure authentication are fully supported.
The API endpoints are served under /rest/.
Supernova's implementation handles both XML and JSON responses depending on the client's request (f=json or f=xml).
Features currently supported via the Subsonic API:
-
Authentication (
ping,getLicense) -
Browsing (
getIndexes,getMusicDirectory,getGenres) -
Metadata (
getArtist,getAlbum,getSong,getCoverArt) -
Playback & Streaming (
stream,download) -
Playlists (
getPlaylists,getPlaylist) -
Favorites (
getStarred,getStarred2) -
Search (
search2,search3)
- All Subsonic API routes are protected by the same middleware layer as the web UI.
- File streaming endpoints enforce path validation, ensuring that a maliciously crafted Subsonic client cannot execute a path traversal attack to read unauthorized system files.