npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@lucaperret/tidal-cli

v1.1.2

Published

CLI for Tidal music streaming service, designed for LLM agent automation

Readme

tidal-cli

npm CI License Node

About

tidal-cli wraps the Tidal API v2 into a single command-line tool. Search the catalog, manage playlists, explore artists, play tracks, and handle your library — all without opening a browser. Every command supports --json output, making it the backbone for LLM agent automation through OpenClaw.

Features

  • Search artists, albums, tracks, videos, playlists, and autocomplete suggestions
  • Artists — info, top tracks, discography, similar artists, radio
  • Albums — details, barcode lookup
  • Tracks — info, similar tracks, ISRC lookup, radio
  • Playlists — full CRUD, add/remove tracks, reorder, add entire albums
  • Library — favorites for artists, albums, tracks, videos, playlists
  • Playback — stream info, direct URLs, local playback via DASH
  • Recommendations — personalized mixes (My Mix, Discovery, New Arrivals)
  • History — recently added tracks, albums, artists
  • JSON output on every command for scripting and agent use

Installation

npm install -g @lucaperret/tidal-cli

Requirements

  • Node.js >= 20
  • A Tidal account

Quick Start

# Sign in once — opens your browser
tidal-cli auth

# Search for a track
tidal-cli search track "Around the World"

# Get artist details
tidal-cli artist info 8992

# Play a track
tidal-cli playback play 5756235

Usage

Search

tidal-cli search artist "Gorillaz"
tidal-cli search album "Mezzanine"
tidal-cli search track "Teardrop"
tidal-cli search video "Stylo"
tidal-cli search playlist "Electronic"
tidal-cli search suggest "daft punk"
tidal-cli search editorial "indie rock"

Artist

tidal-cli artist info <id>
tidal-cli artist tracks <id>
tidal-cli artist albums <id>
tidal-cli artist similar <id>
tidal-cli artist radio <id>

Album & Track

tidal-cli album info <id>
tidal-cli album barcode <ean>
tidal-cli track info <id>
tidal-cli track similar <id>
tidal-cli track isrc <isrc>
tidal-cli track radio <id>

Playlists

tidal-cli playlist list
tidal-cli playlist create --name "Late Night Electronic"
tidal-cli playlist add-track --playlist-id <id> --track-id <id>
tidal-cli playlist add-album --playlist-id <id> --album-id <id>
tidal-cli playlist remove-track --playlist-id <id> --track-id <id>
tidal-cli playlist move-track --playlist-id <id> --track-id <id> --before <itemId>
tidal-cli playlist rename --playlist-id <id> --name "New Name"
tidal-cli playlist set-description --playlist-id <id> --desc "Updated description"
tidal-cli playlist delete --playlist-id <id>

Library

tidal-cli library add --track-id <id>
tidal-cli library add --artist-id <id>
tidal-cli library add --album-id <id>
tidal-cli library add --video-id <id>
tidal-cli library remove --track-id <id>
tidal-cli library favorite-playlists
tidal-cli library add-playlist --playlist-id <id>
tidal-cli library remove-playlist --playlist-id <id>

Discovery & History

tidal-cli recommend
tidal-cli history tracks
tidal-cli history albums
tidal-cli history artists
tidal-cli user profile

Playback

tidal-cli playback play <id>
tidal-cli playback play <id> --quality LOSSLESS
tidal-cli playback info <id>
tidal-cli playback url <id>

Quality options: LOW, HIGH, LOSSLESS, HI_RES.

JSON Output

Add --json before any subcommand:

tidal-cli --json search track "Around the World"
tidal-cli --json playlist list
tidal-cli --json artist similar 8992

Agent Automation

tidal-cli is available as an OpenClaw skill on ClawHub. Install it for your AI agent:

clawhub install tidal-cli

After tidal-cli auth, agents can run commands non-interactively with auto-refreshing tokens.

Example prompts for your AI agent

  • "Create a playlist with the best tracks from Daft Punk's Discovery album"
  • "Find artists similar to Massive Attack and add their top tracks to my library"
  • "What are my playlists? Add the new LCD Soundsystem album to the first one"
  • "Play me something by Boards of Canada"
  • "Build a 2000s indie rock playlist with The Strokes, Arctic Monkeys, and Interpol"

Scripting patterns

# Search then act
TRACK=$(tidal-cli --json search track "Around the World" | jq -r '.[0].id')
tidal-cli playlist add-track --playlist-id <id> --track-id "$TRACK"

# Discovery: artist → similar → top tracks → playlist
ARTIST=$(tidal-cli --json search artist "Boards of Canada" | jq -r '.[0].id')
SIMILAR=$(tidal-cli --json artist similar "$ARTIST" | jq -r '.[0].id')
TRACK=$(tidal-cli --json artist tracks "$SIMILAR" | jq -r '.[0].id')
tidal-cli playlist add-track --playlist-id <id> --track-id "$TRACK"

Development

git clone https://github.com/lucaperret/tidal-cli.git
cd tidal-cli
npm install
npm run build
npm test

Running Tests

npm test           # run once
npm run test:watch # watch mode

111 tests covering search, playlists, artists, tracks, albums, library, auth, and session.

License

tidal-cli is licensed under the MIT License. See the LICENSE file for details.