Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JMPerez/spotify-dedup
Remove duplicates from your Spotify Playlists
https://github.com/JMPerez/spotify-dedup
music-library remove-duplicates spotify spotify-dedup spotify-library spotify-playlist spotify-web-api
Last synced: 9 days ago
JSON representation
Remove duplicates from your Spotify Playlists
- Host: GitHub
- URL: https://github.com/JMPerez/spotify-dedup
- Owner: JMPerez
- License: mit
- Created: 2014-08-14T12:20:05.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-10-12T15:19:51.000Z (about 1 month ago)
- Last Synced: 2024-10-16T06:35:39.429Z (27 days ago)
- Topics: music-library, remove-duplicates, spotify, spotify-dedup, spotify-library, spotify-playlist, spotify-web-api
- Language: TypeScript
- Homepage: https://spotify-dedup.com
- Size: 3.24 MB
- Stars: 857
- Watchers: 16
- Forks: 74
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Spotify Deduplicator
[![Greenkeeper badge](https://badges.greenkeeper.io/JMPerez/spotify-dedup.svg)](https://greenkeeper.io/)
Have you ever wanted to remove duplicated songs from your Spotify library? Now you can find and remove them using Spotify Dedup.
This project uses the [Spotify Web API](https://developer.spotify.com/web-api/) for managing playlists. Just log in and it will traverse your playlists, finding songs that appear multiple times with the same identifier (Spotify URI) in a given playlist.
If it finds duplicates, they can be removed just pushing a button. And since it doesn't create a whole new playlist, it keeps all the information like creation date and subscribers.
## Try it
You can check it out on [https://spotify-dedup.com](https://spotify-dedup.com) or run it locally.
## Install and run
Install the dependencies:
pnpm install
Run it:
pnpm dev
Then open http://localhost:3000 in a browser
## Testing
In order to test saved tracks, create duplicated tracks by executing the Web API request on https://developer.spotify.com/console/put-current-user-saved-tracks/?ids=2JZfTvWWtpaE8NohqRXqFr,1poUtf2dDdVUtWL8tn03Wd,6ADSaE87h8Y3lccZlBJdXH,2x45xqISlmmDJqxOqr8BuS,1iQ1BpOGF1Umd3lpTV4OPO.
## About the tools used and implementation details
### Spotify Web API and Promises
This app is a good example of how to traverse a user's library without incurring in rate limit. Have a look at the code and see how Promises and a Promise Queue are used to control the amount of requests sent to the Spotify Web API. If you are interested in throttling promises, check out [promise-throttle](https://github.com/JMPerez/promise-throttle).