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.
ncspot is a command-line Spotify client that’s written in Rust. It’s published under an open source license. Like the other third-party clients, you’ll need a Spotify premium subscription to use it.
We tested ncspot exclusively with Manjaro (an Arch-based distro). There are packages available in the Arch User Repository including one that gives cover art albums. We tested both the cover art and non-cover art packages.
ncspot prompts for a Spotify username and password on first launch, and uses this information to generate an OAuth token. This token is saved to disk.
The credentials are stored in ~/.cache/ncspot/librespot/credentials.json. We’re not keen on storing sensitive information in plain text.
Unlike spotify-qt and Spotify TUI, ncspot doesn’t use spotifyd. Instead it uses librespot as its client library.