# ncspot

> Cross-platform ncurses Spotify client written in Rust on librespot, with Vim keybindings and an IPC socket for remote control. Requires Spotify Premium.

Stars: 6.8k · Language: Rust · License: BSD-2-Clause · Categories: Productivity

- Repository: https://github.com/hrkfdn/ncspot
- Page: https://www.trmn.sh/tools/ncspot

## Overview

ncspot is a terminal Spotify client built with ncurses, written in Rust on top of librespot. Its interface is modeled on ncurses MPD clients such as ncmpc. It lets you browse and play tracks, albums, playlists and genres, and search the Spotify catalog, all from the terminal. It requires a Spotify Premium account.

The project aims to be a small, resource-friendly alternative to the official Spotify client, and it documents its resource footprint in a separate doc. It also targets platforms without an official client, such as the BSDs. Packages exist for macOS (Homebrew), Windows (Scoop, WinGet), Linux (native packages, Flathub, Snapcraft) and the BSDs.

Vim-style keybindings are available by default, and an IPC socket allows remote control of a running instance. A configuration file can be placed at the default location `~/.config/ncspot`. Building from source needs a Rust toolchain and Python 3, using `cargo build`. It suits developers and terminal users with a Premium account who want a keyboard-driven, lightweight player.

![ncspot search tab](https://media.trmn.sh/cached/8b4ec7bbbe4ce6326dc86cc3303f3c8153c08850a27950935b6d18b3473686d7.png)

## Alternatives

- [pueue](https://www.trmn.sh/tools/pueue.md): Command-line task management tool for sequential and parallel execution of long-running shell commands (Rust, 6.4k stars)
- [Himalaya](https://www.trmn.sh/tools/himalaya.md): Rust CLI for managing email across IMAP, SMTP, JMAP, Gmail, Microsoft Graph and Maildir backends, with multi-account TOML config and JSON output. (Rust, 7.5k stars)
- [presenterm](https://www.trmn.sh/tools/presenterm.md): Terminal slideshow tool that runs markdown files as presentations, with images, themes, code highlighting and execution, and PDF/HTML export. (Rust, 8.9k stars)
- [Numbat](https://www.trmn.sh/tools/numbat.md): Statically typed scientific calculator language with physical dimensions as types and first-class units, with an interactive REPL and unit conversion via ->. (Rust, 2.8k stars)
- [taskwarrior-tui](https://www.trmn.sh/tools/taskwarrior-tui.md): A terminal user interface for Taskwarrior with vim-like navigation and live filtering capabilities. (Rust, 2.2k stars)

---

Canonical: https://www.trmn.sh/tools/ncspot
