Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. Spotify Player

Spotify Player

MITRustv0.23.0

A fast, configurable terminal music player for Spotify with full feature parity, streaming, and audio visualization.

GitHubGitHub
6.8k stars355 forks0 contributors

What is Spotify Player?

spotify_player is a terminal-based Spotify client that provides a complete music streaming experience directly from the command line. It offers feature parity with the official Spotify application, including local streaming via librespot, remote control via Spotify Connect, and a highly customizable minimalist interface. It solves the need for a lightweight, scriptable, and feature-rich Spotify client that operates entirely within a terminal environment.

Target Audience

Developers, system administrators, and power users who prefer terminal-based applications and want a full-featured Spotify client that integrates with their command-line workflow. It is specifically for users with a Spotify Premium account, as required for streaming.

Value Proposition

Developers choose spotify_player for its comprehensive feature set that matches the official app, including local streaming, Spotify Connect, and audio visualization, all within a terminal. Its unique selling point is the combination of being highly configurable, scriptable via CLI commands, and offering a daemon mode for background operation, making it ideal for automation and integration into development environments.

Overview

A Spotify player in the terminal with full feature parity

Use Cases

Best For

  • Streaming Spotify music directly in the terminal without a graphical interface.
  • Controlling Spotify playback remotely via Spotify Connect from a command-line environment.
  • Automating Spotify tasks through script-friendly CLI commands for playback, search, and playlist management.
  • Running Spotify as a background service (daemon mode) on Linux and macOS systems.
  • Displaying real-time audio visualizations and synced lyrics during local playback in the terminal.
  • Integrating Spotify control with media keys and desktop notifications across Linux, Windows, and macOS.

Not Ideal For

  • Users without a Spotify Premium account, as streaming requires a paid subscription.
  • Windows users needing background daemon operation, since daemon mode is unsupported on this platform.
  • Environments with basic terminals lacking graphics support, where album art rendering is limited to block characters.
  • Teams seeking a zero-configuration, drop-in solution, due to the need for Rust compilation and system dependencies.

Pros & Cons

Pros

Comprehensive Feature Set

Matches the official Spotify app with local streaming, Spotify Connect, synced lyrics, and audio visualization, offering a complete terminal experience without a GUI.

High Customizability

Extensive configuration options for UI themes, keymaps, and audio backends allow users to tailor the interface and functionality to their workflow.

Automation-Friendly CLI

Provides scriptable commands that output JSON, enabling easy integration with shell scripts and tools like jq for automated playback and playlist management.

Cross-Platform Media Integration

Supports media keys via MPRIS on Linux and OS events on Windows/macOS, ensuring seamless playback control across different operating systems.

Cons

Steep Installation Barrier

Requires Rust, cargo, and platform-specific libraries (e.g., openssl, alsa-lib on Linux), making setup more complex than pre-packaged or binary-only alternatives.

Inconsistent Image Rendering

Album art display is limited to specific terminals like Kitty or iTerm2 for full resolution; others rely on block characters or Sixel graphics with scaling issues.

Platform-Specific Feature Gaps

Daemon mode is unavailable on Windows, and notifications are less robust on macOS and Windows, reducing functionality parity across all platforms.

Frequently Asked Questions

Quick Stats

Stars6,811
Forks355
Contributors0
Open Issues115
Last commit25 days ago
CreatedSince 2021

Tags

#music#spotify-client#vim#terminal#cli-tool#tui#spotify-api#media-control#player#audio-visualization#spotify#music-streaming#rust#spotify-connect#music-player

Built With

O
OpenSSL
d
dbus
r
ratatui
R
Rust
r
rodio
l
librespot

Included in

Rust56.6k
Auto-fetched 20 hours ago

Related Projects

SpotifydSpotifyd

A spotify daemon

Stars10,666
Forks501
Last commit11 days ago
ncspotncspot

Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes.

Stars6,634
Forks266
Last commit5 days ago
rmpcrmpc

A modern, configurable, terminal based MPD Client with album art support via various terminal image protocols

Stars2,974
Forks98
Last commit5 days ago
GlicolGlicol

Graph-oriented live coding language and music/audio DSP library written in Rust

Stars2,972
Forks98
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub