itunes-sdkapple-musickit

Lookup song by ISRC in Apple Music/iTunes


I'm developing an iOS application which retrieves a song ISRC from an external source. I then need to use Apple's MusicKit SDK to get the song in Apple Music/iTunes, using the ISRC. Is it possible to do this? The Song resource type has the ISRC in the song attributes which is returned whn you do a GET request for a song, but the request uses the Apple Music song ID to perform the lookup. So can I query Apple Music for a song, using the ISRC instead? Also happy to look it up on the iTunes Search API and then get the ID (I think they're the same across Apple Music and iTunes?) and then query the Apple Music API using that ID.

I also asked this question on the Apple Developer MusicKit forum, but as of yet, no-one has answered me.


Solution

  • This was just highlighted at WWDC 2018. You can perform an request directly to the Apple Music API to

    GET https://api.music.apple.com/v1/catalog/{storefront}/songs?filter[isrc]=ISRCSTRING

    If you are using the new MusicKit JS library, you can perform the lookup with the following JavaScript:

    MusicKit.getInstance().api.songs({ filter: { isrc: 'ISRCSTRING' } }).then(function(songs) {
        console.log(songs); // Array of songs matching ISRCSTRING
    })