Synth

A simple tool to easily convert Spotify playlists to YouTube ones

What is it about?

Synth is a small program written in node.js that can convert Spotify playlists to YouTube playlists. It was originally developed for a close group of a few friends, but if you provide required credentials, anyone can use it.

Q: What does it do?
A: The app will ask for a link of your spotify playlist and then comes another question about the destination playlist (on YouTube). If this is the first time you are using Synth, you will be prompted to authorise this application with your YouTube (Google) account. After you've selected both playlists, Synth will find the songs on YouTube and add them to your selected playlist. The app will then remember which songs were added already to avoid duplicates, so the next time you run it, only the new songs will be searched for.
Q: How is it beneficial to the user?
A: Imagine this situation: You have hundreds of songs on Spotify, but for some reason you need to convert your playlist to YouTube. Instead of manually going through each song and searching it, you can let Synth handle it all, it's way faster and more efficient.
Q: How will this app use my data?
A: This application will only use your data to search the equivalent songs on YouTube and add them in your playlist. Nothing else.
Q: Alright, I wanna use it for myself. What do i need to do?
A: Check out Installation for more detailed info.

Installation

In order to run this program, you need to have a working version of node.js on your computer.
You will also need to have a valid Spotify account and YouTube (Google) account.
There are two options: you can either use global credentials (easier) or own credentials.
After that, the only thing left to do is start the app! Run start.bat file and it will now run.

Global credentials:

note: I am currently trying to verify my application at Google. After that is done, it will be possible for anyone to use (no need to set up own API projects and keys). I will update this part once that happens.


Own credentials:

First, download the source code of this app on GitHub. Rename the template.credentials.json into credentials.json and fill in the required fields:
- For Spotify API: go to the address https://developer.spotify.com/dashboard/applications, log in and create yourself a new project. After that, copy the client ID and client secret and paste them into your credentials.json
- For Google API: use this quick setup to create a new project and assign the right APIs. After enabling them, go to 'Credentials' and create a new oAuth client. If it asks you to configure your consent screen, do it (type: 'External', scopes: '/auth/youtube', test users: add your own gmail) and then try creating an oAuth client again (type: Desktop app). Lastly, copy the client ID and client secret and paste them into your credentials.json

Privacy Policy

Synth’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements

Synth uses access to the YouTube account of the end user only in order to add the desired songs into the playlist owned (and picked) by the end user.
Synth will only use the provided data with the purpose of working for the end user and satisfying their desires.
Synth stores locally the oAuth token (so the user won't have to log in each time) as well as some basic info (in order to avoid requesting input from user every time the app is opened)
Synth does not share any Google user data with other applications or services.
Synth does not contain any ads, therefore it will never use provided data to serve users advertisements.
Synth will never send any user data to the developer or anyone associated with them.