[GH-ISSUE #151] Same API 429 problem after new update #134

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

Originally created by @daanreijrink on GitHub (Jan 14, 2026).
Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/151

@Googolplexed0 sorry can you give new full step guide from start? I have tried from separate post at this thread, but still not working, maybe miss at some step

  • Install the latest version of the efficient-api branch (see INSTALLATION if you do not yet have Python / pipx installed)
  • If you have a pre-existing Developer App / Web API token:
    • Add --client-id <INSERT CLIENT ID HERE> to the command line arguments the first time you run
      • Your client-id will be saved in your credentials.json (if enabled)
    • Everything should work as normal
    • If you fail to login correctly, delete your credentials.json and add --client-id <INSERT CLIENT ID HERE> to the command line arguments again
  • If you do not have a Developer App / Web API token:
    • You cannot currently get one
    • Add --bypass-metadata-api True to your command line arguments (or set BYPASS_MD_API to True in your config)
    • You can still download some URLs, but these will have no metadata (track name, artists, album, etc.)

Originally posted by @Googolplexed0 in #135

after this i stil get the API error

Originally created by @daanreijrink on GitHub (Jan 14, 2026). Original GitHub issue: https://github.com/Googolplexed0/zotify/issues/151 > [@Googolplexed0](https://github.com/Googolplexed0) sorry can you give new full step guide from start? I have tried from separate post at this thread, but still not working, maybe miss at some step > > - Install the **latest version** of the [efficient-api](https://github.com/Googolplexed0/zotify/tree/efficient-api?tab=readme-ov-file#installation-and-updating) branch (see [INSTALLATION](https://github.com/Googolplexed0/zotify/blob/efficient-api/INSTALLATION.md) if you do not yet have Python / pipx installed) > - If you have a pre-existing Developer App / Web API token: > - Add `--client-id <INSERT CLIENT ID HERE>` to the command line arguments the first time you run > - Your client-id will be saved in your credentials.json (if enabled) > - Everything should work as normal > - If you fail to login correctly, delete your credentials.json and add `--client-id <INSERT CLIENT ID HERE>` to the command line arguments again > - If you do not have a Developer App / Web API token: > - You cannot currently get one > - Add `--bypass-metadata-api True` to your command line arguments (or set `BYPASS_MD_API` to `True` in your config) > - You can still download _some_ URLs, but these will have no metadata (track name, artists, album, etc.) _Originally posted by @Googolplexed0 in [#135](https://github.com/Googolplexed0/zotify/issues/135#issuecomment-3742078424)_ after this i stil get the API error
Author
Owner

@SkilletWarez commented on GitHub (Jan 15, 2026):

Delete credentials.json

Which are you trying to do?
With developer app or none?

<!-- gh-comment-id:3755334891 --> @SkilletWarez commented on GitHub (Jan 15, 2026): Delete `credentials.json` Which are you trying to do? With developer app or none?
Author
Owner

@daanreijrink commented on GitHub (Jan 16, 2026):

Yes, I’ve tried that, and it still doesn’t work.
And I think I’m using NONE.

<!-- gh-comment-id:3758934566 --> @daanreijrink commented on GitHub (Jan 16, 2026): Yes, I’ve tried that, and it still doesn’t work. And I think I’m using NONE.
Author
Owner

@DieselMane2006 commented on GitHub (Jan 18, 2026):

Same, i installed the efficient api version, the normal one, reverted to earlier versions, nothing helps. i have no idea how to connect to my own API token with spotify developer or smth so im kinda stranded now. This is my first few monthd of python so i have no idea whats going on.

love the program, not sure what to do tho

<!-- gh-comment-id:3765562103 --> @DieselMane2006 commented on GitHub (Jan 18, 2026): Same, i installed the efficient api version, the normal one, reverted to earlier versions, nothing helps. i have no idea how to connect to my own API token with spotify developer or smth so im kinda stranded now. This is my first few monthd of python so i have no idea whats going on. love the program, not sure what to do tho
Author
Owner

@SkilletWarez commented on GitHub (Jan 18, 2026):

Same, i installed the efficient api version, the normal one, reverted to earlier versions, nothing helps. i have no idea how to connect to my own API token with spotify developer or smth so im kinda stranded now. This is my first few monthd of python so i have no idea whats going on.

love the program, not sure what to do tho

  1. Delete your credentials.json to refresh
  2. Call command zotify --client-id xxxxxxxxxxxxxxxxx
    And login link will show.
<!-- gh-comment-id:3765675166 --> @SkilletWarez commented on GitHub (Jan 18, 2026): > Same, i installed the efficient api version, the normal one, reverted to earlier versions, nothing helps. i have no idea how to connect to my own API token with spotify developer or smth so im kinda stranded now. This is my first few monthd of python so i have no idea whats going on. > > love the program, not sure what to do tho 1. Delete your `credentials.json` to refresh 2. Call command `zotify --client-id xxxxxxxxxxxxxxxxx` And login link will show.
Author
Owner

@LoZ9009 commented on GitHub (Jan 19, 2026):

  1. Delete your credentials.json to refresh
  2. Call command zotify --client-id xxxxxxxxxxxxxxxxx
    And login link will show.

Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link

I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part

<!-- gh-comment-id:3766154530 --> @LoZ9009 commented on GitHub (Jan 19, 2026): > 1. Delete your `credentials.json` to refresh > 2. Call command `zotify --client-id xxxxxxxxxxxxxxxxx` > And login link will show. Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part
Author
Owner

@SkilletWarez commented on GitHub (Jan 19, 2026):

  1. Delete your credentials.json to refresh
  2. Call command zotify --client-id xxxxxxxxxxxxxxxxx
    And login link will show.

Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link

I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part

Change * into the link you are connecting for e.g http://127.0.0.1:1481/login

CALLBACK at developer App

http://127.0.0.1:*/login

<!-- gh-comment-id:3766212031 --> @SkilletWarez commented on GitHub (Jan 19, 2026): > > 1. Delete your `credentials.json` to refresh > > 2. Call command `zotify --client-id xxxxxxxxxxxxxxxxx` > > And login link will show. > > Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link > > I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part Change * into the link you are connecting for e.g `http://127.0.0.1:1481/login ` **CALLBACK at developer App** `http://127.0.0.1:*/login`
Author
Owner

@LoZ9009 commented on GitHub (Jan 19, 2026):

Change * into the link you are connecting for e.g http://127.0.0.1:1481/login

CALLBACK at developer App

http://127.0.0.1:*/login

Perfect, that did the job, thank you so much!

<!-- gh-comment-id:3766231595 --> @LoZ9009 commented on GitHub (Jan 19, 2026): > Change * into the link you are connecting for e.g `http://127.0.0.1:1481/login ` > > **CALLBACK at developer App** > > `http://127.0.0.1:*/login` Perfect, that did the job, thank you so much!
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

  1. Delete your credentials.json to refresh
  2. Call command zotify --client-id xxxxxxxxxxxxxxxxx
    And login link will show.

Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link
I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part

Change * into the link you are connecting for e.g http://127.0.0.1:1481/login

CALLBACK at developer App

http://127.0.0.1:*/login

It says "Not Secure"

Image
<!-- gh-comment-id:3766560444 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): > > > 1. Delete your `credentials.json` to refresh > > > 2. Call command `zotify --client-id xxxxxxxxxxxxxxxxx` > > > And login link will show. > > > > > > Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link > > I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part > > Change * into the link you are connecting for e.g `http://127.0.0.1:1481/login ` > > **CALLBACK at developer App** > > `http://127.0.0.1:*/login` It says "Not Secure" <img width="545" height="343" alt="Image" src="https://github.com/user-attachments/assets/d2277415-0488-4c79-afcc-f11cecf9ce5a" />
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

Also, where can i find my config files?

Image I install with pipx but cant find
<!-- gh-comment-id:3766566356 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): Also, where can i find my config files? <img width="414" height="237" alt="Image" src="https://github.com/user-attachments/assets/1a45db5f-4f20-4c7b-8c60-54741c98d664" /> I install with pipx but cant find
Author
Owner

