The spotify API allows us to create a simple server-side application that accesses user related data from the Spotify app. It also gives you access to information that is not available on the app, such as artist popularity, song metrics, album cover images, etc. It allows you to create, delete and modify existing playlists in a user’s account.

The goal of this project is to use a clustering algorithm to break down a large playlist into smaller ones. For this, song metrics such as ‘danceability’, ‘valence’, ‘tempo’, ‘liveness’, ‘speechiness’ are used.

In this article you will find:

  • Data collection using the Spotify API
  • Finding the ideal number of clusters
  • Elbow method and silhouette analysis
  • Feature selection
  • Clustering algorithm
  • Playlist creation and performance analysis

Data Collection

import spotipy
from spotipy.oauth2 import SpotifyOAuth
from spotipy.oauth2 import SpotifyClientCredentials

Connecting to the spotify API was pretty straightforward and the content is pretty well documented. This link will give you all the information you need for connecting and this will give you python sample code.

Go to and click Create a Client ID or Create an App to get your “Client ID” and “Client Secret”. After that, Redirect URI must be changed to any page you decide on in the settings of your Spotify application.

#programming #artificial-intelligence #data-science #technology #machine-learning #data analysis

K-means clustering using Spotify song features
1.50 GEEK