{"id":24054699,"url":"https://github.com/paxsenix0/spotify-canvas-api","last_synced_at":"2025-05-09T01:49:41.259Z","repository":{"id":221967253,"uuid":"755901920","full_name":"Paxsenix0/Spotify-Canvas-API","owner":"Paxsenix0","description":"Unofficial API to fetch Spotify Canvas video data (the looping visual videos that appear behind songs on mobile).","archived":false,"fork":false,"pushed_at":"2025-04-09T15:40:08.000Z","size":118,"stargazers_count":16,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-09T01:49:35.447Z","etag":null,"topics":["api","canvas-api","nodejs","spotify","spotify-api","spotify-canvas","spotify-canvas-api"],"latest_commit_sha":null,"homepage":"https://api.paxsenix.biz.id","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Paxsenix0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-11T12:37:11.000Z","updated_at":"2025-05-06T16:32:01.000Z","dependencies_parsed_at":"2025-02-26T10:44:42.039Z","dependency_job_id":"eecb628b-1b8d-4a7d-b74b-381fa670275f","html_url":"https://github.com/Paxsenix0/Spotify-Canvas-API","commit_stats":null,"previous_names":["paxsenix0/spotify-canvas-api"],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxsenix0%2FSpotify-Canvas-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxsenix0%2FSpotify-Canvas-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxsenix0%2FSpotify-Canvas-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Paxsenix0%2FSpotify-Canvas-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Paxsenix0","download_url":"https://codeload.github.com/Paxsenix0/Spotify-Canvas-API/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253176437,"owners_count":21866142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","canvas-api","nodejs","spotify","spotify-api","spotify-canvas","spotify-canvas-api"],"created_at":"2025-01-09T03:49:35.921Z","updated_at":"2025-05-09T01:49:41.249Z","avatar_url":"https://github.com/Paxsenix0.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spotify Canvas API\n\nUnofficial API to fetch Spotify **Canvas video data** (the looping visual videos that appear behind songs on mobile).  \n\n\u003e [!WARNING]  \n\u003e This project uses undocumented endpoints and may violate [Spotify's Terms of Service](https://www.spotify.com/legal/end-user-agreement/). Use at your own risk.\n\n---\n\n## Features\n\n- Retrieve **Canvas video URLs** by track ID or URI\n- Parses Protobuf responses from the internal Spotify API\n- Works with public or private tracks (as long as you're authenticated)\n\n---\n\n## Example Request\n\n### GET `/api/canvas`\n\n```bash\nhttps://localhost:3000/api/canvas?trackId=3OHfY25tqY28d16oZczHc8\n```\n\n### Response:\n```json\n{\n  \"data\": {\n    \"canvasesList\": [\n      {\n        \"id\": \"32b57cbf354b453a95eee32bb04d4e42\",\n        \"canvasUrl\": \"https://canvaz.scdn.co/upload/licensor/5bSw7fRotCnRCcO9br14W5/video/32b57cbf354b453a95eee32bb04d4e42.cnvs.mp4\",\n        \"trackUri\": \"spotify:track:3OHfY25tqY28d16oZczHc8\",\n        \"artist\": {\n          \"artistUri\": \"spotify:artist:7tYKF4w9nC0nq9CsPZTHyP\",\n          \"artistName\": \"SZA\",\n          \"artistImgUrl\": \"https://i.scdn.co/image/ab6761610000f1780895066d172e1f51f520bc65\"\n        },\n        \"otherId\": \"2c441fceb502eaa25f26bcd5b1ccfc0d\",\n        \"canvasUri\": \"spotify:canvas:1xGyujDyxbx4eTPD4nKLw6\"\n      }\n    ]\n  }\n}\n```\n\n---\n\n## Setup\n\n### 1. Clone the Repo\n\n```bash\ngit clone https://github.com/Paxsenix0/Spotify-Canvas-API.git\ncd Spotify-Canvas-API\n```\n\n### 2. Install Dependencies\n\n```bash\nnpm install\n```\n\n### 3. Set Required Environment Variable\n\nYou must supply your sp_dc cookie from a logged-in Spotify session.\n\nCreate a .env file in the root:\n\n```bash\nSP_DC=your_sp_dc_cookie_here\n```\n\n\u003e This cookie is used to generate an access token to authenticate requests.\n\n---\n\n## Deployment\n\nYou can deploy instantly with Vercel:\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FPaxsenix0%2FSpotify-Canvas-API%2Ftree%2Fmain\u0026project-name=Spotify-Canvas-API\u0026repository-name=Spotify-Canvas-API\u0026env=SP_DC\u0026envDescription=SP_DC%20is%20needed%20for%20this%20for%20authentication%20to%20be%20working%20fine\u0026envLink=https%3A%2F%2Fwww.spotify.com%2F\u0026redirect-url=https%3A%2F%2Fgithub.com%2FPaxsenix0%2FSpotify-Canvas-API)\n\n---\n\n## Notes\n\n\u003e 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!\n\n---\n\n## Reference\n\nShoutout to this helpful repo that inspired parts of this:\nhttps://github.com/bartleyg/my-spotify-canvas\n\n---\n\n## License\n\nThis project is licensed under the MIT license. see [LICENSE](https://github.com/Paxsenix0/Spotify-Canvas-API/blob/initial/LICENSE) for details.\n\n---\n\n## Contact\n\nTelegram: [@paxsenix0](https://t.me/paxsenix0)\n\nEmail: alex24dzn@proton.me\n\nMy Rest-API website: https://api.paxsenix.biz.id\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaxsenix0%2Fspotify-canvas-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaxsenix0%2Fspotify-canvas-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaxsenix0%2Fspotify-canvas-api/lists"}