Skip to main content

ytmusic-deleter: Delete your YouTube Music library

GitHub Downloads (all assets, all releases) PyPI - Downloads GitHub Release Release test Release test Release test Pytest Codecov Discord

This is the command-line interface for ytmusic-deleter. For the graphical user interface edition, visit the main page

Command-line interface install using Python / PIP

The CLI version of ytmusic-deleter is for advanced users who would rather use a command-line.

For the graphical user interface edition, visit the main page

Installation instructions of this command-line interface:

  1. Install Python. Make sure it is available on your PATH.
  2. Open a command prompt and type pip install ytmusic-deleter. Use a virtual environment if you're familiar with the process.
  3. Run ytmusic-deleter by simply entering ytmusic-deleter at the command line.

Authentication (Browser)

The first time you run ytmusic-deleter, you will be asked to paste your request headers from your browser. This allows ytmusic-deleter to make requests against your music library. Follow the instructions in the ytmusicapi documentation or my sign-in video tutorial to copy your request headers to your clipboard, then paste them into the terminal window and press the shown key sequence.

$ ytmusic-deleter whoami
[2024-11-16 12:51:05] Attempting authentication with: C:\Users\<username>\AppData\Roaming\YTMusic_Deleter\browser.json
[2024-11-16 12:51:05] Creating file: browser.json
Please paste the request headers from Firefox and press 'Enter, Ctrl-Z, Enter' to continue:

If you are running macOS, please see the special pasting instructions in the "macOS special pasting instructions" section of the ytmusicapi docs.

Usage

When you run ytmusic-deleter with no parameters, you will see see the usage information. There are several commands available.

delete-uploads:    Delete all tracks that you have uploaded to your YT Music library.

Use the --add-to-library or -a option to add each album or song to your library from YouTube Music's online catalog before deleting it from your uploads. If a match could not be found, the album or song will remain in your uploads. When using the -a option, you can also use the --score-cutoff or -s option to raise or lower the default matching score cutoff of 85. A value closer to 100 will be more strict, and a value closer to 0 will be less strict.

remove-library:    Remove all tracks that you have added to your library from within YouTube Music.

unlike-all:    Reset all Thumbs Up ratings back to neutral.

delete-playlists:    Delete all manually created YT Music playlists.

delete-all:    Combo command that will run delete-uploads, remove-library, unlike-all, and delete-playlists.

Non-deletion commands:

sort-playlist:    Sort a playlist alphabetically by artist and then by song title.

Use the --shuffle or -s option to shuffle the playlist instead of sorting it.
Use --custom-sort or -c to define custom sort parameters Available parameters are: artist, album_title, track_title, and duration. See below for examples.
Use --reverse to reverse the sort order.

remove-duplicates:    Remove duplicate tracks from a particular playlist.

Use the --exact or -e option to only remove exact duplicates. This will skip the portion that checks for duplicates that are similar matches but not the same exact track.

add-all-to-playlist:    Add all library songs or uploads to a particular playlist.

Examples

Getting help:

ytmusic-deleter --help

This will print the usage information for ytmusic-deleter and exit.
You can use the --help argument to print usage information for subcommands as well, as follows:

ytmusic-deleter delete-uploads --help

Delete all your uploads:

ytmusic-deleter delete-uploads

Delete all your uploads but add them to your YouTube Music library first:

ytmusic-deleter delete-uploads -a

Remove all your library tracks (not uploads):

ytmusic-deleter remove-library

Reset all Thumbs Up ratings back to neutral:

ytmusic-deleter unlike-all

Delete all your personally created playlists:

ytmusic-deleter delete-playlists

Remove everything (uploads, library tracks, playlists, and unlike all songs):

ytmusic-deleter delete-all

Sort a playlist called Workout Jams using the default settings (sorts by artist then album title):

ytmusic-deleter sort-playlist "workout jams"

Sort a playlist using custom sorting attributes (attributes are applied in order):

ytmusic-deleter sort-playlist "workout jams" --custom-sort artist --custom-sort album_title --custom-sort track_title

Remove duplicate tracks from a playlist called "Focus"

ytmusic-deleter remove-duplicates focus

Add all uploads to a playlist called "All my uploads"

ytmusic-deleter add-all-to-playlist "All my uploads" --uploads

Add all songs from a playlist to your library

ytmusic-deleter add-all-to-library "Sample Playlist"

Extra options

These supplemental options are unlikely to be helpful for most use cases and are mainly to support the GUI version.

Options:
  --version                  Show the version and exit.
  -l, --log-dir TEXT         Custom directory in which to write log files,
                             instead of current working directory.
  -c, --credential-dir TEXT  Custom directory in which to locate/create JSON
                             credential file, instead of current working
                             directory
  -p, --static-progress      Log the progress statically instead of an
                             animated progress bar

Troubleshooting

ytmusic-deleter: command not found

or

'ytmusic-deleter' is not recognized as an internal or external command,
operable program or batch file.

Make sure you ran pip install ytmusic-deleter to install ytmusic-deleter. If you're still getting this error, try closing and re-opening your command prompt.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytmusic_deleter-4.3.2.tar.gz (43.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytmusic_deleter-4.3.2-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

File details

Details for the file ytmusic_deleter-4.3.2.tar.gz.

File metadata

  • Download URL: ytmusic_deleter-4.3.2.tar.gz
  • Upload date:
  • Size: 43.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ytmusic_deleter-4.3.2.tar.gz
Algorithm Hash digest
SHA256 369550bf8fe48e2cb778b11926643c1db9ee198d678de3610c894bf5ae02d22e
MD5 51cb1e23fdd76cc8f386669c671d2591
BLAKE2b-256 533eecf41f8fb31ff9847cae2a93b05bfdc41ab33e8f1864e76ec7df8cbf61e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ytmusic_deleter-4.3.2.tar.gz:

Publisher: release.yml on apastel/ytmusic-deleter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ytmusic_deleter-4.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ytmusic_deleter-4.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 41da74bc5a7ec3c199d1cd9ec9ed995b1baf5b800fe3ab432bd6ec413fc9068c
MD5 b9a34bc4140773c22598c18eb888717a
BLAKE2b-256 aa34c911b3fa576c950148a0bd0f6a2faab4fa8692d7387603b94ad9283e16e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ytmusic_deleter-4.3.2-py3-none-any.whl:

Publisher: release.yml on apastel/ytmusic-deleter

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

4.3.2 This release

2 files

4.3.1

2 files

4.3.0

2 files

4.2.6

2 files

4.2.5

2 files

4.2.4

2 files

4.2.3

2 files

4.2.2

2 files

4.2.1

2 files

4.2.0

2 files

4.1.1

2 files

4.1.0

2 files

4.0.3

2 files

4.0.2

2 files

4.0.1

2 files

4.0.0

2 files

3.6.3

2 files

3.6.2

2 files

3.6.1

2 files

3.6.0

2 files

3.5.3

2 files

3.5.2

2 files

3.5.1

2 files

3.5.0

2 files

3.4.0

2 files

3.3.0

2 files

3.2.5

2 files

3.2.4

2 files

3.2.3

2 files

3.2.2

2 files

3.2.1

2 files

3.2.0

2 files

3.1.4

2 files

3.1.3

2 files

3.1.2

2 files

3.1.1

2 files

3.1.0

2 files

3.0.1

2 files

3.0.0

2 files

2.13.1

2 files

2.13.0

2 files

2.12.0

2 files

2.11.2

2 files

2.11.1

2 files

2.11.0

2 files

2.10.0

2 files

2.9.4

2 files

2.9.3

2 files

2.9.2

2 files

2.9.1

2 files

2.9.0

2 files

2.8.0

2 files

2.7.0

2 files

2.6.3

2 files

2.6.2

2 files

2.6.0

2 files

2.5.2

2 files

2.5.1

2 files

2.5.0

2 files

2.4.7

2 files

2.4.6

2 files

2.4.5

2 files

2.4.4

2 files

2.4.3

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.3

2 files

2.3.2

2 files

2.3.0

2 files

2.2.2

2 files

2.1.0

2 files

2.0.4

2 files

1.6.0

2 files

1.5.6

2 files

1.5.5

2 files

1.5.4

2 files

1.5.3

2 files

1.5.2

2 files

1.5.1

2 files

1.4.1

2 files

1.4.0

2 files

1.3.0

2 files

1.2.8

2 files

1.2.7

2 files

1.2.6

2 files

1.2.5

2 files

1.2.4

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page