[GH-ISSUE #86] [Bug Report] Fail to Fetch Audio Key for Non-Premium Accounts #75

Open
opened 2026-02-27 04:57:23 +03:00 by kerem · 25 comments
Owner

Originally created by @SavleCZ on GitHub (Sep 25, 2025).
Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/86

Originally assigned to: @Googolplexed0 on GitHub.

Zotify Version
v0.9.27

Bug Description
After restarting a partially downloaded album, Zotify skips the already downloaded tracks but then throws the error FAILED TO FETCH AUDIO KEY followed by FAILED TO GET CONTENT STREAM for all the other tracks.
CRITICAL:Librespot:AudioKeyManager:Audio key error, code: 1
CRITICAL:Librespot:AudioKeyManager:Audio key error, code: 1

ERROR: FAILED TO FETCH AUDIO KEY

MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING BULK_WAIT_TIME

GID: cfadc2814e6d44989e874d380b7c1113 - File_ID: e7a0402bbe3e9db5525abdae672f4b2a8d89008c

ERROR: SKIPPING SONG - FAILED TO GET CONTENT STREAM

Track_ID: 6jSOQzZ92aPKN0p2m09y2n

Changing the rate limit like it tells me leads to no results.

Bug Triggering Command
"zotify" followed by search of the album and then the number of the album to download

Config File
config_DEBUG.json

Originally created by @SavleCZ on GitHub (Sep 25, 2025). Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/86 Originally assigned to: @Googolplexed0 on GitHub. **Zotify Version** v0.9.27 **Bug Description** After restarting a partially downloaded album, Zotify skips the already downloaded tracks but then throws the error FAILED TO FETCH AUDIO KEY followed by FAILED TO GET CONTENT STREAM for all the other tracks. CRITICAL:Librespot:AudioKeyManager:Audio key error, code: 1 CRITICAL:Librespot:AudioKeyManager:Audio key error, code: 1 ### ERROR: FAILED TO FETCH AUDIO KEY ### ### MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING `BULK_WAIT_TIME` ### ### GID: cfadc2814e6d44989e874d380b7c1113 - File_ID: e7a0402bbe3e9db5525abdae672f4b2a8d89008c ### ### ERROR: SKIPPING SONG - FAILED TO GET CONTENT STREAM ### ### Track_ID: 6jSOQzZ92aPKN0p2m09y2n ### Changing the rate limit like it tells me leads to no results. **Bug Triggering Command** "zotify" followed by search of the album and then the number of the album to download **Config File** [config_DEBUG.json](https://github.com/user-attachments/files/22545358/config_DEBUG.json)
Author
Owner

@shodanwashere commented on GitHub (Sep 25, 2025):

Can confirm this also happens to me with a different album.

[∙∙●] Fetching track information...
[●∙∙] Preparing download...                                                                                                                                                                                                                                                                       
                                                                                                                                                    CRITICAL:Librespot:AudioKeyManager:Audio key error, code: 1                                                                                           
CRITICAL:Librespot:AudioKeyManager:Audio key error, code: 1                                                                                          
###   ERROR:  FAILED TO FETCH AUDIO KEY   ###                                                                                                        
###   MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING `BULK_WAIT_TIME`   ###                                                                      
###   GID: 53f91e70ff5448db856dc0d38ea6a0d8 - File_ID: d897f51ac6c4e4f478b074fa2c48abb15f4c90b3   ###                                                
                                                                                                                                                     
###   ERROR:  SKIPPING SONG - FAILED TO GET CONTENT STREAM   ###                                                                                     
###   Track_ID: 2ysd4jIysZVFhFwWuPxDhS   ###

i've tried different forks of Zotify and they all seem to be having the same problem, so I suspect it's a problem with librespot itself.

<!-- gh-comment-id:3336062615 --> @shodanwashere commented on GitHub (Sep 25, 2025): Can confirm this also happens to me with a different album. ``` [∙∙●] Fetching track information... [●∙∙] Preparing download... CRITICAL:Librespot:AudioKeyManager:Audio key error, code: 1 CRITICAL:Librespot:AudioKeyManager:Audio key error, code: 1 ### ERROR: FAILED TO FETCH AUDIO KEY ### ### MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING `BULK_WAIT_TIME` ### ### GID: 53f91e70ff5448db856dc0d38ea6a0d8 - File_ID: d897f51ac6c4e4f478b074fa2c48abb15f4c90b3 ### ### ERROR: SKIPPING SONG - FAILED TO GET CONTENT STREAM ### ### Track_ID: 2ysd4jIysZVFhFwWuPxDhS ### ``` i've tried different forks of Zotify and they all seem to be having the same problem, so I suspect it's a problem with librespot itself.
Author
Owner

@lord-nytmare commented on GitHub (Sep 26, 2025):

I'm getting the same error constantly, running the efficient-api version to try not get rate limited, but nothing will download.
I waited over 48 hours just to make sure, and my ip has changed in that time as well.

[●∙∙] Fetching track information...
[●∙∙] Parsing track information...
[∙●∙] Fetching bulk genre information...
[∙●∙] Fetching bulk track/disc total information...
[●∙∙] Preparing Download...

ERROR: FAILED TO FETCH AUDIO KEY

MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING BULK_WAIT_TIME

GID: 4697e674666d41ce83e7a11d37a05ffb - File_ID: c39deb4f5a8642e21d5a69a699bf414242712866

ERROR: SKIPPING SONG - FAILED TO GET CONTENT STREAM

Track_ID: 29cSEpxd6N8F43QCR3Bmfp

PAUSED: WAITING FOR 30 SECONDS BETWEEN DOWNLOADS

I've got my bulk wait set to 30 and realtime downloading set to true.

<!-- gh-comment-id:3338549782 --> @lord-nytmare commented on GitHub (Sep 26, 2025): I'm getting the same error constantly, running the efficient-api version to try not get rate limited, but nothing will download. I waited over 48 hours just to make sure, and my ip has changed in that time as well. > [●∙∙] Fetching track information... > [●∙∙] Parsing track information... > [∙●∙] Fetching bulk genre information... > [∙●∙] Fetching bulk track/disc total information... > [●∙∙] Preparing Download... ### ERROR: FAILED TO FETCH AUDIO KEY ### ### MAY BE CAUSED BY RATE LIMITS - CONSIDER INCREASING `BULK_WAIT_TIME` ### ### GID: 4697e674666d41ce83e7a11d37a05ffb - File_ID: c39deb4f5a8642e21d5a69a699bf414242712866 ### ### ERROR: SKIPPING SONG - FAILED TO GET CONTENT STREAM ### ### Track_ID: 29cSEpxd6N8F43QCR3Bmfp ### ### PAUSED: WAITING FOR 30 SECONDS BETWEEN DOWNLOADS ### I've got my bulk wait set to 30 and realtime downloading set to true.
Author
Owner

@RGPZ commented on GitHub (Sep 27, 2025):

What are the chances that another Spotify update has come and ruined it?

<!-- gh-comment-id:3341190318 --> @RGPZ commented on GitHub (Sep 27, 2025): What are the chances that another Spotify update has come and ruined it?
Author
Owner

@stunner2211 commented on GitHub (Sep 28, 2025):

I have tried various scenarios (changing VPN, different branch, different account at a different location). The problem persists. I need to check whether a longer break (e.g., 1 week) makes a difference.

<!-- gh-comment-id:3342674247 --> @stunner2211 commented on GitHub (Sep 28, 2025): I have tried various scenarios (changing VPN, different branch, different account at a different location). The problem persists. I need to check whether a longer break (e.g., 1 week) makes a difference.
Author
Owner

@agenbite commented on GitHub (Sep 28, 2025):

I have the same issue... :(

<!-- gh-comment-id:3343872006 --> @agenbite commented on GitHub (Sep 28, 2025): I have the same issue... :(
Author
Owner

@WildeBeast2521 commented on GitHub (Sep 28, 2025):

+1

<!-- gh-comment-id:3344018930 --> @WildeBeast2521 commented on GitHub (Sep 28, 2025): +1
Author
Owner

@aquaexplorer commented on GitHub (Sep 29, 2025):

Also having this issue

<!-- gh-comment-id:3344696092 --> @aquaexplorer commented on GitHub (Sep 29, 2025): Also having this issue
Author
Owner

@NatanCieplinski commented on GitHub (Sep 29, 2025):

I've had the same issue. Deleted the credential file, logged in and it started working again

<!-- gh-comment-id:3349252236 --> @NatanCieplinski commented on GitHub (Sep 29, 2025): I've had the same issue. Deleted the credential file, logged in and it started working again
Author
Owner

@RGPZ commented on GitHub (Sep 29, 2025):

I've tried that, but it still fails to grab the stream content.

<!-- gh-comment-id:3349270786 --> @RGPZ commented on GitHub (Sep 29, 2025): I've tried that, but it still fails to grab the stream content.
Author
Owner

@Derkune commented on GitHub (Sep 30, 2025):

Stepped through the debugger, error seems to arise in librespot's AudioKeyManager's get_audio_key(). Here's a more detailed output that appears when stepping through:

###############################################################################
{ 'playlist': 'Lat\xa044',                                                     
  'playlist_id': '7MEgelTKZ1fd299xVMI1Xf',                                     
  'playlist_num': '42',                                                        
  'playlist_track': 'Jos Meilė',                                               
  'playlist_track_id': '00i3afVIiN5551R4TKMDR2'}                               
###############################################################################

Traceback (most recent call last):                                             
  File "<my_module_path>\.venv\Lib\site-packages\zotify\track.py", line 292, in download_track                                            
    stream = Zotify.get_content_stream(track, Zotify.DOWNLOAD_QUALITY)         
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         
  File "<my_module_path>\.venv\Lib\site-packages\zotify\config.py", line 620, in get_content_stream                                        
    return cls.SESSION.content_feeder().load(content_id, VorbisOnlyAudioQuality(quality), False, None)                                                        
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                                       
  File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 741, in load
    return self.load_track(playable_id, audio_quality_picker, preload,         
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         
  File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 802, in load_track                                    
    return self.load_stream(file, track, None, preload, halt_listener)         
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^         
  File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 756, in load_stream
    return CdnFeedHelper.load_track(self.__session, track, file,               
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               
  File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 339, in load_track                                    
    key = session.audio_key().get_audio_key(track.gid, file.file_id)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^           
  File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 274, in get_audio_key                                 
    key = callback.wait_response()                                             
          ^^^^^^^^^^^^^^^^^^^^^^^^                                             
  File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 315, in wait_response                                  
    return self.__reference.get(block=False)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                                   
  File "<my_user>\AppData\Local\Programs\Python\Python311\Lib\queue.py", line 168, in get                                                             
    raise Empty                                                                
_queue.Empty                                                                                                           

Here I was trying to download a playlist with low quality (high quality also had the same error) after passing a username and logging in through the output link

Either this has to be fixed on librespot, or zotify has to find some workaround

<!-- gh-comment-id:3351141675 --> @Derkune commented on GitHub (Sep 30, 2025): Stepped through the debugger, error seems to arise in librespot's AudioKeyManager's get_audio_key(). Here's a more detailed output that appears when stepping through: ``` ############################################################################### { 'playlist': 'Lat\xa044', 'playlist_id': '7MEgelTKZ1fd299xVMI1Xf', 'playlist_num': '42', 'playlist_track': 'Jos Meilė', 'playlist_track_id': '00i3afVIiN5551R4TKMDR2'} ############################################################################### Traceback (most recent call last): File "<my_module_path>\.venv\Lib\site-packages\zotify\track.py", line 292, in download_track stream = Zotify.get_content_stream(track, Zotify.DOWNLOAD_QUALITY) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<my_module_path>\.venv\Lib\site-packages\zotify\config.py", line 620, in get_content_stream return cls.SESSION.content_feeder().load(content_id, VorbisOnlyAudioQuality(quality), False, None) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 741, in load return self.load_track(playable_id, audio_quality_picker, preload, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 802, in load_track return self.load_stream(file, track, None, preload, halt_listener) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 756, in load_stream return CdnFeedHelper.load_track(self.__session, track, file, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 339, in load_track key = session.audio_key().get_audio_key(track.gid, file.file_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 274, in get_audio_key key = callback.wait_response() ^^^^^^^^^^^^^^^^^^^^^^^^ File "<my_module_path>\.venv\Lib\site-packages\librespot\audio\__init__.py", line 315, in wait_response return self.__reference.get(block=False) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<my_user>\AppData\Local\Programs\Python\Python311\Lib\queue.py", line 168, in get raise Empty _queue.Empty ``` Here I was trying to download a playlist with low quality (high quality also had the same error) after passing a username and logging in through the output link Either this has to be fixed on librespot, or zotify has to find some workaround
Author
Owner

@lord-nytmare commented on GitHub (Sep 30, 2025):

At this point I've fallen back to soggyfy on a vm with a throwaway account.
I'd prefer Zotify to work though.

<!-- gh-comment-id:3353082845 --> @lord-nytmare commented on GitHub (Sep 30, 2025): At this point I've fallen back to soggyfy on a vm with a throwaway account. I'd prefer Zotify to work though.
Author
Owner

@zimmerma379 commented on GitHub (Oct 4, 2025):

Is this the DEMISE of "zotify" (and others)? ;-( How are they do the throttling? Seems NOT by IP address or userid. Is it by "app ID"? Are we all using the same app ID via "librespot"? Could we create our own app IDs and pass it to "librespot" to use? I don't know how all this works -- just trying to help with a solution.

<!-- gh-comment-id:3368567330 --> @zimmerma379 commented on GitHub (Oct 4, 2025): Is this the DEMISE of "zotify" (and others)? ;-( How are they do the throttling? Seems NOT by IP address or userid. Is it by "app ID"? Are we all using the **same app ID** via "librespot"? Could we create our own app IDs and pass it to "librespot" to use? I don't know how all this works -- just trying to help with a solution.
Author
Owner

@WildeBeast2521 commented on GitHub (Oct 5, 2025):

Is it by "app ID"?

It's not that. SpotDL allows you to use your own App, but it doesn't work either. Tried to use it when Zotify stopped working, on the off chance that there was something wrong with Zotify.

<!-- gh-comment-id:3368762524 --> @WildeBeast2521 commented on GitHub (Oct 5, 2025): > Is it by "app ID"? It's not that. SpotDL allows you to use your own App, but it doesn't work either. Tried to use it when Zotify stopped working, on the off chance that there was something wrong with Zotify.
Author
Owner

@zimmerma379 commented on GitHub (Oct 7, 2025):

Bummer that there is no solution for this issue. 😔 Does it occur only when using a Spotify "free" account, or does it also occur using a "paid" account? 🤔

<!-- gh-comment-id:3378451696 --> @zimmerma379 commented on GitHub (Oct 7, 2025): Bummer that there is no solution for this issue. 😔 Does it occur only when using a Spotify "free" account, or does it also occur using a "paid" account? 🤔
Author
Owner

@n3yne commented on GitHub (Oct 9, 2025):

has there been any progress on identifying the cause of this? I've started taking a peek at it and it seems that the issue is coming from the kokarare1212/librespot-python repo so far... that repo doesn't seem to have been keeping up with the changes in the rust version of librespot (librespot-org/librespot), so I'm guessing there's something that had changed at some point that was addressed in the rust version that hasn't been ported to the python version?

<!-- gh-comment-id:3386212087 --> @n3yne commented on GitHub (Oct 9, 2025): has there been any progress on identifying the cause of this? I've started taking a peek at it and it seems that the issue is coming from the kokarare1212/librespot-python repo so far... that repo doesn't seem to have been keeping up with the changes in the rust version of librespot (librespot-org/librespot), so I'm guessing there's something that had changed at some point that was addressed in the rust version that hasn't been ported to the python version?
Author
Owner

@zimmerma379 commented on GitHub (Oct 9, 2025):

@n3yne:

has there been any progress on identifying the cause of this?

It's been "radio silence" on this issue [and in other projects with similar bug reports]. I opened a bug report in "librespot_python" project for this issue but no movement. Perhaps Spotify changed something in [undocumented] API being used here? May still work with paid Spotify accounts? Perhaps the end of "zotify"?

<!-- gh-comment-id:3387648981 --> @zimmerma379 commented on GitHub (Oct 9, 2025): @n3yne: > has there been any progress on identifying the cause of this? It's been "radio silence" on this issue [and in other projects with similar bug reports]. I opened a [bug report](https://github.com/kokarare1212/librespot-python/issues/315) in "librespot_python" project for this issue but no movement. Perhaps Spotify changed something in [undocumented] API being used here? May still work with **paid** Spotify accounts? Perhaps the end of "zotify"?
Author
Owner

@RGPZ commented on GitHub (Oct 9, 2025):

I mean if we're able to get access to Spotify music through the official means for free, then there should be some way to apply that same mean to Zotify and librespot.

<!-- gh-comment-id:3387669324 --> @RGPZ commented on GitHub (Oct 9, 2025): I mean if we're able to get access to Spotify music through the official means for free, then there should be some way to apply that same mean to Zotify and librespot.
Author
Owner

@RGPZ commented on GitHub (Oct 9, 2025):

I can now answer that, according to someone in a Spotizerr issue page on Lavaforge, it works if you have a paid Spotify account. It also looks like librespot won't support free accounts, so this might just be the end for free accounts using Zotify or even librespot afterall.

<!-- gh-comment-id:3387775522 --> @RGPZ commented on GitHub (Oct 9, 2025): I can now answer that, according to someone in a Spotizerr issue page on Lavaforge, it works if you have a paid Spotify account. It also looks like librespot won't support free accounts, so this might just be the end for free accounts using Zotify or even librespot afterall.
Author
Owner

@RGPZ commented on GitHub (Oct 9, 2025):

It'll be the main reason as to why it's been so radio silent about this problem, as developers probably don't want to get cease and desist notices from Spotify, since stuff like Spotizerr's github got closed down.

<!-- gh-comment-id:3387805416 --> @RGPZ commented on GitHub (Oct 9, 2025): It'll be the main reason as to why it's been so radio silent about this problem, as developers probably don't want to get cease and desist notices from Spotify, since stuff like Spotizerr's github got closed down.
Author
Owner

@pandarrr commented on GitHub (Oct 12, 2025):

I ran this unmodified with real-time enabled and only had maybe a 3% success rate. I am using a premium account.

Glancing at the traffic produced by the official app, I suspect there are pings or similar calls that need to happen within a certain time frame for the connection to be considered good otherwise it gets limited.

I made a separate app to orchestrate calls to this in chunks, forcing the session/connection to be refreshed after each chunk, and also to parse backup files produced by TuneMyMusic (could all be part of this app but I'm on vacation and didn't want to learn python). First I started by invoking this once per album which gave me about a 40% success rate. Then I updated it to retry the failed tracks in chunks of 20 and added a 30s delay/retry here (instead of using the download delay between every track, it only delays when there's a failure). Now I'm getting about 95% success rate which is fine for me since I have an easy way to automate retrying the failures.

Anyway, my point is I think the issues are related to long-lived sessions and putting in some methods to retry and recreate the session should mitigate most failures, at least for premium.

<!-- gh-comment-id:3395249744 --> @pandarrr commented on GitHub (Oct 12, 2025): I ran this unmodified with real-time enabled and only had maybe a 3% success rate. I am using a premium account. Glancing at the traffic produced by the official app, I suspect there are pings or similar calls that need to happen within a certain time frame for the connection to be considered good otherwise it gets limited. I made a separate app to orchestrate calls to this in chunks, forcing the session/connection to be refreshed after each chunk, and also to parse backup files produced by TuneMyMusic (could all be part of this app but I'm on vacation and didn't want to learn python). First I started by invoking this once per album which gave me about a 40% success rate. Then I updated it to retry the failed tracks in chunks of 20 and added a 30s delay/retry [here](https://github.com/Googolplexed0/zotify/blob/77da3ffd599d6720206d5aab5012157f72908d82/zotify/api.py#L908) (instead of using the download delay between every track, it only delays when there's a failure). Now I'm getting about 95% success rate which is fine for me since I have an easy way to automate retrying the failures. Anyway, my point is I think the issues are related to long-lived sessions and putting in some methods to retry and recreate the session should mitigate most failures, at least for premium.
Author
Owner

@agenbite commented on GitHub (Oct 17, 2025):

I can now answer that, according to someone in a Spotizerr issue page on Lavaforge, it works if you have a paid Spotify account. It also looks like librespot won't support free accounts, so this might just be the end for free accounts using Zotify or even librespot afterall.

Can anyone confirm that this is the case? I would consider paying, but only if it makes this work.

<!-- gh-comment-id:3414782255 --> @agenbite commented on GitHub (Oct 17, 2025): > I can now answer that, according to someone in a Spotizerr issue page on Lavaforge, it works if you have a paid Spotify account. It also looks like librespot won't support free accounts, so this might just be the end for free accounts using Zotify or even librespot afterall. Can anyone confirm that this is the case? I would consider paying, but only if it makes this work.
Author
Owner

@RGPZ commented on GitHub (Oct 21, 2025):

I can now answer that, according to someone in a Spotizerr issue page on Lavaforge, it works if you have a paid Spotify account. It also looks like librespot won't support free accounts, so this might just be the end for free accounts using Zotify or even librespot afterall.

Can anyone confirm that this is the case? I would consider paying, but only if it makes this work.

I just tried it now with now with a Spotify premium account, and it worked first try without a problem. So it's definitely librespot not allowing free users to use the service. @Googolplexed0, do you plan to somehow make Zotify available for free users, or do you plan to just say that Spotify Premium accounts are required for Zotify from now on?

<!-- gh-comment-id:3426272172 --> @RGPZ commented on GitHub (Oct 21, 2025): > > I can now answer that, according to someone in a Spotizerr issue page on Lavaforge, it works if you have a paid Spotify account. It also looks like librespot won't support free accounts, so this might just be the end for free accounts using Zotify or even librespot afterall. > > Can anyone confirm that this is the case? I would consider paying, but only if it makes this work. I just tried it now with now with a Spotify premium account, and it worked first try without a problem. So it's definitely librespot not allowing free users to use the service. @Googolplexed0, do you plan to somehow make Zotify available for free users, or do you plan to just say that Spotify Premium accounts are required for Zotify from now on?
Author
Owner

@whatuptj commented on GitHub (Oct 22, 2025):

I can now answer that, according to someone in a Spotizerr issue page on Lavaforge, it works if you have a paid Spotify account. It also looks like librespot won't support free accounts, so this might just be the end for free accounts using Zotify or even librespot afterall.

Can anyone confirm that this is the case? I would consider paying, but only if it makes this work.

I just tried it now with now with a Spotify premium account, and it worked first try without a problem. So it's definitely librespot not allowing free users to use the service. @Googolplexed0, do you plan to somehow make Zotify available for free users, or do you plan to just say that Spotify Premium accounts are required for Zotify from now on?

@RGPZ are you able to assist me on how I could use Zotify with my premium account? Is there a file where I can put my login info? I don't exactly know where it pulls the information when it says "logging in". If it pulls directly from the Spotify application, I'm already logged into my premium account on there.

<!-- gh-comment-id:3430029214 --> @whatuptj commented on GitHub (Oct 22, 2025): > > > I can now answer that, according to someone in a Spotizerr issue page on Lavaforge, it works if you have a paid Spotify account. It also looks like librespot won't support free accounts, so this might just be the end for free accounts using Zotify or even librespot afterall. > > > > > > Can anyone confirm that this is the case? I would consider paying, but only if it makes this work. > > I just tried it now with now with a Spotify premium account, and it worked first try without a problem. So it's definitely librespot not allowing free users to use the service. [@Googolplexed0](https://github.com/Googolplexed0), do you plan to somehow make Zotify available for free users, or do you plan to just say that Spotify Premium accounts are required for Zotify from now on? @RGPZ are you able to assist me on how I could use Zotify with my premium account? Is there a file where I can put my login info? I don't exactly know where it pulls the information when it says "logging in". If it pulls directly from the Spotify application, I'm already logged into my premium account on there.
Author
Owner

@RGPZ commented on GitHub (Oct 22, 2025):

@RGPZ are you able to assist me on how I could use Zotify with my premium account? Is there a file where I can put my login info? I don't exactly know where it pulls the information when it says "logging in". If it pulls directly from the Spotify application, I'm already logged into my premium account on there.

You need to create a new credentials file that uses your Spotify premium account, you can log in using --username I'm pretty sure. If not you can delete the old credentials file that you're using and try to download a song, then Zotify will ask you for the username and login of a new account.

<!-- gh-comment-id:3434405226 --> @RGPZ commented on GitHub (Oct 22, 2025): > [@RGPZ](https://github.com/RGPZ) are you able to assist me on how I could use Zotify with my premium account? Is there a file where I can put my login info? I don't exactly know where it pulls the information when it says "logging in". If it pulls directly from the Spotify application, I'm already logged into my premium account on there. You need to create a new credentials file that uses your Spotify premium account, you can log in using --username I'm pretty sure. If not you can delete the old credentials file that you're using and try to download a song, then Zotify will ask you for the username and login of a new account.
Author
Owner

@ApplepieNapple commented on GitHub (Nov 23, 2025):

Having the exact same issue.
So is that really the end of zotify for free account? Does anyone have any reliable alternative for direct spotify download for free account?
Thank for the project, and I hope there will be a way to makes it works!
(also looking for the zotify discord server invite to get more information, but didnt find it)

<!-- gh-comment-id:3567959708 --> @ApplepieNapple commented on GitHub (Nov 23, 2025): Having the exact same issue. So is that really the end of zotify for free account? Does anyone have any reliable alternative for direct spotify download for free account? Thank for the project, and I hope there will be a way to makes it works! (also looking for the zotify discord server invite to get more information, but didnt find it)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/zotify#75
No description provided.