Last error: Failed fetching audio key! #13
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Investigation
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
spotizerrphoenix/spotizerr-phoenix#13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Describe the bug
Tried downloading songs after following the setup procedure and it doesn't work. got hit with Last error: Failed fetching audio key!
To Reproduce
Just try to download something i guess
Expected behavior
The download to work?
Desktop (please complete the following information):
docker-compose.yaml
.env
Logs
hi @CCGcastiel by any chance have you ran the new spotizerrphoenix/spotizerr-auth auth tool?
posted here: spotizerr/spotizerr#19
Update your docker image from cooldockerizer93/spotizerr to the new image:
spotizerrphoenix/spotizerrspotizerrphoenix/spotizerr-auth)login5errors, follow the steps below:datadirectory first which contain your previous creds, config, history, etcdocker run --network=host --rm -it spotizerrphoenix/spotizerr-authyou may also need to clear cache and reload your spotizerr instance.
ctrl shift rorcmd shift ryeah I did.
I just completely deleted the container, deleted the mounted folders, everything.
Ran the new spotizerr-auth again. Same error again. Back in the days it used to work with my non-premium account, is that always the case or is it mandatory to have a premium spotify account?
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 387, in easy_dw
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise TrackNotFound(message=error_message, url=self.__link) from e
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: deezspot.exceptions.TrackNotFound: Download failed for 'PSYCHO' by 'BABYMONSTER' (URL: https://open.spotify.com/track/7jp2VW62Yt2bDOaRas3hR6). Original error: Maximum retry limit reached for 'PSYCHO' by 'BABYMONSTER' (local: 3, global: 100). Last error: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Task b523fc6f-ecd0-4be3-bf6c-c021db493175 error: Unknown error
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Traceback (most recent call last):
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 512, in download_try
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: stream = Download_JOB.session.content_feeder().load_track(
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 803, in load_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: return self.load_stream(file, track, None, preload, halt_listener)
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 756, in load_stream
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: return CdnFeedHelper.load_track(self.__session, track, file,
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 339, in load_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: key = session.audio_key().get_audio_key(track.gid, file.file_id)
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 277, in get_audio_key
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: return self.get_audio_key(gid, file_id, False)
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 278, in get_audio_key
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise RuntimeError(
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: RuntimeError: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: The above exception was the direct cause of the following exception:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Traceback (most recent call last):
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 373, in easy_dw
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: self.download_try() # This should set self.__c_track.success = True if successful
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 656, in download_try
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise Exception(final_error_msg) from e
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Exception: Maximum retry limit reached for 'PSYCHO' by 'BABYMONSTER' (local: 3, global: 100). Last error: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: The above exception was the direct cause of the following exception:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Traceback (most recent call last):
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/app/routes/utils/track.py", line 213, in download_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: spo.download_track(
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/init.py", line 171, in download_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise e
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/init.py", line 148, in download_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: track = DW_TRACK(preferences).dw()
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 1074, in dw
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: track = EASY_DW(self.__preferences).easy_dw()
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 387, in easy_dw
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise TrackNotFound(message=error_message, url=self.__link) from e
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: deezspot.exceptions.TrackNotFound: Download failed for 'PSYCHO' by 'BABYMONSTER' (URL: https://open.spotify.com/track/7jp2VW62Yt2bDOaRas3hR6). Original error: Maximum retry limit reached for 'PSYCHO' by 'BABYMONSTER' (local: 3, global: 100). Last error: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Error in download_track task: Download failed for 'PSYCHO' by 'BABYMONSTER' (URL: https://open.spotify.com/track/7jp2VW62Yt2bDOaRas3hR6). Original error: Maximum retry limit reached for 'PSYCHO' by 'BABYMONSTER' (local: 3, global: 100). Last error: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Traceback (most recent call last):
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 512, in download_try
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: stream = Download_JOB.session.content_feeder().load_track(
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 803, in load_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: return self.load_stream(file, track, None, preload, halt_listener)
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 756, in load_stream
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: return CdnFeedHelper.load_track(self.__session, track, file,
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 339, in load_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: key = session.audio_key().get_audio_key(track.gid, file.file_id)
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 277, in get_audio_key
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: return self.get_audio_key(gid, file_id, False)
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/librespot/audio/init.py", line 278, in get_audio_key
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise RuntimeError(
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: RuntimeError: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: The above exception was the direct cause of the following exception:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Traceback (most recent call last):
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 373, in easy_dw
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: self.download_try() # This should set self.__c_track.success = True if successful
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 656, in download_try
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise Exception(final_error_msg) from e
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Exception: Maximum retry limit reached for 'PSYCHO' by 'BABYMONSTER' (local: 3, global: 100). Last error: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: The above exception was the direct cause of the following exception:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]:
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Traceback (most recent call last):
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/app/routes/utils/celery_tasks.py", line 1647, in download_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: download_track_func(
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/app/routes/utils/track.py", line 213, in download_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: spo.download_track(
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/init.py", line 171, in download_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise e
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/init.py", line 148, in download_track
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: track = DW_TRACK(preferences).dw()
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 1074, in dw
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: track = EASY_DW(self.__preferences).easy_dw()
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: File "/python/deezspot/spotloader/download.py", line 387, in easy_dw
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: raise TrackNotFound(message=error_message, url=self.__link) from e
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: deezspot.exceptions.TrackNotFound: Download failed for 'PSYCHO' by 'BABYMONSTER' (URL: https://open.spotify.com/track/7jp2VW62Yt2bDOaRas3hR6). Original error: Maximum retry limit reached for 'PSYCHO' by 'BABYMONSTER' (local: 3, global: 100). Last error: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
2025-12-04 16:07:14 [INFO] Celery[DW-STDERR]: Task b523fc6f-ecd0-4be3-bf6c-c021db493175 failed: Download failed for 'PSYCHO' by 'BABYMONSTER' (URL: https://open.spotify.com/track/7jp2VW62Yt2bDOaRas3hR6). Original error: Maximum retry limit reached for 'PSYCHO' by 'BABYMONSTER' (local: 3, global: 100). Last error: Failed fetching audio key! gid: f047f776b6b94525b95bc0093fb1e5c8, fileId: a81d4d7eadb395a6c7dfc668e34da3a8e498839c
thank you for your help
thanks for the all the notes and logs, this seems related to the issue from krunox here: spotizerr/spotizerr#16 (comment)
i would try with a premium account, they have a 4 months for free promo going on right now too if you don't already have one:
https://www.spotify.com/us/premium/
let me know how that goes 👍🏻
Just a quick comment, I experienced the same problem with my free spotify today
duplicate of: #12
as mentioned earlier, seems like a spotify change. will investigate further but for the time being this works for premium accounts
Spotify has made changes on their end, so now only Spotify Premium accounts can download tracks 👎
There is Deezer option if you don't have Spotify Premium, have you tried it?
@spotizerrphoenix you should add a notice in the README file or within the app to indicate that currently only Spotify Premium accounts can download tracks (only for Spotify service)
https://developer.spotify.com/documentation/web-api/concepts/scopes#user-read-private
@Krunox wrote in #13 (comment):
thanks for the feedback @Krunox 👍 will update that soon
another thing that's been on my mind is now that premium accounts are required it kind of seems like librespot-spotizerr-phoenix is not needed anymore and can just use an updated deezspot and authtool using librespot directly/updated fork with same license 🤔
interested to see your thoughts on that before trying that out as an option
@spotizerrphoenix wrote in #13 (comment):
I still believe that librespot-spotizerr-phoenix remains relevant, as the current project is inherently centred around Spotify. Even though I have a Spotify Premium account, I'm still downloading from Spotify on SpotizerrPhoenix, and most users who use Spotizerr were primarily here for that.
Rather than abandoning it entirely, you could consider making librespot-spotizerr-phoenix a lower priority. Just ensure that core functionality, like searching for albums, singles, artists, tracks, and playlists, remains intact because relying solely on Deezer isn't ideal, as it lacks quite a lot of songs that are available on Spotify.
Going back to GitHub does seem like an option. After all, not many people are familiar with LavaForge anyway. GitHub has more visibility and a larger community, which might help with collaboration and contributions.
A SpotizerrPhoenix v2 UI revamp sounds good. Add yt-dlp for another alternative/fallback, considering Spotify Free accounts can no longer download directly from Spotify. However, the issue with yt-dlp is its tendency to get messy when it comes to mass downloads lol
It might be worth considering a solution that combines both search functionality from Spotify and the download capabilities of yt-dlp, but with a more controlled approach to avoid errors when downloading in bulk.
I'm not sure I got it right, but do you want to move the whole spotizerrphoenix to GitHub, or just use the librespot from github?
This is likely a very bad idea to move back this project to github, as Spotify is actively looking for downloaders and taking them down with DMCA.
Librespot has to moderate its repo. (They received some complains from Spotify when tried to implement the Lossless format).
Also speaking about backend, Tidal would be great, it has a huge catalog (the biggest I guess ?), the downloaders seem pretty straightforward. I saw some duplicate code in Deezspot, maybe refactoring it and adding Tidal wouldn't be that hard (I'm just afraid about all of this metadata mess + testing everything).
IDK that much about yt-dlp, I'm not sure it supports lossless.
What would you like for a new UI ?
(PS: I made a PR on your Deezspot repo!)
Yeah, if you look at GitHub's DMCA repository, they've received quite a lot of official complaints from Spotify, but mostly for modded or custom mobile/desktop clients that provide an ad‑free experience.
The other complaints were mostly submitted by other GitHub repository owners because certain projects were using their code without the proper licence.
I think a self‑hosted Git service is better if you don't want to deal with DMCA issues.
Yeah, Tidal is considered one of the best for hi‑res audio and has the second‑largest catalogue. Sadly, they're not free.
I'm not an audiophile, so I don't really care much about the quality.
I think users who use Spotizerr to download their tracks don't care much about lossless audio, no lossless audio on Spotify Free accounts anyway lol