The purpose of this site is to take several Spotify Playlists and generate a single playlist from them.
The system then monitors those lists for changes and propagates any changes to the master list. This means that you can now follow spotify created lists or user created lists that change frequently to make your own mix in a single list. Ideal for mobile users. Can also be used to merge Spotify playlists!
Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker. Alternatively, subscribe to our VIP membership to completely remove ads and therefore also remove the need for your ad blocker on our site. Details can be found on the Profile page once you are signed in.
First off. Welcome! Thank you for choosing IntelliMerge for Spotify. Here is a quick crash course to getting your first Master Playlist set up and monitoring playlists for changes.
  1. Creating your first Master Playlist.
    The first thing you'll want to do is head to the Playlist Editor and create a Master Playlist. This is the playlist that the system will change as your linked playlists change. You can
    import an existing playlist from Spotify or
    create a new playlist.
  2. Creating Playlist Links to your Master Playlist.
    After you've created your Master Playlist in the System, you'll want to start telling the system which playlists should be monitored for changes. The system will look at all of the songs that are on your linked playlists and then add them to your Master Playlist. To edit your links click the
    button in the Actions column. All of the playlists that you follow on Spotify will be displayed. If you want to create a link to a playlist that is not in this list, you'll need to find it on Spotify, follow it and then return to IntelliMerge for Spotify. Once a link is created, you can unfollow the playlist. This lets you create links to playlists that you dont even have in your account. Handy. There are two types of links you can make for a playlist: Includes and Excludes (Please read the FAQ further down on this page titled "What does it mean to Include/Exclude playlists? Should I just Exclude everything I'm not Including?"). You can
    Include a playlist or
    Exclude a playlist from your master Playlist. You will not be able to include or exclude a Master Playlist from itself, but you can include or exclude it from other master playlists..
  3. Filter your playlists.
    If you're an avid playlist link creator you may want to show the playlist links that you've created in the past without showing all of the playlists you follow. At the top of the Edit Links window there will be tabs that let you filter the results to things like All Followed, All Linked, or a combination of those. Click those to only show the playlists pertinent to the tab you want to see.
  4. Unfollow or Follow a Playlist.
    Now that you've created a link to a playlist, you no longer need to follow it. If you choose, you can click the
    UnFollow button to remove it from your Spotify account. Some of the playlists you have will be missing this button. These are the playlists that you own and cannot Unfollow. If you have created a link to a playlist, and then unfollowed it, you will also have the option to
    Follow it again. When you are done, you can either press the x in the top right of the pop-up window, press close at the bottom right, or use the back button on your device. It saves the changes as you make them, so there is no 'Save' button to hit when you are done.
  5. Edit settings of the Master Playlist.
    The defaults of a Master Playlist will work for most users, but you may want to take a look at what settings are available for each Master Playlist. To edit the settings of each Master Playlist you can click the
    button in the Actions column from the Main page. You can also access the scan/update logs for each Master Playlist from the settings pop-up window (coming soon).
  6. Creating your Master Playlist on Spotify.
    If you did not import a playlist in step 1, you will be required to tell the system that it's time to create it on Spotify and link it to your newly created playlist. This is not done automatically to give you time to set the links and settings before the updater picks it up for the first time. Click the
    Create button to create it in your Spotify Account. Now you just have to wait for the next Scan to pick up your playlist and update it. You can see the last time that your playlists were scanned below your list of master playlists, or on your profile page. In both places, you can click
    to manually queue it for update as well. If you make a large number of changes to the links, this is a great tool to get your master playlists updated quickly.

With a VIP Membership, you can have all these extra features listed below. Show your appreciation for the service and pledge a few extra dollars each month to make sure that IntelliMerge for Spotify stays online and running smoothly. Thank you very much for your support!
Manage Your Subscription

Longer Playlists: By default we only pull the first 5000 songs before we stop. If you have VIP we up that limit to 15000.

More Playlists: Basic users are limited to only creating 2 Master Playlists that are updated. VIP users can make 20 Master Playlists.

