Paste a link and the song shows up in Apple Music.
addsong takes a song name or a YouTube link. It downloads the track, tags it with the title, artist, and cover art, then drops it into Apple Music. No dragging files around, just a single command.
addsong "songname"
addsong "https://www.youtube.com/watch?v=..."You need Python 3.11 or newer, yt-dlp and ffmpeg. addsong itself is a Python package you install with pipx.
pipx install addsongbrew install yt-dlp ffmpegsudo <package manager> ffmpeg && pipx install yt-dlpwinget install yt-dlp.yt-dlp Gyan.FFmpegaddsong --versionpipx upgrade addsongWith pip instead of pipx, run python -m pip install --user --upgrade addsong.
addsong "songname"| Command | What it does |
|---|---|
addsong "name" |
Add the top search result |
addsong "<link>" |
Add a specific video |
addsong --results 3 "name" |
Add the top 3 search results |
addsong --playlist "<link>" |
Add a whole playlist |
addsong --from list.txt |
Add every link in a file |
addsong subscribe "<link>" |
Follow a playlist |
addsong sync |
Add new songs from playlists you follow |
addsong list |
Show playlists you follow |
addsong unsubscribe "<link>" |
Stop following a playlist |
addsong forget |
Forget everything added so it can be re-added |
| Flag | What it does |
|---|---|
-y |
Don't ask, just add it |
--review |
Always pause to fix the title or artist first |
--reimport |
Add a song again even if you already have it |
--dry-run |
Show what would happen without downloading |
--format FMT |
Output format, m4a (default), mp3, flac, opus |
--quality N |
Audio quality 0 to 10, 0 is best and the default |
--notify |
Pop a desktop notification as each song imports |
--quiet / --verbose |
Show less or more output |
--help |
Full list of commands and options |
Set environment variables like ADDSONG_WATCH_DIR to change defaults. Run
addsong --help for the full list.
