mirror of
https://github.com/devgianlu/go-librespot.git
synced 2026-04-25 21:05:47 +03:00
[GH-ISSUE #282] Passthrough Spotify Web API always returns 429 "Too Many Requests" #170
Labels
No labels
bug
enhancement
pull-request
spotify-side
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/go-librespot#170
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @PaulVanSchayck on GitHub (Jan 7, 2026).
Original GitHub issue: https://github.com/devgianlu/go-librespot/issues/282
I had been using the Spotify Web API through the go-librespot API service. This was working great, but recently all my requests have started to return
429 Too many requests. Even when doing a fresh request afters hours of inactivity.I'm doing this request:
Doesn't seem to matter which Web API endpoint I try to use. Restarting go-librespot doesn't help. Anyone seen the same? Has Spotify changed things? I can use the Web API with the same account through https://developer.spotify.com/ just fine. I've also tried re-authenticating go-librespot (running in interactive mode).
@seijikun commented on GitHub (Jan 17, 2026):
Same thing has been seen with the python version: https://github.com/kokarare1212/librespot-python/issues/328
as well as the rust version. So it's at least not library specific (if I understood the issue correctly - but I guess it's due to the oauth token either way)
@devgianlu commented on GitHub (Jan 23, 2026):
This doesn't look like something we can solve, perhaps they started disallowing API requests made with an OAuth token obtained with the desktop client ID.
@stronk-dev commented on GitHub (Feb 21, 2026):
I ran into this, but was able to solve it by modifying the
web-apiendpoint to use a configurable developer API token.Can make it a PR after some more testing & reviewing it thoroughly as Claude wrote the code.
If you want to try out if this works for you before then, I can make it a draft PR or you can cherry pick from here:
github.com/stronk-dev/go-librespot@0295f1a7ae@kingosticks commented on GitHub (Feb 21, 2026):
Just note that user API accounts have restricted access. You won't be able to use them with certain endpoints or Spotify owned playlists.
@stronk-dev commented on GitHub (Feb 22, 2026):
Good point...
Then i guess a more robust solution would be to expose what one would need the
web-apifor, but through the 'native' Mercury/Hermes stuff, and expose API endpoints for that...For my use case, where i only use the
/web-api/v1/playlistsendpoint to get playlists (+ their owner, mosaic/album art, etc), this was quite doable to expose as a set ofmetadataendpoints (/metadata/rootlist,/metadata/playlist/<id>,/metadata/playlist/<id>/image,/metadata/track/<id>, etc).Edit:
github.com/devgianlu/go-librespot@e0547e7994seems stable so far for me... it adds a bunch of 'metadata' endpoints that for my use case took away the need of the web-api passthrough entirely. Including generating a mosaic for playlists without art and caching album arts locally...But, as i really don't have time ATM to implement this 'properly', it's been made by Claude so I don't feel like it's appropriate to make a PR for this just yet.
So this is mostly for reference for people that bump into this issue and need something quick; feel free to cherry-pick this...