More frequent updates: Basic users only get their playlists updated once every 24 hours but as a VIP member your playlists are scanned every 60 minutes.

Queue Playlist Refresh: We give you the ability to queue your playlists for a refresh. Did you just make a bunch of changes to your links? Now you can queue a refresh to pick it up at the next scan.

No Ads: We need to pay for the servers somehow and we'll cut out the middle man and hide those pesky ads if you opt to give us a few extra dollars each month instead.

API Access: You can make your own API requests to our backend directly. We'll give you an API Key and you can query the status of your playlists, add and remove playlists, or queue a refresh.

Master Playlist Update Logs: We'll give you access to the update logs, letting you see how much was added or removed for the last 20 runs for each Master Playlist.

Webhooks: Once we finish updating your playlists, we'll send an update package to the webhook url that you define. Use this to get notifications in slack, discord, IFTTT, or many others.

Beta Access: The newest features and bug fixes are pushed directly to the VIP users first. This means that they will often get more functionality turned on before the regular users.

Our never-ending appreciation: This project has been the result of input from many people and that feedback has led to continuous improvement. We could not have done that without you! Thank you very much! With your subscription comes a very heart-filled Thank you!

VIP Membership on IntelliMerge for Spotify does not include any membership with Spotify, either implied or explicitly. As a third-party beneficiary of the WritheM Terms of Service / End User Licence agreement and privacy policy, Spotify is entitled to directly enforce our end user license agreement on our behalf. We reserve the right to change limits and benefits of our VIP membership at any time. We will do everything we can to inform you of these changes before we make them via our Change Log at the FAQ page. If your account on Spotify is closed, you are responsible for also cancelling your VIP subscription on our system. We do not monitor your account status on Spotify. We do not guarantee system availability but will make every effort for 99.9% uptime. All VIP memberships are non-refundable and service interruptions or cancellations beyond our control are not cause for any refunds (either partial or in full). Scheduled maintenance and outages will be posted on our system status page that can be found at https://status.writhem.com/. The scan/update service runs on the plebian server. The website runs on praetor server. Both of these servers are hosted at WM2-AB-CA. Cancelling your Intellimerge VIP membership does not delete or remove any information on either Spotify's servers or the WritheM Project server. To request removal of your account information from the WritheM Project server, please follow the process outlined at in the FAQ page.

Great! We've built the site based largely on feedback from people just like yourself. We would love to have your input. You can head over to our GitHub repository to make your feature requests or bug reports. We have some great resources for contributing to the project there including a preview of some features that might be added to future versions of IntelliMerge for Spotify.
Your privacy is important to us so we wanted to expand on our Privacy Policy and how it pertains specifically to IntelliMerge for Spotify.
  • We will never sell your information either as an anonymized collection or as distinct. Unless required to share any information by law enforcement agencies or agreements with our third party vendors (including but not limited to Spotify), we will never willingly give information about your usage of this service to anyone. You can always request an export of the data that we capture about you as well. Please create a support ticket for this and allow 7-14 days for us to process requests of this nature.
  • We only capture information from your account or usage that we absolutely require to perform the services we promise to provide. In addition to this, we only request access to the elements of your account that we absolutely require to perform the services we promise to you. This means things like age, name, or any security information about your Spotify profile are never stored in our database. We do log IP addresses and information such as browser used, but never store this in any way that can be 'linked' to a specific user. This technical information is captured to monitor security and performance as well as develop the service further (If the majority of our users switch to Internet Explorer 6.0 then we may consider re-writing our website to support that). Most recently this is what has led us to completely rewrite the website with mobile first design. We found that >65% of our users were mobile users.
  • If you're using our API we do log detailed information about its usage. This includes when, who, and what is requested. We only log uses of our API if directly using an APIKey and not when a user is logged in. Only VIPs are given the option to generate an APIKey. Usage of our API constitutes agreement with our detailed logging.
  • We also log detailed information about webhooks. This includes failure rates and full history of the set urls and their responses. We log this to deter and control abuse of the feature. As this is a VIP only feature that users must opt-in to use, if you are uncomfortable with our logging of this, do not use it. Usage of the Webhook features, constitutes agreement with our logging of your usage of this feature.

