From 6d8ecf65b6a8f29fc57979f4f070942bbbef51da Mon Sep 17 00:00:00 2001 From: Rafael Moraes <50295204+glomatico@users.noreply.github.com> Date: Sat, 23 May 2026 15:44:12 -0300 Subject: [PATCH] Support library tracks in get_webplayback --- gamdl/api/apple_music.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gamdl/api/apple_music.py b/gamdl/api/apple_music.py index 6a1a363..96e9e2a 100644 --- a/gamdl/api/apple_music.py +++ b/gamdl/api/apple_music.py @@ -669,17 +669,26 @@ class AppleMusicApi: async def get_webplayback( self, track_id: str, + is_library: bool = False, ) -> dict: log = logger.bind(action="get_webplayback", track_id=track_id) response = None + + if is_library: + request_body = { + "universalLibraryId": track_id, + } + else: + request_body = { + "salableAdamId": track_id, + } + request_body["language"] = self.language + try: response = await self.client.post( APPLE_MUSIC_WEBPLAYBACK_API_URL, - json={ - "salableAdamId": track_id, - "language": self.language, - }, + json=request_body, ) response.raise_for_status() webplayback = response.json()