@SkilletWarez commented on GitHub (Jan 19, 2026):

  1. Delete your credentials.json to refresh
  2. Call command zotify --client-id xxxxxxxxxxxxxxxxx
    And login link will show.

Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link
I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part

Change * into the link you are connecting for e.g http://127.0.0.1:1481/login
CALLBACK at developer App
http://127.0.0.1:*/login

It says "Not Secure"

Image

Not reading.

<!-- gh-comment-id:3766573910 --> @SkilletWarez commented on GitHub (Jan 19, 2026): > > > > 1. Delete your `credentials.json` to refresh > > > > 2. Call command `zotify --client-id xxxxxxxxxxxxxxxxx` > > > > And login link will show. > > > > > > > > > Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link > > > I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part > > > > > > Change * into the link you are connecting for e.g `http://127.0.0.1:1481/login ` > > **CALLBACK at developer App** > > `http://127.0.0.1:*/login` > > It says "Not Secure" > > <img alt="Image" width="545" height="343" src="https://private-user-images.githubusercontent.com/84914492/537406974-d2277415-0488-4c79-afcc-f11cecf9ce5a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Njg4MDMzMjAsIm5iZiI6MTc2ODgwMzAyMCwicGF0aCI6Ii84NDkxNDQ5Mi81Mzc0MDY5NzQtZDIyNzc0MTUtMDQ4OC00Yzc5LWFmY2MtZjExY2VjZjljZTVhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTE5VDA2MTAyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ0MDMyZWQwMDEyNzNiZDZkNTU2ZGQyZDczNWIxODIzOTA3NjU1NGMwMjRkMmVmMjYwZmMzZjJjNzQxYzEyNzEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YdtnTdOvn0Snm-6fKAWVGPdIpFNtpP2aXTt58bxJuPk"> Not reading.
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

  1. Delete your credentials.json to refresh
  2. Call command zotify --client-id xxxxxxxxxxxxxxxxx
    And login link will show.

Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link
I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part

Change * into the link you are connecting for e.g http://127.0.0.1:1481/login
CALLBACK at developer App
http://127.0.0.1:*/login

It says "Not Secure"
Image

Not reading.

I dont know how to find the port, to replace aesterick

<!-- gh-comment-id:3766646782 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): > > > > > 1. Delete your `credentials.json` to refresh > > > > > 2. Call command `zotify --client-id xxxxxxxxxxxxxxxxx` > > > > > And login link will show. > > > > > > > > > > > > Hey, unfortunately I have tried this same process but it seems to give me "INVALID_CLIENT: Invalid redirect URI" when going to the link > > > > I figured this was due to the callback url in the developer app, but what do I need to set this to? I feel a little confused on this part > > > > > > > > > Change * into the link you are connecting for e.g `http://127.0.0.1:1481/login ` > > > **CALLBACK at developer App** > > > `http://127.0.0.1:*/login` > > > > > > It says "Not Secure" > > <img alt="Image" width="545" height="343" src="https://private-user-images.githubusercontent.com/84914492/537406974-d2277415-0488-4c79-afcc-f11cecf9ce5a.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Njg4MDMzMjAsIm5iZiI6MTc2ODgwMzAyMCwicGF0aCI6Ii84NDkxNDQ5Mi81Mzc0MDY5NzQtZDIyNzc0MTUtMDQ4OC00Yzc5LWFmY2MtZjExY2VjZjljZTVhLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTE5VDA2MTAyMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ0MDMyZWQwMDEyNzNiZDZkNTU2ZGQyZDczNWIxODIzOTA3NjU1NGMwMjRkMmVmMjYwZmMzZjJjNzQxYzEyNzEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YdtnTdOvn0Snm-6fKAWVGPdIpFNtpP2aXTt58bxJuPk"> > > Not reading. I dont know how to find the port, to replace aesterick
Author
Owner

@LoZ9009 commented on GitHub (Jan 19, 2026):

It says "Not Secure"

When Skillet mentioned to do http://127.0.0.1:*/login , he didn't mean a copy and paste

Where * is, you need to add the port number that you can find in the login link, when you try to log into Zotify with "zotify --client-id (YOUR CLIENT ID WITHOUT BRACKETS)"

Once that is added as a callback URI, you'll be able to log in without issues

<!-- gh-comment-id:3766652030 --> @LoZ9009 commented on GitHub (Jan 19, 2026): > It says "Not Secure" When Skillet mentioned to do http://127.0.0.1:*/login , he didn't mean a copy and paste Where * is, you need to add the port number that you can find in the login link, when you try to log into Zotify with "zotify --client-id (YOUR CLIENT ID WITHOUT BRACKETS)" Once that is added as a callback URI, you'll be able to log in without issues
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

It says "Not Secure"

When Skillet mentioned to do http://127.0.0.1:*/login , he didn't mean a copy and paste

Where * is, you need to add the port number that you can find in the login link, when you try to log into Zotify with "zotify --client-id (YOUR CLIENT ID WITHOUT BRACKETS)"

Once that is added as a callback URI, you'll be able to log in without issues

yeah i get that now. However, when i try to zotify--clientid login, it either hangs on Logging In or gives a Errno 54 reset by peer. Therefore, trying to find the credentials.json, but I don't know where its located?

<!-- gh-comment-id:3766692625 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): > > It says "Not Secure" > > When Skillet mentioned to do http://127.0.0.1:*/login , he didn't mean a copy and paste > > Where * is, you need to add the port number that you can find in the login link, when you try to log into Zotify with "zotify --client-id (YOUR CLIENT ID WITHOUT BRACKETS)" > > Once that is added as a callback URI, you'll be able to log in without issues yeah i get that now. However, when i try to zotify--clientid login, it either hangs on Logging In or gives a Errno 54 reset by peer. Therefore, trying to find the credentials.json, but I don't know where its located?
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

Image

It says "Not Secure"

When Skillet mentioned to do http://127.0.0.1:*/login , he didn't mean a copy and paste
Where * is, you need to add the port number that you can find in the login link, when you try to log into Zotify with "zotify --client-id (YOUR CLIENT ID WITHOUT BRACKETS)"
Once that is added as a callback URI, you'll be able to log in without issues

yeah i get that now. However, when i try to zotify--clientid login, it either hangs on Logging In or gives a Errno 54 reset by peer. Therefore, trying to find the credentials.json, but I don't know where its located?

The same command is executed. One time it throws error. Another, it hangs on login. I wanted to find credentials.json to delete and try relogin but dont know where it is

<!-- gh-comment-id:3766725744 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): <img width="863" height="551" alt="Image" src="https://github.com/user-attachments/assets/20aa7c26-067c-4ffb-b2b6-a286b9d2078f" /> > > > It says "Not Secure" > > > > > > When Skillet mentioned to do http://127.0.0.1:*/login , he didn't mean a copy and paste > > Where * is, you need to add the port number that you can find in the login link, when you try to log into Zotify with "zotify --client-id (YOUR CLIENT ID WITHOUT BRACKETS)" > > Once that is added as a callback URI, you'll be able to log in without issues > > yeah i get that now. However, when i try to zotify--clientid login, it either hangs on Logging In or gives a Errno 54 reset by peer. Therefore, trying to find the credentials.json, but I don't know where its located? The same command is executed. One time it throws error. Another, it hangs on login. I wanted to find credentials.json to delete and try relogin but dont know where it is
Author
Owner

@LoZ9009 commented on GitHub (Jan 19, 2026):

The same command is executed. One time it throws error. Another, it hangs on login. I wanted to find credentials.json to delete and try relogin but dont know where it is

I see, and you're on Linux? I know where it is on Windows but not Linux

<!-- gh-comment-id:3766731399 --> @LoZ9009 commented on GitHub (Jan 19, 2026): > The same command is executed. One time it throws error. Another, it hangs on login. I wanted to find credentials.json to delete and try relogin but dont know where it is I see, and you're on Linux? I know where it is on Windows but not Linux
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

