Repository navigation
Adapt to the api.spotify.com API change effective 2026-03-09 - #241
Open
torrresagus wants to merge 1 commit into
Open
torrresagus wants to merge 1 commit into
torrresagus wants to merge 1 commit into
Conversation
Playlist items are now read from `item` and the playlist's `items` href and total, and the artist and album lookups request one id at a time because the batch endpoints are gone. `popularity`, `label` and `followers` are now optional and exported as empty when missing. Mocks and tests use the new URLs and shapes. I haven't run the tests or the type checker. Notice spotify-2026-02-development-mode about api.spotify.com's API describes the change. It was read from a file and is not signed by the provider.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed in the API
Notice
spotify-2026-02-development-modeaboutapi.spotify.com's API describes this change, published 2026-02-11 and effective 2026-03-09. It is not signed byapi.spotify.com: it was read from a file the person running Tiltmeter trusts.The notice's summary:
GET https://api.spotify.com/v1/playlists/{playlist_id}/tracks$GET https://api.spotify.com/v1/playlists/{playlist_id}/items$.items[*].track$.items[*].itemPOST https://api.spotify.com/v1/playlists/{playlist_id}/tracks$POST https://api.spotify.com/v1/playlists/{playlist_id}/itemsPUT https://api.spotify.com/v1/playlists/{playlist_id}/tracks$PUT https://api.spotify.com/v1/playlists/{playlist_id}/itemsDELETE https://api.spotify.com/v1/playlists/{playlist_id}/tracks$DELETE https://api.spotify.com/v1/playlists/{playlist_id}/itemsPOST https://api.spotify.com/v1/users/{user_id}/playlists$POST https://api.spotify.com/v1/me/playlistsGET https://api.spotify.com/v1/users/{user_id}/playlists$GET https://api.spotify.com/v1/me/playlistsGET https://api.spotify.com/v1/users/{user_id}$GET https://api.spotify.com/v1/albums$GET https://api.spotify.com/v1/albums/{id}GET https://api.spotify.com/v1/artists$GET https://api.spotify.com/v1/artists/{id}PUT https://api.spotify.com/v1/me/tracks$PUT https://api.spotify.com/v1/me/libraryPUT https://api.spotify.com/v1/me/albums$PUT https://api.spotify.com/v1/me/libraryDELETE https://api.spotify.com/v1/me/tracks$DELETE https://api.spotify.com/v1/me/libraryDELETE https://api.spotify.com/v1/me/albums$DELETE https://api.spotify.com/v1/me/libraryGET https://api.spotify.com/v1/playlists/{playlist_id}$.tracks$.items$.tracks.items[*].track$.items.items[*].itemGET https://api.spotify.com/v1/me/playlists$.items[*].tracks$.items[*].itemsGET https://api.spotify.com/v1/tracks/{id}$.popularity$.available_markets$.linked_fromGET https://api.spotify.com/v1/albums/{id}$.label$.popularity$.available_markets$.album_groupGET https://api.spotify.com/v1/artists/{id}$.followers$.popularityGET https://api.spotify.com/v1/me$.country$.followers$.email$.explicit_content$.productGET https://api.spotify.com/v1/me/tracks$.items[*].track.popularity$.items[*].track.available_marketsGET https://api.spotify.com/v1/shows/{id}$.available_markets$.publisherThe notice's notes:
What this pull request changes
Playlist items are now read from
itemand the playlist'sitemshref and total, and the artist and album lookups request one id at a time because the batch endpoints are gone.popularity,labelandfollowersare now optional and exported as empty when missing. Mocks and tests use the new URLs and shapes. I haven't run the tests or the type checker.src/components/PlaylistExporter.test.tssrc/components/PlaylistTable.test.tsxsrc/components/SavedAlbumsExporter.tssrc/components/data/TracksAlbumData.tssrc/components/data/TracksArtistsData.tssrc/components/data/TracksBaseData.tssrc/components/data/TracksData.test.tssrc/mocks/handlers.tssrc/spotify.tsTests
sh -c 'pnpm install --frozen-lockfile --ignore-scripts --reporter=silent && CI=true npx vitest run'passed on these edits. It ran with network access and without secrets.Left for a human
This pull request was generated automatically by Tiltmeter from the unsigned notice
spotify-2026-02-development-modeabout api.spotify.com's API. An AI agent (Claude Code with claude-sonnet-5-5) wrote these edits; review them like any other change.