Unofficial API to fetch Spotify Canvas video data (the looping visual videos that appear behind songs on mobile).
Warning
This project uses undocumented endpoints and may violate Spotify's Terms of Service. Use at your own risk.
- Retrieve Canvas video URLs by track ID or URI
- Parses Protobuf responses from the internal Spotify API
- Works with public or private tracks (as long as you're authenticated)
To get the canvas data, you need to provide a track ID and your sp_dc cookie.
http://localhost:3000/api/canvas?trackId=3OHfY25tqY28d16oZczHc8&sp_dc=your_sp_dc_cookie_here- Open your browser and go to open.spotify.com.
- Open the developer tools (usually by pressing
F12orCtrl+Shift+I). - Go to the "Application" (or "Storage") tab.
- Find the "Cookies" section and click on the
open.spotify.comdomain. - Look for a cookie named
sp_dc. Copy its value.
{
"data": {
"canvasesList": [
{
"id": "32b57cbf354b453a95eee32bb04d4e42",
"canvasUrl": "https://canvaz.scdn.co/upload/licensor/5bSw7fRotCnRCcO9br14W5/video/32b57cbf354b453a95eee32bb04d4e42.cnvs.mp4",
"trackUri": "spotify:track:3OHfY25tqY28d16oZczHc8",
"artist": {
"artistUri": "spotify:artist:7tYKF4w9nC0nq9CsPZTHyP",
"artistName": "SZA",
"artistImgUrl": "https://i.scdn.co/image/ab6761610000f1780895066d172e1f51f520bc65"
},
"otherId": "2c441fceb502eaa25f26bcd5b1ccfc0d",
"canvasUri": "spotify:canvas:1xGyujDyxbx4eTPD4nKLw6"
}
]
}
}git clone https://github.com/vladsector/Spotify-Canvas-API.git
cd Spotify-Canvas-APInpm installnode index.jsThe API will now be running at http://localhost:3000.
You can deploy instantly with Vercel:
I'm developing this project entirely on my phone, without a PC or laptop. Also, I'm still learning — so feel free to send pull requests or suggestions if something looks off!
Shoutout to this helpful repo that inspired parts of this: https://github.com/bartleyg/my-spotify-canvas
This project is licensed under the MIT license. see LICENSE for details.
Telegram: @paxsenix0
Email: alex24dzn@proton.me
My Rest-API website: https://api.paxsenix.biz.id