Download songs or playlists from YouTube, Spotify, or Apple Music for personal offline listening.
Fetch audio from Chinese streaming platforms like NetEase Cloud Music, QQ Music, or Kugou.
Use as a Python library to automate music downloads in your own scripts.
Search and preview tracks in a browser without installing anything using the companion MusicSquare web app.
For paywalled content you must already hold an authorized subscription to that service, the tool does not bypass paywalls.
Musicdl is a Python tool for downloading music from a large number of streaming platforms. You run it from the command line or use it as a Python library, point it at a song title or playlist, and it fetches the audio file for you. The whole thing is written without heavy dependencies, which makes it easy to install and read through. The list of supported platforms is long. On the Chinese side it covers NetEase Cloud Music, QQ Music, Kugou, Kuwo, Migu, Bilibili audio, and several others. For international services it supports YouTube, Spotify, Apple Music, TIDAL, Deezer, SoundCloud, Qobuz, and JOOX, among others. The README lists each platform with a checkmark for whether search and download are both supported. The project is updated regularly, with recent releases adding new platforms, fixing broken third-party API endpoints, and improving lossless audio support. The disclaimer in the README is clear and worth reading. The tool is intended for personal, educational, and research use only. Commercial use is prohibited. It works by talking to publicly accessible web endpoints and does not store or redistribute copyrighted audio files. If you want to download content that is behind a subscription paywall, you are expected to already have authorized access through that service. Installation is handled through PyPI using pip, which is the standard Python package manager. The README also links to documentation hosted on readthedocs.io and to a companion project called MusicSquare, a browser-based version where you can search and play tracks without installing anything locally. The license is PolyForm Noncommercial 1.0.0, which means you can use and study the code freely for non-commercial purposes but cannot sell or bundle it without permission. The full README is longer than what was shown.
← charlespikachu on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.