spotify_player

Terminal Spotify client with streaming, Spotify Connect remote control, synced lyrics, audio visualization, daemon mode, and CLI commands. Requires Premium.

install

spotify_player is a terminal music player for Spotify, written in Rust. It aims for feature parity with the official Spotify application and uses a paging and popup system for navigation. It requires a Spotify Premium account and authenticates through the Spotify Web API using the OAuth 2.0 authorization code flow with PKCE, so no client secret is stored.

It can stream audio directly from the terminal through a librespot session, or act as a remote control for other devices via Spotify Connect. Other documented features include synced lyrics, audio visualization, image rendering, desktop notifications, cross-platform media control, mouse support, and fuzzy search. The application can also run as a daemon, and a set of CLI commands is available. The spotify_player authenticate command forces fresh logins for all required credentials, which is useful before a daemon or headless launch.

By default it uses ncspot's client ID for Web API access. The README recommends registering a custom client ID to avoid shared rate limits (429 responses). With a custom client configured, requests that get a 4xx response are retried once through ncspot. Configuration is file-based, with documented options such as client_id, login_redirect_uri, and api_rate_limit_retries. Linux builds need openssl, alsa-lib (streaming), and libdbus (media control). Prebuilt binaries, Docker images (streaming disabled), and packages for several platforms are available. It suits terminal users who want a Spotify client with scripting and headless options.

Installation

# via Homebrew
brew install spotify_player
# via Cargo
cargo install spotify_player --locked
# via Arch Linux
pacman -S spotify-player

spotify-player playing an album with the audio visualizer

Alternatives & related tools

add a badge to your README

Maintain spotify_player? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/spotify-player.svg)](https://www.trmn.sh/tools/spotify-player?utm_source=badge)
HTML
<a href="https://www.trmn.sh/tools/spotify-player?utm_source=badge"><img src="https://www.trmn.sh/badge/spotify-player.svg" alt="Featured on trmn" height="20"></a>