Spotify не поддерживает stream данных, т.е. получить событие о смене трека вы не можете используя API.
По этому, если использовать API вам ничего не остается, как с какой-то периодичностью допустимой для Sprotify опрашивать ресурс currently-playing.
Snip работает с приложением, и считывает данные с него, это не работа с API, и программирование совсем другого уровня.