REPLY WITH HELP FROM EUAN def find_songs(self): """ Send a request to the Spotify API to retrieve the playlists items. You will need the ID of the playlist, if you don't have this already then just right click the playlist within the spotify App and click copy URI. spotify:playlist:7xyE0hXNSd556qbse0eZga You'll get something like the above, remove the spotify:playlist: bit and just store the ID in a variable somewhere. https://developer.spotify.com/documentation/web-api/reference/#endpoint-get-playlists-tracks To get the tracks, we pass in the playlist id as mentioned above, also we of course need a valid Spotify API token, no specific scopes are required for this. In the params part, we have to put market:from_token as it's required. I included the optional query of fields=items(added_at,track(name)) to only return the added at date, as well as the song name You can change these as you wish """ response = requests.get("https://api.spotify.com/v1/playlists/{}/tracks".format(self.playlist_id), headers={"Content-Type": "application/json", "Authorization": "Bearer {}".format(self.spotify_token)}, params={"market":"from_token","fields":"items(added_at,track(name))"}) #Convert to json response_json = response.json() #The API should return a list of objects, one for each track. #The most recent track should be the last one in the list. #Therefore we get it by slicing the item at index length-1 latest_track = response_json["items"][len(response_json["items"]) - 1] latest_date = latest_track["added_at"] #The latest date will be in the format yyyy-mm-ddThh:mm:ssZ #To parse this, you could slice off the final character, the upper case Z #and then split at "T". This would return a list, index 0 = date, index 1 = time #You can then do with this data as you please :) date_time = latest_date[:len(latest_date) - 1].split("T") #An example of how to calculate how many days since it has been played is as follows #The date_time list will look something like this ['2020-10-11', '15:51:22'] #We can parse out the individual data e.g. year, month etc and feed it into the datetime module year = int(date_time[0].split("-")[0]) month = int(date_time[0].split("-")[1]) day = int(date_time[0].split("-")[2]) hour = int(date_time[1].split(":")[0]) minute = int(date_time[1].split(":")[1]) second = int(date_time[1].split(":")[2]) then = datetime.datetime(year,month,day,hour,minute,second) current = datetime.datetime.now() print(current - then) #I hope that helps :) #Good luck! #Euan