The same command is executed. One time it throws error. Another, it hangs on login. I wanted to find credentials.json to delete and try relogin but dont know where it is

I see, and you're on Linux? I know where it is on Windows but not Linux

macOS

<!-- gh-comment-id:3766738646 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): > > The same command is executed. One time it throws error. Another, it hangs on login. I wanted to find credentials.json to delete and try relogin but dont know where it is > > I see, and you're on Linux? I know where it is on Windows but not Linux macOS
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

Image Same command again
<!-- gh-comment-id:3766753970 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): <img width="919" height="515" alt="Image" src="https://github.com/user-attachments/assets/54a23108-8597-4e83-ab47-aa817fc188e0" /> Same command again
Author
Owner

@LoZ9009 commented on GitHub (Jan 19, 2026):

Image Same command again

Unsure where the credentials.json would be on Mac, but I imagine Skillet might have an idea

<!-- gh-comment-id:3766781090 --> @LoZ9009 commented on GitHub (Jan 19, 2026): > <img alt="Image" width="919" height="515" src="https://private-user-images.githubusercontent.com/84914492/537427320-54a23108-8597-4e83-ab47-aa817fc188e0.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Njg4MDY0ODMsIm5iZiI6MTc2ODgwNjE4MywicGF0aCI6Ii84NDkxNDQ5Mi81Mzc0MjczMjAtNTRhMjMxMDgtODU5Ny00ZTgzLWFiNDctYWE4MTdmYzE4OGUwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTE5VDA3MDMwM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWUwNmMyYTcwMTRlNDliYzkyMjVlYTY3YzI0NWQwZmU5ZGI1MTU1ZDAyMGJlYjkzZTUxZTU1MmM0MzdmZTllMjUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.9LJqozB218DLNGAqpQng5vVVo--lTv2715asTIySx8E"> Same command again Unsure where the credentials.json would be on Mac, but I imagine Skillet might have an idea
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

Found it! It's at your user profile/ApplicationSupport/Zotify.

Also, there is an issue with the Spotify, you cannot have localhost

Image If one exists, you must delete it. Otherwise, fail to edit!
<!-- gh-comment-id:3767055055 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): Found it! It's at your user profile/ApplicationSupport/Zotify. Also, there is an issue with the Spotify, you cannot have localhost <img width="465" height="228" alt="Image" src="https://github.com/user-attachments/assets/28808085-4c4d-4578-8f98-b567c23663d6" /> If one exists, you must delete it. Otherwise, fail to edit!
Author
Owner

@ilovecats4606 commented on GitHub (Jan 19, 2026):

Solution, how to use WebAPI Client ID

  1. Delete your credentials.json. On macOS located in ~/Application Support/Zotify.
  2. run command zotify -u USERNAME --client-id CLIENTID. Username can be found here https://www.spotify.com/au/account/profile/. Clientid is in your devapp settings
  3. When you run the command, you will see Click the link to login: and a big link, inside that link you will see redirect_uri=http://127.0.0.1:XXXX/login. The four X are replaced with numbers. You need to put these number into your app Basic Information -> Redirect URIS as http://127.0.0.1:XXXX/login. Replace the four X with the numbers from the link in your terminal. If you press save and it says failed to edit, it may be because of other URIs that have localhost, those are not allowed, must be deleted
  4. Now, you can open the link in browser. When finish sign in, should see librespot-python received callback
  5. If still stuck on Logging In for over a minute after signing in, go back to step 1. Note the four numbers may change so double check it.
  6. You log in, success, you can search now
    hopefully this can help anyone trying to login :)

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

