Spotify has announced changes to the Web API for integrations in Developer Mode (February 11 for new integrations, March 9 for all existing integrations): Web API Changes - February 2026
From what I could gather this affects the following functions:
BaseClient::artist_top_tracks – endpoint removed
BaseClient::new_releases and BaseClient::new_releases_manual – endpoint removed
BaseClient::albums – endpoint removed
BaseClient::artists – endpoint removed
BaseClient::categories and BaseClient::categories_manual – endpoint removed
BaseClient::get_several_episodes – endpoint removed
BaseClient::get_several_shows – endpoint removed
BaseClient::tracks – endpoint removed
BaseClient::user_playlists and BaseClient::user_playlists_manual – endpoint removed
BaseClient::user – endpoint removed
BaseClient::user_playlists and BaseClient::user_playlists_manual – endpoint removed
OAuthClient::user_playlist_create – endpoint removed, still available for the current user only via POST /me/playlists
OAuthClient::current_user_saved_albums_delete – endpoint changed to DELETE /me/library
OAuthClient::remove_users_saved_shows – endpoint changed to DELETE /me/library
OAuthClient::current_user_saved_tracks_delete – endpoint changed to DELETE /me/library
OAuthClient::current_user_saved_albums_add – endpoint changed to PUT /me/library
OAuthClient::save_shows – endpoint changed to PUT /me/library
OAuthClient::current_user_saved_tracks_add – endpoint changed to PUT /me/library
OAuthClient::user_artist_check_follow – endpoint changed to GET /me/library
OAuthClient::current_user_saved_albums_contains – endpoint changed to GET /me/library
OAuthClient::check_users_saved_shows – endpoint changed to GET /me/library
OAuthClient::current_user_saved_tracks_contains – endpoint changed to GET /me/library
OAuthClient::user_follow_artists – endpoint changed to PUT /me/library
OAuthClient::user_unfollow_artists – endpoint changed to PUT /me/library
OAuthClient::user_follow_users – endpoint changed to PUT /me/library
OAuthClient::user_unfollow_users – endpoint changed to PUT /me/library
OAuthClient::playlist_follow – endpoint changed to PUT /me/library
OAuthClient::playlist_unfollow – endpoint changed to PUT /me/library
OAuthClient::playlist_add_items – endpoint changed to POST /playlists/{id}/items
OAuthClient::playlist_replace_items – endpoint changed to PUT /playlists/{id}/items
OAuthClient::playlist_reorder_items – endpoint changed to PUT /playlists/{id}/items
OAuthClient::playlist_remove_specific_occurrences_of_items – endpoint changed to DELETE /playlists/{id}/tracks
OAuthClient::playlist_remove_all_occurrences_of_items – endpoint changed to DELETE /playlists/{id}/tracks
The changes also affect the following model types:
SimplifiedAlbum
- field
album_group removed
- field
available_markets removed
FullAlbum
- field
available_markets removed
- field
external_ids removed
- field
label removed
- field
popularity removed
FullArtist
- field
followers removed
- field
popularity removed
SimplifiedPlaylist
- field
tracks renamed to items
FullPlaylist
- field
tracks renamed to items
PlaylistItem
- field
track renamed to item
SimplifiedShow
- field
available_markets removed
- field
publisher removed
FullShow
- field
available_markets removed
- field
publisher removed
FullTrack
- field
available_markets removed
- field
external_ids removed
- field
linked_from removed
- field
popularity removed
SimplifiedTrack
- field
available_markets removed
- field
linked_from removed
PublicUser
PrivateUser
- field
country removed
- field
email removed
- field
explicit_content removed
- field
followers removed
- field
product removed
Spotify has announced changes to the Web API for integrations in Developer Mode (February 11 for new integrations, March 9 for all existing integrations): Web API Changes - February 2026
From what I could gather this affects the following functions:
BaseClient::artist_top_tracks– endpoint removedBaseClient::new_releasesandBaseClient::new_releases_manual– endpoint removedBaseClient::albums– endpoint removedBaseClient::artists– endpoint removedBaseClient::categoriesandBaseClient::categories_manual– endpoint removedBaseClient::get_several_episodes– endpoint removedBaseClient::get_several_shows– endpoint removedBaseClient::tracks– endpoint removedBaseClient::user_playlistsandBaseClient::user_playlists_manual– endpoint removedBaseClient::user– endpoint removedBaseClient::user_playlistsandBaseClient::user_playlists_manual– endpoint removedOAuthClient::user_playlist_create– endpoint removed, still available for the current user only via POST /me/playlistsOAuthClient::current_user_saved_albums_delete– endpoint changed toDELETE /me/libraryOAuthClient::remove_users_saved_shows– endpoint changed toDELETE /me/libraryOAuthClient::current_user_saved_tracks_delete– endpoint changed toDELETE /me/libraryOAuthClient::current_user_saved_albums_add– endpoint changed toPUT /me/libraryOAuthClient::save_shows– endpoint changed toPUT /me/libraryOAuthClient::current_user_saved_tracks_add– endpoint changed toPUT /me/libraryOAuthClient::user_artist_check_follow– endpoint changed toGET /me/libraryOAuthClient::current_user_saved_albums_contains– endpoint changed toGET /me/libraryOAuthClient::check_users_saved_shows– endpoint changed toGET /me/libraryOAuthClient::current_user_saved_tracks_contains– endpoint changed toGET /me/libraryOAuthClient::user_follow_artists– endpoint changed toPUT /me/libraryOAuthClient::user_unfollow_artists– endpoint changed toPUT /me/libraryOAuthClient::user_follow_users– endpoint changed toPUT /me/libraryOAuthClient::user_unfollow_users– endpoint changed toPUT /me/libraryOAuthClient::playlist_follow– endpoint changed toPUT /me/libraryOAuthClient::playlist_unfollow– endpoint changed toPUT /me/libraryOAuthClient::playlist_add_items– endpoint changed toPOST /playlists/{id}/itemsOAuthClient::playlist_replace_items– endpoint changed toPUT /playlists/{id}/itemsOAuthClient::playlist_reorder_items– endpoint changed toPUT /playlists/{id}/itemsOAuthClient::playlist_remove_specific_occurrences_of_items– endpoint changed toDELETE /playlists/{id}/tracksOAuthClient::playlist_remove_all_occurrences_of_items– endpoint changed toDELETE /playlists/{id}/tracksThe changes also affect the following model types:
SimplifiedAlbumalbum_groupremovedavailable_marketsremovedFullAlbumavailable_marketsremovedexternal_idsremovedlabelremovedpopularityremovedFullArtistfollowersremovedpopularityremovedSimplifiedPlaylisttracksrenamed toitemsFullPlaylisttracksrenamed toitemsPlaylistItemtrackrenamed toitemSimplifiedShowavailable_marketsremovedpublisherremovedFullShowavailable_marketsremovedpublisherremovedFullTrackavailable_marketsremovedexternal_idsremovedlinked_fromremovedpopularityremovedSimplifiedTrackavailable_marketsremovedlinked_fromremovedPublicUserfollowersremovedPrivateUsercountryremovedemailremovedexplicit_contentremovedfollowersremovedproductremovedSpotify's February 2026 update explicitly stated that they are "moving away from the Client Credentials flow for metadata endpoints" and restricting "Developer Mode" apps, and Development Mode use will require a Spotify Premium account.
This is what I got when calling their API by client credentials token: