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)
https://localhost:3000/api/canvas?trackId=3OHfY25tqY28d16oZczHc8
{
"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/Paxsenix0/Spotify-Canvas-API.git
cd Spotify-Canvas-API
npm install
You must supply your sp_dc cookie from a logged-in Spotify session.
Create a .env file in the root:
SP_DC=your_sp_dc_cookie_here
This cookie is used to generate an access token to authenticate requests.
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: [email protected]
My Rest-API website: https://api.paxsenix.biz.id