spotify-player – command driven Spotify player

Last Updated on February 21, 2023

First launched in 2008, Spotify is a digital music streaming service with a freemium business model. You can listen to a huge library of music and podcasts for no charge if you are prepared to have shuffle play (with limited skips), interrupted listening and lower audio bitrate. Alternatively, there’s the option of Spotify Premium. In the UK, a subscription costs £9.99 per month for an Individual account. This gives you streaming music at 320 kbps, the ability to download music, and full functionality.

Spotify provide a semi-official app for the service. But third-party clients are available for Spotify Premium users. Spotify blocks API access to their audio for non-premium members.

We’ve recently reviewed spotify-qt, Spotify TUI, and ncspot, which are third party-clients which let you enjoy Spotify without needing to use the semi-official bloated Spotify app.

spotify-player is a command-line Spotify client that’s written in Rust. It uses the librespot library to make an integrated Spotify client. The software is published under an open source license. Like other third-party clients, you’ll need a Spotify premium subscription to use it.


There is a package available in the AUR (for Arch and Arch-based distros) but it doesn’t compile in useful optional extras like cover art and lyrics. We therefore took the manual approach by cloning the project’s repository:

$ git clone

Change into the newly created directory:

$ cd spotify-player

Let’s compile the code with the extras we want: cover art and lyrics.

$ cargo install --features lyric-finder --features image spotify_player

Make sure you add ~/.cargo/bin to your PATH. With the bash shell, add the following line to .bashrc:


Exit the shell or use the source command as usual.

On first run, you are prompted to enter your Spotify account name and password.

spotify-player uses a file named app.toml to configure general application settings. There are bound to be a few configuration changes you’d like. For example, the software defaults to a volume level of 50. We prefer a higher setting. Copy the app.toml file from the examples directory of the project’s GitHub repository to  ~/.config/spotify-player/. Change the line volume = 50 to something more sensible such as volume = 90.

The Configuration Documentation explains other settings you can change in app.toml. See the Summary section for the link. The documentation explains how to change things like keyboard shortcuts too.

Next page: Page 2 – In Operation

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Memory Usage
Page 4 – Summary

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments