Skip to main content

Delete your YouTube Music library and/or uploads

Project description

If this project helped you and you want to thank me, you can get me a beer!

ytmusic-deleter

A command-line interface for performing batch delete operations on your YouTube Music library. It's faster than browser-based / Javscript-based tools because it uses the YouTube Music API instead of performing the deletion in your browser. You can use this to do any of the following:

  • Delete uploads

  • Delete library songs

  • Delete playlists

  • Reset "Likes"

New in version 1.3.0, you can also sort your playlists. See the Usage information for sort-playlist.

Setup

YTMusic Deleter screenshot

New in version 1.5.4, Windows users can download an .exe to install the YTMusic Deleter GUI (Graphical User Interface).

Find the .exe file in the Releases area; just click the latest release and look at the Assets section. Please note you may get a browser warning when downloading the file, and a Windows warning for installing files from an unknown publisher. It's not really worth the cost for me to buy a code signing certificate, so you will just have to accept the warning for now.

(Advanced) Command-line interface install using Python / PIP (for non-Windows users)

The CLI version of YTMusic Deleter is still available and is for advanced users who would rather use a command-line or aren't running Windows.

  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.

Authenticating To Your Account

The first time you run ytmusic-deleter, you will be asked to paste your request headers from Firefox. This allows ytmusic-deleter to make requests against your music library. To copy your request headers follow the instructions from the ytmusicapi docs under "Copy authentication headers".

If you're running the command line (CLI) version of YTMusic Deleter, press Enter after pasting the headers, then press Ctrl-D to continue (Ctrl-Z then Enter again on Windows). The next time you run ytmusic-deleter, it will reuse your headers from the headers_auth.json file that it generated.

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. Note that each track that gets added to your library this way will have a thumbs up "Like" in your library due to how the ytmusicapi works.

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.

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:


ytmusic-deleter sort-playlist "workout jams"

Extra options

These supplemental options are unlikely to be helpful for most use cases and are mainly to support an app I'm working on that will use this tool.


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.



Failed loading provided credentials. Make sure to provide a string or a file path. Reason: Expecting value: line 1 column 1 (char 0)

You will see this printed by the ytmusicapi the first time you run. This means that your existing request headers file (headers_auth.json) could not be found. The next few lines will prompt you to paste your request headers so this file can be generated.


Other various exceptions may occur while running ytmusic-deleter because there is a wide swath of possible metadata on your library, and the YouTube Music backend is changing rapidly. Most errors deleting albums have been accounted for and you may just have to delete a couple albums manually that got left behind. If there are any errors that halt the entire program in the middle of deletion, please create an Issue and post the full error.


Project details


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-1.5.6.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

ytmusic_deleter-1.5.6-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file ytmusic-deleter-1.5.6.tar.gz.

File metadata

  • Download URL: ytmusic-deleter-1.5.6.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for ytmusic-deleter-1.5.6.tar.gz
Algorithm Hash digest
SHA256 50b16579549065b1a0a6d56294b68fc51f448bdb8ed53c2547e5f35d913ecb54
MD5 821034171fd10d1f00a7249bed998b1a
BLAKE2b-256 ad419fc90d1f3fdedfc02b5ef18d0eb65056a7a404eea0abbf2f175227df114d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ytmusic_deleter-1.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7cb21b8adc6206a04a1447e8543806ae73c1f9543ecf9a6f3cc73770045ac857
MD5 2f4fa57951d67ba22f07b5caa86ec2f9
BLAKE2b-256 5f168315bc880262b4f62cb4ec982744472edf6377533fe0d16991e272f2a1ea

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page