This will let you opt-out of tracking. You may choose to prevent us from aggregating and analyzing the actions you take here. Doing so will protect your privacy, but will also prevent us from learning from your actions and creating a better experience for you and other users.
In short, no. Songs that are on an Excluded list will never be added to your Master Playlist. It's a sort of blacklist. Let's think of an example. I want to create a Master Playlist that includes my country's Top 50 tracks on Spotify, but it occasionally has an artist that I can't stand. If I find a playlist that includes all of the songs I would never want to include (Most artists have a "This is __" created by Spotify that would be perfect for this), then I can set that as excluded from my Master Playlist. My Master Playlist will then only contain the songs that are in the Included Top 50 but not on the Excluded 'This is __' playlist. Alternatively, you can create your own Excluded playlist on Spotify and then exclude that from your Master Playlist. You can Include or Exclude as many playlists as you want, but know that the system will only pick up the first ~5000 songs for Basic users, or ~15000songs for VIP Users.
We currently limit the number of songs that will be added to a master list, as well as the number of master lists per account. To keep the number of hits to the Spotify API reasonable, we only add the first ~5000 songs that are found on a scan. Because of the way we hit the spotify api though, they give us chunks of 100 songs back and we only stop requesting additional songs after we hit 5000 so occasionally they might give us a few more than that number. We do increase this basic limit to 15000 songs for VIP Users. Additionally, users will only be able to make 2 Master Playlists per account. VIP Users are allowed to make 20 Master Playlists.
Those numbers in the last update section of the graphic are what the system did to your track count last time it updated your master playlist. It will show the last date that it updated (according to UTC) and how many songs were added or removed. In this example there were 20 songs added and 3 removed. Now you know when the last time the master list was updated and by how much :)
As part of our agreement to access the Spotify Servers we agree to some conditions. One of which is to delete all information on our server if you revoke access to the app. To revoke this app from accessing your account going forward you can go to your Spotify Account Settings -> Click Apps and then click the Revoke Access button next to IntelliMerge for Spotify. A direct link to this page is here. Once we detect that we no longer have access to your account we put your account on hiatus until you sign back in via the web browser and re-authenticate the app. If your account stays in a hiatus status for 60 days, we remove all records of your playlists and the associations you made on the IntelliMerge for Spotify app. If you wish to manually reduce this wait period to zero, you can email our support or use our contact form and ask for manual account deletion. You will also need to provide us with your Support ID which can be found on your profile page to verify the ownership of your account.
The scale of this project has certainly grown but it is still endorsed and supported by WritheM Web Solutions. We provide a free tier as service to our users, but any donations you would like to make would be appreciated! You can send us pennies via paypal, or click this button. We also have a longer term commitment that allows people to support the service. Check out the VIP Membership from your profile page for more details.
Keep an eye out in the future for opportunities to earn your VIP membership for free by developing translations for the system too! We are planning on supporting many different languages in the future and will need help translating the system. Soon™.

Here is a copy of the updates as they were originally posted on the main page. Each named version is included below.
We are currently running version: imfs-2.1-20200519-prod build: 4405

19 May '20: v2.1.3.4405 - ⚓

