MySpace needs an API

20th February 2006 @ 11:50 am
Ideas, Myspace, weblog and Imported
Despite its wilful disregard of many best practice web design patterns I hold dear, and its obvious attraction to big business in order to sell things to "the kids", I'm still a big fan of MySpace for keeping track of new music. I go there mainly because lots of the bands I like are there every day, talking to their fans, keeping up to date gig listings (which they almost all fail to do on their own sites), posting new songs (often months before release), and so on. The good outweighs the bad, even if it's very bad.

For those who haven't tried it, when you find a band you like on MySpace you can "add" them as a friend (much as you add contacts on any social networking site). You then get bulletins and blogs and event notifications from those bands. But here's the thing: MySpace doesn’t notify you if your favourite bands post new tracks. That's the main reason I'm there!

MySpace should generate a podcast/RSS feed for me which points to the most recent downloadable mp3s from bands I have added as friends. Maybe that's a really obscure feature request? But if MySpace had an API, it would be a trivial 10 minute script, and then I could take the most up to date MySpace music with me wherever I went.

Without an API, it's an uphill struggle from the beginning. All the data is there, but it's locked up - I can't export a list of my friends, the track URLs are locked up in a Flash player, the HTML is so bad it almost seems deliberate. There are streaming-only tracks as well as tracks which are legal downloads – for bonus points a podcast script would also grab the streams, but I imagine that would involve hacking around with the Flash player they use and watching what goes over the wire to pick out the URLs. And a big fat News Corp lawsuit...

Update: since this page is getting lots of hits, some readers may be interested in this Myspace Parser which gives a Python interface to Myspace.