Using the apple itunes search api it is possible to get information on songs such as artist, title and apple store track_id:

Using an MPMusicPlayerController (i tried both system and application) one should be able to play songs using:
player = MPMusicPlayerController.systemMusicPlayer()
player.setQueueWithStoreIDs(["574050602"])
player.play()
As noted here some IDs seem to not work. (e.g. "574050602" is supposed to play a certain song by Rick Astley)
I have read that you need a country specific store id.
How can I determine whether a specific song will be playable or not without actually trying to play it?
The isStreamable property does not indicate whether I can actually stream it.
To only get track IDs that are playable in your country you need to specify your country on search using the
countryparameter (source)I have not found out what kind of problems the author at 1 had with this parameter, but there also seems to be an undocumented parameter
swhich might help.