В json-response есть поле "progress_ms" - которое отображает сколько времени трека уже прошло, также в поле item есть "duration_ms" - которое отображает длину трека. Далее математика 1‐го класса:
"duration_ms" - "progress_ms" = время через которое трек сам переключиться
Можно отправлять запрос через ето время. Да, если пользователь сам переключит раньше этого вы не узнаете, но это лучше чем спамить запросами каждых N секунд.
https://developer.spotify.com/documentation/web-ap...
https://developer.spotify.com/documentation/web-ap...