Announcements
The Spotify Stars Program: Celebrating Values Week!

Help Wizard

Step 1

NEXT STEP

Who can achieve a music recommendation system with Spotify

Who can achieve a music recommendation system with Spotify

Hello everyone, first post here 🙂

I'm building a web app and I need a system to achieve this:

 

(the purpose is to be able to generate a list of song that all the users can like/will all like based on the list of all their individual favourite songs)

 

  • I send to the system through an API a list of Spotify Tracks
  • I get a return with a list of song that matches the most the first list

I don't know who do I turn to in order to achieve this? A developer? A data scientist? the Spotify team itself?

 

Any recommendation is really appreciated. Thanks

Reply
4 Replies

No one?

 

Thanks

It sounds like the recommendations API does what you want:

 

https://developer.spotify.com/documentation/web-api/reference/browse/get-recommendations/

You feed it a set of artist/album/track seed URI, and optionally a large number of parameters about the type of music you want, and it results track suggestions.

Yes this is exactly the kind of process/thing I need BUT I'm very blocked with the "five only" incoming seeds.
The fact is if I want recommendations for tracks based on 10 different peoples, the limitation blocks me...

Three solutions come to mind, from simplest to most complex:

a) Just call the recommendation query twice, once for tracks 1-5 and once for tracks 6-10, and use both sets of answers. Not a great solution, as you aren't giving Spotify all of the data at once, so the recommendations won't be as good, but probably acceptable if the tracks are all reasonably similar.

b) Make multiple calls to the recommendations query with different random permutations of 5 of your 10 tracks, and build up a result out of the tracks that are recommended the most times. (Don't spam the API)

c) (More of a research project) Use the audio features function (https://developer.spotify.com/documentation/web-api/reference/tracks/get-several-audio-features/) to analyse all of your input tracks, then use that data to groups them into 5 groups based on similar features, and use one track from each group as input to the recommendation query.

Suggested posts