apple-music-api

apple music downloader — music.apple.com

endpoints

system

GET /health health check (no auth)

GET /api/config sanitized config

GET /api/stats queue stats by status/quality

jobs

POST /api/jobs create download job

{
  "url": "https://music.apple.com/...",
  "quality": "alac",
  "config": { "zip_after_download": true }
}

GET /api/jobs list jobs (?status=running, ?quality=aac-lc)

GET /api/jobs/{id} job status, progress, result

PATCH /api/jobs/{id} update pending job

DELETE /api/jobs/{id} cancel job

POST /api/jobs/{id}/retry re-queue failed/completed job

GET /api/jobs/{id}/logs job logs (add Accept: text/event-stream for SSE)

GET /api/jobs/{id}/tracks completed job files

POST /api/jobs/{id}/upload upload to gofile/pixeldrain

quality

alac — ALAC hi-res lossless (requires wrapper on :10020)

aac — AAC 256kbps

aac-lc — AAC-LC lossy

atmos — Dolby Atmos

auth

all endpoints except /health require:

Authorization: Bearer <api-key>

naming placeholders

album_folder_format

placeholderexample
{AlbumName}Love You Madly Hate You Badly
{ArtistName}Oliver Tree
{ReleaseDate}2025-11-08
{ReleaseYear}2025
{AlbumId}1891109914
{UPC}198391848283
{RecordLabel}Warner Records
{Copyright}ⓘ 2025 Warner Records Inc.
{Quality}96kB-48.0kHz
{Codec}ALAC, AAC, ATMOS
{Tag}[M] [E]

song_file_format

placeholderexample
{SongName}How It Ends
{ArtistName}Oliver Tree
{SongNumer}17 (zero-padded 2-digit index)
{SongId}1891110092
{DiscNumber}1
{TrackNumber}17
{Quality}96kB-48.0kHz
{Codec}ALAC
{Tag}[M] [E]

artist_folder_format

placeholderexample
{ArtistName}Oliver Tree
{UrlArtistName}Oliver Tree
{ArtistId}1144420565

playlist_folder_format

placeholderexample
{PlaylistName}Today's Hits
{PlaylistId}pl.f4d106fed2bd41149a73f...
{ArtistName}Apple Music (always)
{Quality}96kB-48.0kHz
{Codec}ALAC
{Tag}[M] [E]

per-job config

{
  "quality": "alac",
  "album_folder_format": "{AlbumName}",
  "song_file_format": "{SongNumer}. {SongName}",
  "embed_cover": true,
  "cover_size": "5000x5000",
  "embed_lrc": true,
  "lrc_type": "lyrics",
  "zip_after_download": true,
  "delete_after_zip": false,
  "upload_on_complete": true,
  "upload_service": "gofile",
  "convert_after_download": true,
  "convert_format": "flac",
  "tag_sort_order": true,
  "tag_itunes_id": true
}

config

loading...


apple-music-api — wrapper