<!-- gh-comment-id:3767102656 --> @ilovecats4606 commented on GitHub (Jan 19, 2026): Solution, how to use WebAPI Client ID 1. Delete your credentials.json. On macOS located in ~/Application Support/Zotify. 2. run command `zotify -u USERNAME --client-id CLIENTID`. Username can be found here [https://www.spotify.com/au/account/profile/](https://www.spotify.com/au/account/profile/). Clientid is in your devapp settings 3. When you run the command, you will see `Click the link to login:` and a big link, inside that link you will see `redirect_uri=http://127.0.0.1:XXXX/login`. The four X are replaced with numbers. You need to put these number into your app Basic Information -> Redirect URIS as `http://127.0.0.1:XXXX/login`. Replace the four X with the numbers from the link in your terminal. If you press save and it says failed to edit, it may be because of other URIs that have `localhost`, those are not allowed, must be deleted 4. Now, you can open the link in browser. When finish sign in, should see `librespot-python received callback` 5. If still stuck on `Logging In` for over a minute after signing in, go back to step 1. Note the four numbers may change so double check it. 6. You log in, success, you can search now hopefully this can help anyone trying to login :) edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(
Author
Owner

@jonaaa20 commented on GitHub (Jan 19, 2026):

It won't be fixed. It only works with Premium Accounts.

<!-- gh-comment-id:3769747142 --> @jonaaa20 commented on GitHub (Jan 19, 2026): It won't be fixed. It only works with Premium Accounts.
Author
Owner

@LoZ9009 commented on GitHub (Jan 19, 2026):

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me

<!-- gh-comment-id:3769774836 --> @LoZ9009 commented on GitHub (Jan 19, 2026): > edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :( Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me
Author
Owner

@jonaaa20 commented on GitHub (Jan 19, 2026):

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me

Are you using a Free or Premium Account? because i have the same problem.

Image
<!-- gh-comment-id:3769787862 --> @jonaaa20 commented on GitHub (Jan 19, 2026): > > edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :( > > Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me Are you using a Free or Premium Account? because i have the same problem. <img width="960" height="480" alt="Image" src="https://github.com/user-attachments/assets/22088853-aa47-4fe7-9c41-08194a935d2d" />
Author
Owner

@LoZ9009 commented on GitHub (Jan 19, 2026):

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me

Are you using a Free or Premium Account? because i have the same problem.

Image

Premium account, and it was working fine for me yesterday when I used it, I can give it a look now to see if that's still the case

Edit: Still working fine for me

<!-- gh-comment-id:3769793002 --> @LoZ9009 commented on GitHub (Jan 19, 2026): > > > edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :( > > > > > > Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me > > Are you using a Free or Premium Account? because i have the same problem. > > <img alt="Image" width="960" height="480" src="https://private-user-images.githubusercontent.com/19306370/537727825-22088853-aa47-4fe7-9c41-08194a935d2d.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Njg4NTA5NDcsIm5iZiI6MTc2ODg1MDY0NywicGF0aCI6Ii8xOTMwNjM3MC81Mzc3Mjc4MjUtMjIwODg4NTMtYWE0Ny00ZmU3LTljNDEtMDgxOTRhOTM1ZDJkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMTklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTE5VDE5MjQwN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk3NzQ3YjI5MTNjZmYwNTZmZDA2NzI1YjZkNTZmZmVkODE3MmNmZGU5YzFhNmQzNGY4Mjg4ZmNjY2YxZWE5MWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.1s7PrVAyTWGapWugeALBcksRJ_Ic4ZuYiCwxkQb8mOg"> Premium account, and it was working fine for me yesterday when I used it, I can give it a look now to see if that's still the case Edit: Still working fine for me
Author
Owner

@jonaaa20 commented on GitHub (Jan 19, 2026):

His problem (and mine) is just the account not being Premium, i'll get another month sub and test again later.

<!-- gh-comment-id:3769811619 --> @jonaaa20 commented on GitHub (Jan 19, 2026): His problem (and mine) is just the account not being Premium, i'll get another month sub and test again later.
Author
Owner

@LoZ9009 commented on GitHub (Jan 19, 2026):

His problem (and mine) is just the account not being Premium, i'll get another month sub and test again later.

Seems to be the case yeah, hopefully there will be some workaround in the future but seems a little bleak with how Spotify is going

If either yourself or ilovecats needs anything downloading in the meantime let me know and i'll help out, no hassle. Can drop my contact for somewhere here and delete it after

<!-- gh-comment-id:3769850386 --> @LoZ9009 commented on GitHub (Jan 19, 2026): > His problem (and mine) is just the account not being Premium, i'll get another month sub and test again later. Seems to be the case yeah, hopefully there will be some workaround in the future but seems a little bleak with how Spotify is going If either yourself or ilovecats needs anything downloading in the meantime let me know and i'll help out, no hassle. Can drop my contact for somewhere here and delete it after
Author
Owner

@ilovecats4606 commented on GitHub (Jan 20, 2026):

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me

ilovecats4606 is my discord

<!-- gh-comment-id:3770501174 --> @ilovecats4606 commented on GitHub (Jan 20, 2026): > > edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :( > > Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me ilovecats4606 is my discord
Author
Owner

@LoZ9009 commented on GitHub (Jan 20, 2026):

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me

ilovecats4606 is my discord

Sent you a request now, we'll sort things there

<!-- gh-comment-id:3770515810 --> @LoZ9009 commented on GitHub (Jan 20, 2026): > > > edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :( > > > > > > Is there anywhere I could message you? Like Discord or something, since i'd be happy to help you out directly given it's working for me > > ilovecats4606 is my discord Sent you a request now, we'll sort things there
Author
Owner

@besweeet commented on GitHub (Jan 21, 2026):

Using the efficient-api branch (version 0.11.15). Stuck at OAuth errors:

py -m zotify --debug --client-id xxxxxxxxxxxxxxxxx

DEBUG
###   config_DEBUG.json saved to \AppData\Roaming\Zotify   ###
###   zotify_DEBUG_2026-01-20_22-14-39.log logging to \Music\Zotify Music   ###

        [●∙∙] Logging in...                                                                                                                                                                                                                                                               
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "\zotify\zotify\__main__.py", line 147, in <module>
    main()
    ~~~~^^
  File "\zotify\zotify\__main__.py", line 142, in main
    Zotify.configure(args)
    ~~~~~~~~~~~~~~~~^^^^^^
  File "\zotify\zotify\config.py", line 742, in configure
    Zotify.login(args)
    ~~~~~~~~~~~~^^^^^^
  File "\zotify\zotify\config.py", line 655, in login
    if creds["type"] == OAuth.OAUTH_PKCE_TOKEN:
                        ^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'OAuth' has no attribute 'OAUTH_PKCE_TOKEN'
<!-- gh-comment-id:3776068648 --> @besweeet commented on GitHub (Jan 21, 2026): Using the efficient-api branch (version 0.11.15). Stuck at OAuth errors: ``` py -m zotify --debug --client-id xxxxxxxxxxxxxxxxx DEBUG ### config_DEBUG.json saved to \AppData\Roaming\Zotify ### ### zotify_DEBUG_2026-01-20_22-14-39.log logging to \Music\Zotify Music ### [●∙∙] Logging in... Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "\zotify\zotify\__main__.py", line 147, in <module> main() ~~~~^^ File "\zotify\zotify\__main__.py", line 142, in main Zotify.configure(args) ~~~~~~~~~~~~~~~~^^^^^^ File "\zotify\zotify\config.py", line 742, in configure Zotify.login(args) ~~~~~~~~~~~~^^^^^^ File "\zotify\zotify\config.py", line 655, in login if creds["type"] == OAuth.OAUTH_PKCE_TOKEN: ^^^^^^^^^^^^^^^^^^^^^^ AttributeError: type object 'OAuth' has no attribute 'OAUTH_PKCE_TOKEN' ```
Author
Owner

@Aeiron2 commented on GitHub (Jan 21, 2026):

can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;(

<!-- gh-comment-id:3776076389 --> @Aeiron2 commented on GitHub (Jan 21, 2026): can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;(
Author
Owner

@jonaaa20 commented on GitHub (Jan 21, 2026):

can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;(

Your own. You need an account with Premium and this same account MUST have a DEV API.

<!-- gh-comment-id:3776144713 --> @jonaaa20 commented on GitHub (Jan 21, 2026): > can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;( Your own. You need an account with Premium and this same account MUST have a DEV API.
Author
Owner

@besweeet commented on GitHub (Jan 21, 2026):

can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;(

Your own. You need an account with Premium and this same account MUST have a DEV API.

Is that the only option right now?

<!-- gh-comment-id:3776201981 --> @besweeet commented on GitHub (Jan 21, 2026): > > can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;( > > Your own. You need an account with Premium and this same account MUST have a DEV API. Is that the only option right now?
Author
Owner

@jonaaa20 commented on GitHub (Jan 21, 2026):

can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;(

Your own. You need an account with Premium and this same account MUST have a DEV API.

Is that the only option right now?

Yes.

<!-- gh-comment-id:3776208812 --> @jonaaa20 commented on GitHub (Jan 21, 2026): > > > can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;( > > > > Your own. You need an account with Premium and this same account MUST have a DEV API. > > Is that the only option right now? Yes.
Author
Owner

@Googolplexed0 commented on GitHub (Jan 21, 2026):

AttributeError: type object 'OAuth' has no attribute 'OAUTH_PKCE_TOKEN'

Your librespot_python is out of date.

<!-- gh-comment-id:3776346849 --> @Googolplexed0 commented on GitHub (Jan 21, 2026): > AttributeError: type object 'OAuth' has no attribute 'OAUTH_PKCE_TOKEN' Your [librespot_python](https://github.com/kokarare1212/librespot-python) is out of date.
Author
Owner

@ilovecats4606 commented on GitHub (Jan 21, 2026):

can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;(

Your own. You need an account with Premium and this same account MUST have a DEV API.

you can't have a free account devapi, and have another premium spotify account? interesting

<!-- gh-comment-id:3776347079 --> @ilovecats4606 commented on GitHub (Jan 21, 2026): > > can I use someone else's developer api or do I have to use my own? Spotify unfortunately is not allowing new creations ;( > > Your own. You need an account with Premium and this same account MUST have a DEV API. you can't have a free account devapi, and have another premium spotify account? interesting
Author
Owner

@besweeet commented on GitHub (Jan 21, 2026):

AttributeError: type object 'OAuth' has no attribute 'OAUTH_PKCE_TOKEN'

Your librespot_python is out of date.

That did the trick. Thanks. I did need to add --bypass-metadata-api True to the command. Also only works with individual tracks and not playlists, but better than nothing for now.

<!-- gh-comment-id:3780154548 --> @besweeet commented on GitHub (Jan 21, 2026): > > AttributeError: type object 'OAuth' has no attribute 'OAUTH_PKCE_TOKEN' > > Your [librespot_python](https://github.com/kokarare1212/librespot-python) is out of date. That did the trick. Thanks. I did need to add `--bypass-metadata-api True` to the command. Also only works with individual tracks and not playlists, but better than nothing for now.
Author
Owner

@stannismannis commented on GitHub (Jan 22, 2026):

AttributeError: type object 'OAuth' has no attribute 'OAUTH_PKCE_TOKEN'

Your librespot_python is out of date.

Hi @Googolplexed0! Thank you so much for all your work on maintaining Zotify, this has literally changed the way I've archived my media :)

Quick question - Is it expected that whenever the download finishes, the file name becomes the track's URL ID (e.g. 0uhYgQQ6WX9rCONnum7Fmw.mp3)? How do I make the filename correct like before? In this case it should be "I Know - Fiona Apple.mp3"

I'm able to download songs one by one using the efficient-api branch without the Spotify developer app like this:

C:\Windows\system32>zotify "https://open.spotify.com/track/0uhYgQQ6WX9rCONnum7Fmw?si=1db79fe8c3484937"

        [∙∙∙] Logging in...                                                                                                     [∙∙∙] Preparing Download...                                                                                             [∙∙∙] Converting File...                                                                                        
###   DOWNLOADED: "0uhYgQQ6WX9rCONnum7Fmw.mp3"   ###
###   DOWNLOAD TOOK 2s (PLUS 2s CONVERTING)   ###

###   PAUSED: WAITING FOR 30 SECONDS BETWEEN DOWNLOADS   ###

Here's my config file

{
    "ROOT_PATH": "~/Music/Zotify Music",
    "SAVE_CREDENTIALS": "True",
    "CREDENTIALS_LOCATION": "",
    "OUTPUT": "{artist}_{song_name}",
    "OUTPUT_SINGLE": "{artist}/{album}/{artist}_{song_name}",
    "OUTPUT_ALBUM": "{artist}/{album}/{album_num}_{artist}_{song_name}",
    "OUTPUT_PLAYLIST_EXT": "{playlist}/{song_name}",
    "OUTPUT_LIKED_SONGS": "Liked Songs/{artist}_{song_name}",
    "ROOT_PODCAST_PATH": "~/Music/Zotify Podcasts",
    "SPLIT_ALBUM_DISCS": "False",
    "MAX_FILENAME_LENGTH": "0",
    "OPTIMIZED_DOWNLOADING": "True",
    "BULK_WAIT_TIME": "30",
    "DOWNLOAD_REAL_TIME": "False",
    "TEMP_DOWNLOAD_DIR": "",
    "DOWNLOAD_PARENT_ALBUM": "False",
    "NO_COMPILATION_ALBUMS": "False",
    "NO_VARIOUS_ARTISTS": "False",
    "NO_ARTIST_APPEARS_ON": "False",
    "DISCOG_BY_ALBUM_ARTIST": "False",
    "REGEX_ENABLED": "False",
    "REGEX_TRACK_SKIP": "",
    "REGEX_EPISODE_SKIP": "",
    "REGEX_ALBUM_SKIP": "",
    "DOWNLOAD_FORMAT": "mp3",
    "DOWNLOAD_QUALITY": "very_high",
    "TRANSCODE_BITRATE": "auto",
    "CUSTOM_FFMEPG_ARGS": "",
    "SONG_ARCHIVE_LOCATION": "",
    "DISABLE_SONG_ARCHIVE": "False",
    "DISABLE_DIRECTORY_ARCHIVES": "False",
    "SKIP_EXISTING": "True",
    "SKIP_PREVIOUSLY_DOWNLOADED": "False",
    "EXPORT_M3U8": "False",
    "M3U8_LOCATION": "",
    "M3U8_REL_PATHS": "True",
    "LIKED_SONGS_ARCHIVE_M3U8": "True",
    "LYRICS_TO_METADATA": "True",
    "LYRICS_TO_FILE": "True",
    "LYRICS_LOCATION": "",
    "OUTPUT_LYRICS": "{artist}_{song_name}",
    "ALWAYS_CHECK_LYRICS": "True",
    "LYRICS_MD_HEADER": "False",
    "BYPASS_MD_API": "True",
    "LANGUAGE": "en",
    "MD_DISC_TRACK_TOTALS": "True",
    "MD_SAVE_GENRES": "True",
    "MD_ALLGENRES": "False",
    "MD_GENREDELIMITER": ", ",
    "MD_ARTISTDELIMITER": ", ",
    "SEARCH_QUERY_SIZE": "10",
    "STRICT_LIBRARY_VERIFY": "True",
    "ALBUM_ART_JPG_FILE": "True",
    "RETRY_ATTEMPTS": "1",
    "CHUNK_SIZE": "20000",
    "REDIRECT_ADDRESS": "127.0.0.1",
    "PRINT_SPLASH": "False",
    "PRINT_PROGRESS_INFO": "True",
    "PRINT_SKIPS": "True",
    "PRINT_DOWNLOADS": "True",
    "PRINT_DOWNLOAD_PROGRESS": "True",
    "PRINT_URL_PROGRESS": "True",
    "PRINT_ALBUM_PROGRESS": "True",
    "PRINT_ARTIST_PROGRESS": "True",
    "PRINT_PLAYLIST_PROGRESS": "True",
    "PRINT_WARNINGS": "True",
    "PRINT_ERRORS": "True",
    "PRINT_API_ERRORS": "True",
    "STANDARD_INTERFACE": "False",
    "FFMPEG_LOG_LEVEL": "error"
}

Do I need to change something in my config? Hope you may advise, thank you!

<!-- gh-comment-id:3783479262 --> @stannismannis commented on GitHub (Jan 22, 2026): > > AttributeError: type object 'OAuth' has no attribute 'OAUTH_PKCE_TOKEN' > > Your [librespot_python](https://github.com/kokarare1212/librespot-python) is out of date. Hi @Googolplexed0! Thank you so much for all your work on maintaining Zotify, this has literally changed the way I've archived my media :) Quick question - Is it expected that whenever the download finishes, the file name becomes the track's URL ID (e.g. 0uhYgQQ6WX9rCONnum7Fmw.mp3)? How do I make the filename correct like before? In this case it should be "I Know - Fiona Apple.mp3" I'm able to download songs one by one using the efficient-api branch without the Spotify developer app like this: ``` C:\Windows\system32>zotify "https://open.spotify.com/track/0uhYgQQ6WX9rCONnum7Fmw?si=1db79fe8c3484937" [∙∙∙] Logging in... [∙∙∙] Preparing Download... [∙∙∙] Converting File... ### DOWNLOADED: "0uhYgQQ6WX9rCONnum7Fmw.mp3" ### ### DOWNLOAD TOOK 2s (PLUS 2s CONVERTING) ### ### PAUSED: WAITING FOR 30 SECONDS BETWEEN DOWNLOADS ### ``` Here's my config file ``` { "ROOT_PATH": "~/Music/Zotify Music", "SAVE_CREDENTIALS": "True", "CREDENTIALS_LOCATION": "", "OUTPUT": "{artist}_{song_name}", "OUTPUT_SINGLE": "{artist}/{album}/{artist}_{song_name}", "OUTPUT_ALBUM": "{artist}/{album}/{album_num}_{artist}_{song_name}", "OUTPUT_PLAYLIST_EXT": "{playlist}/{song_name}", "OUTPUT_LIKED_SONGS": "Liked Songs/{artist}_{song_name}", "ROOT_PODCAST_PATH": "~/Music/Zotify Podcasts", "SPLIT_ALBUM_DISCS": "False", "MAX_FILENAME_LENGTH": "0", "OPTIMIZED_DOWNLOADING": "True", "BULK_WAIT_TIME": "30", "DOWNLOAD_REAL_TIME": "False", "TEMP_DOWNLOAD_DIR": "", "DOWNLOAD_PARENT_ALBUM": "False", "NO_COMPILATION_ALBUMS": "False", "NO_VARIOUS_ARTISTS": "False", "NO_ARTIST_APPEARS_ON": "False", "DISCOG_BY_ALBUM_ARTIST": "False", "REGEX_ENABLED": "False", "REGEX_TRACK_SKIP": "", "REGEX_EPISODE_SKIP": "", "REGEX_ALBUM_SKIP": "", "DOWNLOAD_FORMAT": "mp3", "DOWNLOAD_QUALITY": "very_high", "TRANSCODE_BITRATE": "auto", "CUSTOM_FFMEPG_ARGS": "", "SONG_ARCHIVE_LOCATION": "", "DISABLE_SONG_ARCHIVE": "False", "DISABLE_DIRECTORY_ARCHIVES": "False", "SKIP_EXISTING": "True", "SKIP_PREVIOUSLY_DOWNLOADED": "False", "EXPORT_M3U8": "False", "M3U8_LOCATION": "", "M3U8_REL_PATHS": "True", "LIKED_SONGS_ARCHIVE_M3U8": "True", "LYRICS_TO_METADATA": "True", "LYRICS_TO_FILE": "True", "LYRICS_LOCATION": "", "OUTPUT_LYRICS": "{artist}_{song_name}", "ALWAYS_CHECK_LYRICS": "True", "LYRICS_MD_HEADER": "False", "BYPASS_MD_API": "True", "LANGUAGE": "en", "MD_DISC_TRACK_TOTALS": "True", "MD_SAVE_GENRES": "True", "MD_ALLGENRES": "False", "MD_GENREDELIMITER": ", ", "MD_ARTISTDELIMITER": ", ", "SEARCH_QUERY_SIZE": "10", "STRICT_LIBRARY_VERIFY": "True", "ALBUM_ART_JPG_FILE": "True", "RETRY_ATTEMPTS": "1", "CHUNK_SIZE": "20000", "REDIRECT_ADDRESS": "127.0.0.1", "PRINT_SPLASH": "False", "PRINT_PROGRESS_INFO": "True", "PRINT_SKIPS": "True", "PRINT_DOWNLOADS": "True", "PRINT_DOWNLOAD_PROGRESS": "True", "PRINT_URL_PROGRESS": "True", "PRINT_ALBUM_PROGRESS": "True", "PRINT_ARTIST_PROGRESS": "True", "PRINT_PLAYLIST_PROGRESS": "True", "PRINT_WARNINGS": "True", "PRINT_ERRORS": "True", "PRINT_API_ERRORS": "True", "STANDARD_INTERFACE": "False", "FFMPEG_LOG_LEVEL": "error" } ``` Do I need to change something in my config? Hope you may advise, thank you!
Author
Owner

@U2EZNeko commented on GitHub (Jan 22, 2026):

Is there no way to add a client ID to config?

I keep running into similar issues, now with my new install it doesn't even recognize --client-id no matter which branch I try. "unrecognized argument"

I have multiple API keys setup for different spotify scripts so it's not like that's the issue.

<!-- gh-comment-id:3787153226 --> @U2EZNeko commented on GitHub (Jan 22, 2026): Is there no way to add a client ID to config? I keep running into similar issues, now with my new install it doesn't even recognize --client-id no matter which branch I try. "unrecognized argument" I have multiple API keys setup for different spotify scripts so it's not like that's the issue.
Author
Owner

@Googolplexed0 commented on GitHub (Jan 23, 2026):

@besweeet

Also only works with individual tracks and not playlists

This mandatory when BYPASS_MD_API is True, as the contents of a Playlist cannot be fetched.

@stannismannis

Hi @Googolplexed0! Thank you so much for all your work on maintaining Zotify, this has literally changed the way I've archived my media :)

Glad to know I am having a positive impact on your experience with music :)

Is it expected that whenever the download finishes, the file name becomes the track's URL ID (e.g. 0uhYgQQ6WX9rCONnum7Fmw.mp3)

This is mandatory when BYPASS_MD_API is True, as no track metadata can be fetched.

@U2EZNeko

Is there no way to add a client ID to config?

I keep running into similar issues, now with my new install it doesn't even recognize --client-id no matter which branch I try. "unrecognized argument"

Planned feature, see #148. I need to fix all the bugs in new-hierarchy first, but this is next highest priority.

Overall, the --client-id argument is only meant to be used once per Client ID, to authorize and obtain a key. After that, the key can be refreshed (effectively) forever. SAVE_CREDENTIALS should be enabled and CREDENTIALS_LOCATION (or --creds) should be set to <your usual credentials path>\credentials<something unique here>.json for each Client ID. This way each Client ID/credential pair gets its own file, instead of constantly overwriting each other. Then you just set CREDENTIALS_LOCATION (or --creds) to whichever credential file you'd like to use at runtime, loading the saved key and preventing the need for manual reauthentication every time you switch Client ID.

<!-- gh-comment-id:3788261679 --> @Googolplexed0 commented on GitHub (Jan 23, 2026): @besweeet > Also only works with individual tracks and not playlists This mandatory when `BYPASS_MD_API` is True, as the contents of a Playlist cannot be fetched. @stannismannis > Hi [@Googolplexed0](https://github.com/Googolplexed0)! Thank you so much for all your work on maintaining Zotify, this has literally changed the way I've archived my media :) Glad to know I am having a positive impact on your experience with music :) > Is it expected that whenever the download finishes, the file name becomes the track's URL ID (e.g. 0uhYgQQ6WX9rCONnum7Fmw.mp3) This is mandatory when `BYPASS_MD_API` is True, as no track metadata can be fetched. @U2EZNeko > Is there no way to add a client ID to config? > > I keep running into similar issues, now with my new install it doesn't even recognize --client-id no matter which branch I try. "unrecognized argument" Planned feature, see #148. I need to fix all the bugs in [new-hierarchy](https://github.com/Googolplexed0/zotify/tree/new-hierarchy) first, but this is next highest priority. Overall, the `--client-id` argument is only meant to be used once per Client ID, to authorize and obtain a key. After that, the key can be refreshed (effectively) forever. `SAVE_CREDENTIALS` should be enabled and `CREDENTIALS_LOCATION` (or `--creds`) should be set to `<your usual credentials path>\credentials<something unique here>.json` for each Client ID. This way each Client ID/credential pair gets its own file, instead of constantly overwriting each other. Then you just set `CREDENTIALS_LOCATION` (or `--creds`) to whichever credential file you'd like to use at runtime, loading the saved key and preventing the need for manual reauthentication every time you switch Client ID.
Author
Owner

@alexjohhh commented on GitHub (Jan 24, 2026):

I am not able to find --bypass-metadata-api int the arguments, is that still supported? thank you! trying to find my way without an api token

<!-- gh-comment-id:3795070340 --> @alexjohhh commented on GitHub (Jan 24, 2026): I am not able to find --bypass-metadata-api int the arguments, is that still supported? thank you! trying to find my way without an api token
Author
Owner

@besweeet commented on GitHub (Jan 24, 2026):

I am not able to find --bypass-metadata-api int the arguments, is that still supported? thank you! trying to find my way without an api token

It's there:
Image

Ensure you're using the efficient-api version.

<!-- gh-comment-id:3795115866 --> @besweeet commented on GitHub (Jan 24, 2026): > I am not able to find --bypass-metadata-api int the arguments, is that still supported? thank you! trying to find my way without an api token It's there: <img width="350" height="69" alt="Image" src="https://github.com/user-attachments/assets/fb08c8fd-a9b3-4aff-9c4a-f61dd118ae4d" /> Ensure you're using the [efficient-api](https://github.com/Googolplexed0/zotify/tree/efficient-api) version.
Author
Owner

@alexjohhh commented on GitHub (Jan 25, 2026):

Thanks besweeet! that was the issue, but im still running into this

Image
<!-- gh-comment-id:3795879251 --> @alexjohhh commented on GitHub (Jan 25, 2026): Thanks besweeet! that was the issue, but im still running into this <img width="976" height="269" alt="Image" src="https://github.com/user-attachments/assets/eaf1b03c-a921-4b2f-91ff-1b0c2bc79665" />
Author
Owner

@alexjohhh commented on GitHub (Jan 25, 2026):

anyone had success without the api key?

<!-- gh-comment-id:3795879521 --> @alexjohhh commented on GitHub (Jan 25, 2026): anyone had success without the api key?
Author
Owner

@SkilletWarez commented on GitHub (Jan 25, 2026):

Thanks besweeet! that was the issue, but im still running into this

Image

try increasing your bulk wait

<!-- gh-comment-id:3796617540 --> @SkilletWarez commented on GitHub (Jan 25, 2026): > Thanks besweeet! that was the issue, but im still running into this > > <img alt="Image" width="976" height="269" src="https://private-user-images.githubusercontent.com/70728010/540183955-eaf1b03c-a921-4b2f-91ff-1b0c2bc79665.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjkzNDU2MzgsIm5iZiI6MTc2OTM0NTMzOCwicGF0aCI6Ii83MDcyODAxMC81NDAxODM5NTUtZWFmMWIwM2MtYTkyMS00YjJmLTkxZmYtMWIwYzJiYzc5NjY1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTI1VDEyNDg1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2ZGIwYTgwYmEzNGU3MmI2N2JkNzMyYzAxNDU2MTMwOTU2OGNlMmQ2ODdlNzIwZmI4YzU4MmMzNGU3ZjZkMjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IpCmhdvodzYuH2Mub8SSl-v86xLf4IU3wctY2gWNY8w"> try increasing your bulk wait
Author
Owner

@jonaaa20 commented on GitHub (Jan 25, 2026):

Thanks besweeet! that was the issue, but im still running into this

Image

try increasing your bulk wait

This won't fix because he needs a Premium Account.

<!-- gh-comment-id:3796724946 --> @jonaaa20 commented on GitHub (Jan 25, 2026): > > Thanks besweeet! that was the issue, but im still running into this > > > > <img alt="Image" width="976" height="269" src="https://private-user-images.githubusercontent.com/70728010/540183955-eaf1b03c-a921-4b2f-91ff-1b0c2bc79665.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjkzNDU2MzgsIm5iZiI6MTc2OTM0NTMzOCwicGF0aCI6Ii83MDcyODAxMC81NDAxODM5NTUtZWFmMWIwM2MtYTkyMS00YjJmLTkxZmYtMWIwYzJiYzc5NjY1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTI1VDEyNDg1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2ZGIwYTgwYmEzNGU3MmI2N2JkNzMyYzAxNDU2MTMwOTU2OGNlMmQ2ODdlNzIwZmI4YzU4MmMzNGU3ZjZkMjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IpCmhdvodzYuH2Mub8SSl-v86xLf4IU3wctY2gWNY8w"> > > try increasing your bulk wait This won't fix because he needs a Premium Account.
Author
Owner

@SkilletWarez commented on GitHub (Jan 25, 2026):

It can bypass

Thanks besweeet! that was the issue, but im still running into this
Image

try increasing your bulk wait

This won't fix because he needs a Premium Account.

Bypass in the configuration. But does not pull a metadata

<!-- gh-comment-id:3797171898 --> @SkilletWarez commented on GitHub (Jan 25, 2026): It can bypass > > > Thanks besweeet! that was the issue, but im still running into this > > > <img alt="Image" width="976" height="269" src="https://private-user-images.githubusercontent.com/70728010/540183955-eaf1b03c-a921-4b2f-91ff-1b0c2bc79665.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjkzNDU2MzgsIm5iZiI6MTc2OTM0NTMzOCwicGF0aCI6Ii83MDcyODAxMC81NDAxODM5NTUtZWFmMWIwM2MtYTkyMS00YjJmLTkxZmYtMWIwYzJiYzc5NjY1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTI1VDEyNDg1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2ZGIwYTgwYmEzNGU3MmI2N2JkNzMyYzAxNDU2MTMwOTU2OGNlMmQ2ODdlNzIwZmI4YzU4MmMzNGU3ZjZkMjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IpCmhdvodzYuH2Mub8SSl-v86xLf4IU3wctY2gWNY8w"> > > > > > > try increasing your bulk wait > > This won't fix because he needs a Premium Account. Bypass in the configuration. But does not pull a metadata
Author
Owner

@jonaaa20 commented on GitHub (Jan 25, 2026):

It can bypass

Thanks besweeet! that was the issue, but im still running into this
Image

try increasing your bulk wait

This won't fix because he needs a Premium Account.

Bypass in the configuration. But does not pull a metadata

Nope. Doesn't work, at least not for me.

<!-- gh-comment-id:3797270720 --> @jonaaa20 commented on GitHub (Jan 25, 2026): > It can bypass > > > > > Thanks besweeet! that was the issue, but im still running into this > > > > <img alt="Image" width="976" height="269" src="https://private-user-images.githubusercontent.com/70728010/540183955-eaf1b03c-a921-4b2f-91ff-1b0c2bc79665.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjkzNDU2MzgsIm5iZiI6MTc2OTM0NTMzOCwicGF0aCI6Ii83MDcyODAxMC81NDAxODM5NTUtZWFmMWIwM2MtYTkyMS00YjJmLTkxZmYtMWIwYzJiYzc5NjY1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAxMjUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMTI1VDEyNDg1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2ZGIwYTgwYmEzNGU3MmI2N2JkNzMyYzAxNDU2MTMwOTU2OGNlMmQ2ODdlNzIwZmI4YzU4MmMzNGU3ZjZkMjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.IpCmhdvodzYuH2Mub8SSl-v86xLf4IU3wctY2gWNY8w"> > > > > > > > > > try increasing your bulk wait > > > > This won't fix because he needs a Premium Account. > > Bypass in the configuration. But does not pull a metadata Nope. Doesn't work, at least not for me.
Author
Owner

@wobblecauseimacripple commented on GitHub (Jan 26, 2026):

Zotify was working for me after working on everything, and suddenly it stopped?

Image

This is what I get now, at all times. Any ideas on how to fix it?

<!-- gh-comment-id:3797583830 --> @wobblecauseimacripple commented on GitHub (Jan 26, 2026): Zotify was working for me after working on everything, and suddenly it stopped? <img width="1015" height="930" alt="Image" src="https://github.com/user-attachments/assets/942a7ab1-05f2-4366-b43b-3796d1ce3522" /> This is what I get now, at all times. Any ideas on how to fix it?
Author
Owner

@qvattr0 commented on GitHub (Jan 26, 2026):

Yeah, I've been getting this issue as well. I have a premium account and have had no issues with backing up my Spotify playlists back before the December of the previous year. I've actually had the DevAPI web app, but while troubleshooting the issue when it appeared for the first time, in my infinite lack of wisdom, I deleted the web app to see if I can create a new one. Unfortunately, I was no longer able to create a new web app after that. And since then, I was unable to back up any of my playlists and such.

<!-- gh-comment-id:3797950798 --> @qvattr0 commented on GitHub (Jan 26, 2026): Yeah, I've been getting this issue as well. I have a premium account and have had no issues with backing up my Spotify playlists back before the December of the previous year. I've actually had the DevAPI web app, but while troubleshooting the issue when it appeared for the first time, in my infinite lack of wisdom, I deleted the web app to see if I can create a new one. Unfortunately, I was no longer able to create a new web app after that. And since then, I was unable to back up any of my playlists and such.
Author
Owner

@muneebmaster commented on GitHub (Jan 29, 2026):

I'm just looking to download individual songs and don't really care for metadata and/or lyrics. I don't have a DevAPI web app, only a Premium account's username and password. Is it still possible to use username/password? If so, how?

<!-- gh-comment-id:3820980627 --> @muneebmaster commented on GitHub (Jan 29, 2026): I'm just looking to download individual songs and don't really care for metadata and/or lyrics. I don't have a DevAPI web app, only a Premium account's username and password. Is it still possible to use username/password? If so, how?
Author
Owner

@DieselMane2006 commented on GitHub (Jan 30, 2026):

http://127.0.0.1:*/login

what exactly do i change how? do i replace the 4 numbers with the star? im new to this and im not sure what you mean with "change *".

do i change smth in the login ip? or do i need to change the whole ip to the one you provided? if thats even an IP, i have no idea what im talking about lol

<!-- gh-comment-id:3825422657 --> @DieselMane2006 commented on GitHub (Jan 30, 2026): > http://127.0.0.1:*/login what exactly do i change how? do i replace the 4 numbers with the star? im new to this and im not sure what you mean with "change *". do i change smth in the login ip? or do i need to change the whole ip to the one you provided? if thats even an IP, i have no idea what im talking about lol
Author
Owner

@ilovecats4606 commented on GitHub (Jan 31, 2026):

Solution, how to use WebAPI Client ID

  1. Delete your credentials.json. On macOS located in ~/Application Support/Zotify.
  2. run command zotify -u USERNAME --client-id CLIENTID. Username can be found here https://www.spotify.com/au/account/profile/. Clientid is in your devapp settings
  3. When you run the command, you will see Click the link to login: and a big link, inside that link you will see redirect_uri=http://127.0.0.1:XXXX/login. The four X are replaced with numbers. You need to put these number into your app Basic Information -> Redirect URIS as http://127.0.0.1:XXXX/login. Replace the four X with the numbers from the link in your terminal. If you press save and it says failed to edit, it may be because of other URIs that have localhost, those are not allowed, must be deleted
  4. Now, you can open the link in browser. When finish sign in, should see librespot-python received callback
  5. If still stuck on Logging In for over a minute after signing in, go back to step 1. Note the four numbers may change so double check it.
  6. You log in, success, you can search now
    hopefully this can help anyone trying to login :)

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

@DieselMane2006

<!-- gh-comment-id:3827125356 --> @ilovecats4606 commented on GitHub (Jan 31, 2026): > Solution, how to use WebAPI Client ID > > 1. Delete your credentials.json. On macOS located in ~/Application Support/Zotify. > 2. run command `zotify -u USERNAME --client-id CLIENTID`. Username can be found here https://www.spotify.com/au/account/profile/. Clientid is in your devapp settings > 3. When you run the command, you will see `Click the link to login:` and a big link, inside that link you will see `redirect_uri=http://127.0.0.1:XXXX/login`. The four X are replaced with numbers. You need to put these number into your app Basic Information -> Redirect URIS as `http://127.0.0.1:XXXX/login`. Replace the four X with the numbers from the link in your terminal. If you press save and it says failed to edit, it may be because of other URIs that have `localhost`, those are not allowed, must be deleted > 4. Now, you can open the link in browser. When finish sign in, should see `librespot-python received callback` > 5. If still stuck on `Logging In` for over a minute after signing in, go back to step 1. Note the four numbers may change so double check it. > 6. You log in, success, you can search now > hopefully this can help anyone trying to login :) > > edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :( @DieselMane2006
Author
Owner

@DieselMane2006 commented on GitHub (Jan 31, 2026):

Solution, how to use WebAPI Client ID

  1. Delete your credentials.json. On macOS located in ~/Application Support/Zotify.
  2. run command zotify -u USERNAME --client-id CLIENTID. Username can be found here https://www.spotify.com/au/account/profile/. Clientid is in your devapp settings
  3. When you run the command, you will see Click the link to login: and a big link, inside that link you will see redirect_uri=http://127.0.0.1:XXXX/login. The four X are replaced with numbers. You need to put these number into your app Basic Information -> Redirect URIS as http://127.0.0.1:XXXX/login. Replace the four X with the numbers from the link in your terminal. If you press save and it says failed to edit, it may be because of other URIs that have localhost, those are not allowed, must be deleted
  4. Now, you can open the link in browser. When finish sign in, should see librespot-python received callback
  5. If still stuck on Logging In for over a minute after signing in, go back to step 1. Note the four numbers may change so double check it.
  6. You log in, success, you can search now
    hopefully this can help anyone trying to login :)

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

@DieselMane2006

well, i dont have a developer id, and they dont give them out anymore, so zotify is dead for me and people without a developer ID, right?

<!-- gh-comment-id:3828163335 --> @DieselMane2006 commented on GitHub (Jan 31, 2026): > > Solution, how to use WebAPI Client ID > > > > 1. Delete your credentials.json. On macOS located in ~/Application Support/Zotify. > > 2. run command `zotify -u USERNAME --client-id CLIENTID`. Username can be found here https://www.spotify.com/au/account/profile/. Clientid is in your devapp settings > > 3. When you run the command, you will see `Click the link to login:` and a big link, inside that link you will see `redirect_uri=http://127.0.0.1:XXXX/login`. The four X are replaced with numbers. You need to put these number into your app Basic Information -> Redirect URIS as `http://127.0.0.1:XXXX/login`. Replace the four X with the numbers from the link in your terminal. If you press save and it says failed to edit, it may be because of other URIs that have `localhost`, those are not allowed, must be deleted > > 4. Now, you can open the link in browser. When finish sign in, should see `librespot-python received callback` > > 5. If still stuck on `Logging In` for over a minute after signing in, go back to step 1. Note the four numbers may change so double check it. > > 6. You log in, success, you can search now > > hopefully this can help anyone trying to login :) > > > > edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :( > > [@DieselMane2006](https://github.com/DieselMane2006) well, i dont have a developer id, and they dont give them out anymore, so zotify is dead for me and people without a developer ID, right?
Author
Owner

@ilovecats4606 commented on GitHub (Jan 31, 2026):

Solution, how to use WebAPI Client ID

  1. Delete your credentials.json. On macOS located in ~/Application Support/Zotify.
  2. run command zotify -u USERNAME --client-id CLIENTID. Username can be found here https://www.spotify.com/au/account/profile/. Clientid is in your devapp settings
  3. When you run the command, you will see Click the link to login: and a big link, inside that link you will see redirect_uri=http://127.0.0.1:XXXX/login. The four X are replaced with numbers. You need to put these number into your app Basic Information -> Redirect URIS as http://127.0.0.1:XXXX/login. Replace the four X with the numbers from the link in your terminal. If you press save and it says failed to edit, it may be because of other URIs that have localhost, those are not allowed, must be deleted
  4. Now, you can open the link in browser. When finish sign in, should see librespot-python received callback
  5. If still stuck on Logging In for over a minute after signing in, go back to step 1. Note the four numbers may change so double check it.
  6. You log in, success, you can search now
    hopefully this can help anyone trying to login :)

edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :(

@DieselMane2006

well, i dont have a developer id, and they dont give them out anymore, so zotify is dead for me and people without a developer ID, right?

Yes, even if I give you mine ( I wouldn't mine if I did) it must be on the same account as the Spotify Premium, which I do not have..

<!-- gh-comment-id:3828164616 --> @ilovecats4606 commented on GitHub (Jan 31, 2026): > > > Solution, how to use WebAPI Client ID > > > > > > 1. Delete your credentials.json. On macOS located in ~/Application Support/Zotify. > > > 2. run command `zotify -u USERNAME --client-id CLIENTID`. Username can be found here https://www.spotify.com/au/account/profile/. Clientid is in your devapp settings > > > 3. When you run the command, you will see `Click the link to login:` and a big link, inside that link you will see `redirect_uri=http://127.0.0.1:XXXX/login`. The four X are replaced with numbers. You need to put these number into your app Basic Information -> Redirect URIS as `http://127.0.0.1:XXXX/login`. Replace the four X with the numbers from the link in your terminal. If you press save and it says failed to edit, it may be because of other URIs that have `localhost`, those are not allowed, must be deleted > > > 4. Now, you can open the link in browser. When finish sign in, should see `librespot-python received callback` > > > 5. If still stuck on `Logging In` for over a minute after signing in, go back to step 1. Note the four numbers may change so double check it. > > > 6. You log in, success, you can search now > > > hopefully this can help anyone trying to login :) > > > > > > edit: cant download anything with the "failed to fetch audio key". looked around in some issues and found that this is happening to people with spotify free only and looks like it wont be fixed? not sure :( > > > > > > [@DieselMane2006](https://github.com/DieselMane2006) > > well, i dont have a developer id, and they dont give them out anymore, so zotify is dead for me and people without a developer ID, right? Yes, even if I give you mine ( I wouldn't mine if I did) it must be on the same account as the Spotify Premium, which I do not have..
Author
Owner

@ilovecats4606 commented on GitHub (Feb 26, 2026):

Image might be the end for freeaccs
<!-- gh-comment-id:3969904428 --> @ilovecats4606 commented on GitHub (Feb 26, 2026): <img width="470" height="796" alt="Image" src="https://github.com/user-attachments/assets/6f0039ba-aae5-4e5a-b5e8-aa5f1d222c17" /> might be the end for freeaccs
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#134
No description provided.