spotify-skill
Spotify (read-only library + crate export)
Pull liked songs, playlists, and top tracks out of Spotify, and export them in the shared
crate format that beatport-skill matches against.
Read-only by design. The requested scopes cover reading the library only — no playlist-modify, no playback control. Don't add write scopes without asking.
The one thing to know: no BPM or key
Spotify permanently disabled audio-features, audio-analysis, recommendations,
related-artists, and 30-second previews for any app created after 2024-11-27. A new
app gets 403 on those endpoints — this is policy, not a bug, and no amount of scope
fixes it.
So a crate exported here has bpm: null and key: null by design. BPM and key come
from Beatport during beatport_skill.py match. If Idan asks for the BPM of something he
liked, that is the path — don't go looking for a Spotify endpoint that will serve it.