Fixed

  • Further improvements made to the race-condition checking.
  • Some weird scrolling was going on on the FAQ page. Fixed that up and made anchors more responsive. (Issue #15)
13 May '20: v2.1.2.4325 - 🏎️

Fixed

  • Finally found that duplicates glitch pointed out in Issue #10. Was a race condition that if two update threads were running at the same time, they didn't properly claim the task for themselves. To remove any duplicates that IntelliMerge may have added you can either remove them manually or you can remove all songs and let it rebuild entirely. Sorry about that!
11 May '20: v2.1.1.4297 - Dolphin

Fixed

  • When the DB is unavailable for whatever reason the user experience was really bad. Added some additional error handling and output (Issue: #11)
  • Was not properly encoding the history id as an integer which was leading to huge overhead in the output of the base62 ids. Corrected.
  • We were outputting the dates in the history table based on a non-ISO format. We've corrected that. (Issue: #13)
07 May '20: v2.1.0.4200 - Livy

This one is all about history, a minor bug fix, and some privacy enhancements.

New

  • We've added the ability to see the history of your Master Playlists in the settings view of each Master Playlist. (Issue: #1)
  • We now respect the Do-Not-Track feature of your browser and allow you to opt-out of analytics tracking. This is a per-device setting but allows you to request us to not track your device and the actions you take on it. We do rely on this information to develop features but wanted to respect your privacy first. You can find this setting in your profile page or the about page under the Privacy question. (Issue: #8)

Changed

  • We now pull the changelog (since 2.0) from GitHub directly. This means we'll have fancier looking news options and the ability to see it via github.com/WritheM/IntelliMerge/releases. We also cache it from GitHub so if they are down or overloaded it wont affect our changelog :-)

Fixed

  • Properly encoding the titles of Master Playlists means that when the name of your playlist contains characters like ™ it'll display that exactly as you enter it. Additionally spaces between words is not replaced by a + anymore. (Issue: #9)
04 May '20: v2.0.1.4100 - ChickieNuggies

May the fourth be with you... Just a small update on this one that affects the Updater.

Fixed

  • Fixed a bug that was erroneously marking accounts for purge
01 May '20: v2.0.0.4060 - Lacquer

Celebrate! 2.0! We have performed a complete re-write of the front-end and most of the backend. Please verify that your master playlists and their links have been correctly migrated from v1.x. I did my best to ensure everything was correct but with over 1100 users and 10k links, I couldn't look at every little thing.

Changed

  • I have added a few limitations... This should allow more room for new users. Included is a limit to the number of Master Playlists that can be created/enabled at once. If you've already created more than the new limit, we've disabled your newest playlists that you've created. You are free to disable and enable your Master Playlists as you please to ensure you can have them all updated but if you remove any, you won't be able to create new ones to replace them. Thank you for being an early adopter!
  • There is a new way of setting Master Playlists to not remove old songs. Instead of including the Master Playlist in itself, we have now created a full option for it. The updater should auto-migrate this setting upon first scan, or you can set it manually in the Master Playlist settings.

New

  • We have added the ability to upgrade your account to a premium level, that comes with premium perks. As a thank you to our early adopters, we are offering 3 months of free VIP to all users (no purchase necessary) or 50% off a paid subscription, effectively giving you 6 months for free when you sign up for an annual subscription. These discount codes will only work until the end of May so act fast. For the 3 months free use IMFS3FREE and for the 6 months free use IMFS50OFF during checkout, which can be started from the new Profile page once logged in.
  • We've implemented ajax loading, which should make the interface seem much more responsive and subsequently makes less hits to the Spotify API, which means we won't get as many errors. It will also be much easier to manage large collections with many links. We implemented a long over-due change in the requirements from the Spotify API which means we don't have to store the owner of a playlist anymore in the local database, keeping true with our privacy policy that ensures we only store exactly what we need.

Fixed

  • We changed the way we handle errors in the updater. Previously if an error happened, we'd log it, save it (for 24 hours), then move onto the next user. Now we also roll-back the change in the database for that user... this ensures that they get a second attempt (or third, etc) when updating. If 5 errors are detected in a row, then we'll skip this update cycle and try again at next interval.
  • Fixed a bug that would continue editing a playlist if it errored out while fetching the included or excluded playlists... this used to lead to most of your songs removed and then added again in the next update. Now it will only add/remove songs to a Master Playlist once it has finished successfully scanning all of the linked playlists for that Master Playlist.
08 Mar '20: v1.2-"Clones"
  • I've found the bug that was causing duplicate songs to be added. If you delete all songs in your current master playlists on spotify, it will rebuild it without duplicates and it will never add a duplicate song going forward. Alternatively, manually remove the duplicates. Thanks to Martijn for reporting this back in July '19; Thank you for your patience!
08 Jan '20: v1.1-"Algernon"
  • I've had to reduce the frequency that we check for updates. We're just too darn popular! We currently have 3 instances of the generate script running at any time so to reduce the number of hits to the spotify servers we now only check your playlists once each hour. Thanks for your understanding :)
  • To increase efficiency in the incrimental generation script I've moved the purge function to the cleanup process which only executes once a day instead of every 10 minutes. Users who need to be purged will via a separate process that runs once a day.
  • I've also added a bit of additional debug output to help isolate a duplicates glitch that was reported late last year. Updates likely to follow in the next minor version.
11 Jun '19: v1.0-"Kokiri-Forest"
  • Welcome to 1.0.
  • You can now blacklist a set of songs with the exclude feature. Check the About/FAQ for full information
  • I have added the ability for you to decide if you want the script to update your cover-art on a per-playlist basis.
5 Jun '19: v0.9-"Lemon-Squeezy"
  • It is super basic but I've started to work on a theme. This means that the app will fully respect mobile devices and their screen sizes. Things should look much better for mobile users.
  • I am aware that some users have url's in their magic playlist's description. For those users the script is currently double escaping the /'s in the url and making for a messy display after a few runs: "&#x2F". The only solution I have right now is that you dont use urls in your playlist's description. It's not clickable anyway, so I urge you to consider it's importance anyway. :/
30 May '19: v0.8-"🐛"
  • Was updating the playlist log but not sorting it. Now it sorts by date. Most recent at top. Which means the cover art now shows the last time it was udpated, not the first time. Thanks to Martjin for reporting.
  • Playlist descriptions are respected if there is one. A '#log' is appended for the last 5 days at the end of the description.
5 May '19: v0.7-"Rembrandt"
  • New functionality: The script will now update the cover art and description with a short log of when it added/removed anything. Some users may need to re-oauth for the cover-art to work. TODO: Will add a way to choose if you want the cover art replaced in the future. Dates are based on UTC.
  • A limit has been added of maximum 7500 songs in a single magic list. If more songs are gathered, only the first 7500 songs will be added.
  • I was previously detecting purged accounts based on ANY error from spotify when refreshing the oauth token. I am now properly capturing and purging only instances of token's being revoked on Spotify Accounts. The script will only purge revoked accounts now :) Sorry for anyone who was erroneously purged :( Feel free to use the import feature that I've added to re-add. Shouldn't happen again though.
10 Dec '18: v0.6-"Brutus"
  • We are just starting to generate updates again after a month of being offline. Thank you for baring with us. We have optimized the script and it should run smoother than ever. Check status.writhem.com for updated information
26 Nov '18: v0.5-"Caesar"
  • Recently went through some major server upgrades that did two things... Made things run faster, and did not migrate data. Sue me. You don't pay me. Okay don't sue me... please. I this for free. That being said, users will need to reauthenticate and then recreate their magic playlists. Sorry about that :( Should be generating lists again soon.
13 Jun '18: v0.4-"Reassignment-Surgery"
  • Fixed some assumptions on data-types.
27 May '18: v0.3-"Echelon"
  • Was getting some spotify api errors. The script catches those now and skips the problematic entry if anything dies. Additionally I output the errors to a log file so that I can analyze the problems later. The file deletes at the start of every day at midnight. Should allow me to fix the problem thon Spotify is throwing...
30 Apr '18: v0.2-"Owlet"
  • First public version.

Show me some cool stats?

Alright. We don't have a lot of data but:
  • We monitor lists for 1,282 accounts
  • These users have 1,012 master lists that are linked on Spotify
  • These users have created 13,016 playlist links
And some specific technical stats on our last run:
  • last_add=>0
  • last_del=>0
  • last_exclude=>0
  • last_include=>0
  • last_mpls=>0
  • last_users=>0
  • total_add=>69,466,077
  • total_del=>15,868,209
  • total_mpls=>1,064
  • total_runs=>140,977
  • total_users=>1,282
  • time_complete=>2020-07-02 16:00:03 UTC
  • time_current=>2020-07-02 16:04:23 UTC