The Billboard API
Posted by Paul in Music, web services on February 24, 2009
Billboard, the venerable maintainer of the Billboard Hot 100 and a bevy of other music charts, is now making this data available via an API. The API “puts the entire rich history of the Billboard charts at your fingertips to sample and mix into your web pages and applications.”. The API is in public beta – but already it is supplying some really good information.
The first service that they’ve rolled out is the ‘Chart’ service, which lets you search and retrieve Billboard chart information.
For example, to find all appearances of The Beatles on any of the Billboard charts during the first week of June in 1964, you could make the call:
With results:
<?xml version='1.0' encoding='UTF-8'?>
<searchResults firstPosition='1' totalReturned='6' totalRecords='6'>
<chartItem id='8807769' rank='2' exrank='0'>
<chart id='3070264'>
<name>The Billboard Hot 100</name>
<issueDate>1964-06-06</issueDate>
<specId>379</specId>
<specType>Singles</specType>
</chart>
<artist>The Beatles</artist>
<writer />
<song>Love Me Do</song>
<producer />
<catalogNo>9008</catalogNo>
<promotion />
<distribution>Tollie</distribution>
<peak>1</peak>
<weeksOn>14</weeksOn>
</chartItem>
<chartItem id='8715479' rank='4' exrank='0'>
<chart id='3068613'>
<name>The Billboard 200</name>
<issueDate>1964-06-06</issueDate>
<specId>305</specId>
<specType>Albums</specType>
</chart>
<artist>The Beatles</artist>
<writer />
<song>The Beatles' Second Album</song>
<producer />
<catalogNo>2080</catalogNo>
<promotion />
<distribution>Capitol</distribution>
<peak>1</peak>
<weeksOn>55</weeksOn>
</chartItem>
<chartItem id='8715481' rank='6' exrank='0'>
<chart id='3068613'>
<name>The Billboard 200</name>
<issueDate>1964-06-06</issueDate>
<specId>305</specId>
<specType>Albums</specType>
</chart>
<artist>The Beatles</artist>
<writer />
<song>Meet The Beatles!</song>
<producer />
<catalogNo>2047</catalogNo>
<promotion />
<distribution>Capitol</distribution>
<peak>1</peak>
<weeksOn>71</weeksOn>
</chartItem>
<chartItem id='8807803' rank='36' exrank='0'>
<chart id='3070264'>
<name>The Billboard Hot 100</name>
<issueDate>1964-06-06</issueDate>
<specId>379</specId>
<specType>Singles</specType>
</chart>
<artist>The Beatles</artist>
<writer />
<song>Do You Want To Know A Secret</song>
<producer />
<catalogNo>587</catalogNo>
<promotion />
<distribution>Vee-Jay</distribution>
<peak>2</peak>
<weeksOn>11</weeksOn>
</chartItem>
<chartItem id='8715486' rank='11' exrank='0'>
<chart id='3068613'>
<name>The Billboard 200</name>
<issueDate>1964-06-06</issueDate>
<specId>305</specId>
<specType>Albums</specType>
</chart>
<artist>The Beatles</artist>
<writer />
<song>Introducing...The Beatles</song>
<producer />
<catalogNo>1062</catalogNo>
<promotion />
<distribution>Vee-Jay</distribution>
<peak>2</peak>
<weeksOn>49</weeksOn>
</chartItem>
<chartItem id='8807777' rank='10' exrank='0'>
<chart id='3070264'>
<name>The Billboard Hot 100</name>
<issueDate>1964-06-06</issueDate>
<specId>379</specId>
<specType>Singles</specType>
</chart>
<artist>The Beatles</artist>
<writer />
<song>P.S. I Love You</song>
<producer />
<catalogNo>9008</catalogNo>
<promotion />
<distribution>Tollie</distribution>
<peak>10</peak>
<weeksOn>8</weeksOn>
</chartItem>
</searchResults>
You can restrict searches to various charts (Hot Country, Pop 100, Top Latin, etc.) , and you can search by artist and/or song name over a range of dates. (Unfortunately, but not too surprisingly, the data for the current month is not available in the searches).
The terms-of-service seem pretty reasonable- you are allowed to make 1,500 API calls per day at up to 2 queries per second. Commercial use seems to be allowed (But I’m not a lawyer, so you should check for yourself). However, according to the terms, you are not allowed to store any of the Billboard data. The services are well documented, support JSON as well as XML output and query times are fast.
I can think of all sorts of uses for this data – to help create playlists for the 25 year high school reunion, tracking artist popularity over time, answering bar room music questions like “What was the highest charting instrumental-only single?” or “Did Ringo ever have a hit?”. It is perfect data for the Music Alchemists that are trying to build an automatic hit predictor.
The Billboard chart API is an excellent addition to the world of music web services. It goes straight into my Top Ten Music APIs chart – with a bullet.
Collaborative Playlists
Posted by Paul in Uncategorized on February 23, 2009
Collaborative playlists seem to be all the rage. Fred Wilson writes how he collaborated with his twitter followers to create a primal screen playlist. Jason talks about combining twitter search, hashtags and Lucas’s playTwitter. Twisten and Blip let you twitter songs and play tweets of others. But I’ve been creating and enjoying collaborative playlists for over a year with Spotify. Collaborative playlists are fun and a great way to share music and Spotify’s approach makes it dead easy. You just create a playlist (easy as iTunes), mark it as ‘collaborative’ and share the URL of the playlist with your friends (or the world). Anyone with the URL to the shared playlist can add to, delete or reorder songs on the playlist. Of course, the down side is that someone can really mess up your playlists. I have a few suggestions that could make Spotify collaborative playlists even better:
- Add version control to playlists – so when some vandal adds “Never gonna give you up” 50 times to your playlist you can recover
- Allow playlist editors to add tags or notations to their additions so you can see why a particular song was added to the playlist
- Allow for lengthy text description of playlists and tracks in the playlist (like the XSPF supports)
- Let me share a read-only version of a collaborative playlist
- Create a directory of playlists so that Spotify users can easily find public and collaborative playlists by name, tag or description.
One day perhaps the whole world will be able to enjoy Spotify’s collaborative playlists.
A recommender comic …
Posted by Paul in fun, recommendation on February 23, 2009
Damn you, Mr. Bezos!
Posted by Paul in fun, Music, recommendation on February 22, 2009
Once again, I was blind-sided by the Amazon recommender. I was placing an order for a few books that my wife wanted. Easy enough, and it would only take 5 minutes. But while I was adding Marie’s books to the shopping cart, a recommendation for a new Keith Emerson CD caught my eye. The last thing I bought by KE was not so good, but the reviews for this CD were rather positive – and so I added it to the cart. And then another Keith Emerson Anthology CD was recommened “just for me” – which has some songs I haven’t listened to for years and are still sitting on vinyl in my attic. That 2 CD set found its way into my shopping cart too.

And then, while at the final checkout, the new Ben Fry / Processing book was sitting there, with 13 excellent reviews. How could I pass that up? And so with an extra $80 removed from my wallet, I finally checked out of the store. Really, that should be illegal. But I’m looking forward to the new tunes and the new book.
Last.fm, TechCrunch and the RIAA
Posted by Paul in Uncategorized on February 22, 2009
There was a bit of a kerfuffle on Friday evening when TechCrunch posted a story headlined: Did Last.fm Just Hand Over User Listening Data To the RIAA? – where they “reported” on a rumor that Last.fm had handed over a bunch of data to the RIAA so the RIAA could track down pirates of the new U2 album . The answer to the headline question is an unequivocal “no!”. The folks at Last.fm would never do that, and they have denied it in no uncertain terms.
But still two days later, the headline stands on the front page of TechCrunch, and only readers who venture past the fold will see mention that Last.fm has denied the rumor. Why doesn’t TechCrunch change the headline or post prominently in the first paragraph that Last.fm has denied it the rumor? Why is TechCrunch posting a story based on a single source? No doubt, such headlines bring lots of links and readers to TechCrunch, but it is not responsible journalism. Reporting on rumor, gossip and subsequently failing to correct the false reporting is just bad journalism.
Day #2 at the startup
Posted by Paul in Music, startup, The Echo Nest, web services on February 20, 2009
I just finished day #2 at my new job. Sorry to be so cagey about where I was going, but they wanted to keep it quiet until they could do a press release about it. I see the press release is public now, so I’m free to talk about my new job.
As many of the commenters have guessed, I’ve joined, as the director of the developer community, The Echo Nest – a company that is devoted to providing music intelligence for the next generation of online music application. In this role, I will work with the rest of the Echo Nest team to help grow an active, vibrant music application developer community around The Echo Nest developer API.
I’m really excited to be here at The Echo Nest. The Echo Nest has already established a reputation as a company that provides a new breed of hardcore music intelligence. The Echo Nest goes far beyond the “wisdom of the crowds” model of music discovery (“People who listened to the Beatles also listened to the Rolling Stones”). Instead of just data mining user behavior, The Echo Nest crawls the web to learn everything it can about music by analyzing what the world is saying about music. The Echo Nest also directly analyzes the audio content of music – extracting musical traits such as key, tempo, structure, timbre from the audio.
From this analysis of the social context, the user behavior and the actual audio, the Echo Nest gets a deep understanding of the entire world music. It knows which artists are getting the most buzz, which artists are getting stale, how and why artists are related, what words are being used to describe the music. This data goes far beyond the “if you like Britney, you might like Christina” level. The Echo Nest understands enough about music to be able to answer queries such as “make me a playlist of songs with a tempo of 90 beats per minute by an unknown emo artist that sounds something like Dashboard Confessional, and has violins”. The really neat thing is that the Echo Nest is exposing a lot of this functionality in their developer API. This lets anyone who is building a music application to tap into this large resource of music intelligence.
One of my main duties is to be the voice of the developer in the Echo Nest. I’ve written my fair share of music apps, so I have a good idea of some of the many pain points and difficulties that a music application developer has to face, but I’d like to hear more, so if you are developing a music application and you need a particular problem solved let me know – or better yet, post to The Echo Nest developer forums.
I’ll be writing a lot about The Echo Nest in upcoming posts – in particular about using the developer APIs, but I shall still continue to post about all of the interesting things going on the music space – so this blog won’t be too much different from Duke Listens!
An old guy goes to a startup

The new office digs
I’m tired but very happy. Today was my first day at my new gig at a music 2.0 startup. It was a great day … I arrived mid-morning was handed a new laptop (mmmm, that new laptop smell), given a new, completely empty desk and got right down business. As you’d expect in a startup, everyone (except the suits) sits in the same room, the average employee age is under 30 and the staff is entirely male. I’m surrounded by people who eat, drink and breathe music.
The big excitement for the day for the office was the new music setup. One of the guys had just connected a Sonos system to the office stereo which lets the entire office share a single playlist. Anyone in the office can queue any track, by any artist for the whole office to hear. The music for the day was a very eclectic mix – ranging from cool jazz, to power pop – some was a bit hard to work through (the Zappa and the Wedding March) – and there was a surprising amount of 80s pop (the last time I listened to Toto’s Rosanna was in the supermarket).
My first day at work was an interesting contrast to my first day at Sun Microsystems almost 9 years ago. On my first day at Sun, there were about 30 other people who were starting on that same day, and we all spent the first few hours in the Human Resources meeting from hell learning about TPS reports and coversheets. It ultimately took a week to get my login, and email setup by the IT department. And no one played any music at all.
The only downer for the day was the commute – I’ve added an extra 40 minutes to my daily drive – that will take a bit of getting used to.
It is really exciting to be working at a company that I suspect know will be at the heart of the next wave of music on the web. The team is top notch, driven and perhaps most important of all are extreme music fans. The company founders and CEO seem to have a real vision for the future of music. This is the place where things can happen. I feel lucky to be part of the team.
The Father Theresa of the Badge People
There’s a nifty writeup on the SXSW Artist Catalog at Austin 360: A smorgasbord for music festival-goers.
In which I am ridiculed for my music tastes …
Posted by Paul in fun, Music, recommendation on February 16, 2009
I was giving a talk last week about music recommendation at a local college. I was explaining how some of the various online music recommenders work when I noticed that some of the students were chuckling and laughing. I had checked my fly right before I started talking so I knew it wasn’t that. Then some wise guy in the front row made it all clear: “Do you really like to listen to Hilary Duff?”. After a moment of confusion, I realized that I was showing my Pandora radio stations that included the second most infamous Hilary.

My Pandora Radio stations
I tried to explain that I sometimes listen to my Pandora radio with my 13 year-old daughter. I’m not sure that they really believed that.
This evening, my daughter and I were having dinner and talking about music. She’s past the Hilary Duff and Hannah Montana phase. She’s moved onto the Veronicas (check out her latest review) – so we listend to a bit of Veronicas’ radio on Last.fm – which has now been faithfully scrobbled as part of my listening history forever:

I do like listening to music with my daughter. She knows all of the artists, and (seemingly more important), all the back stories, interconnections, failures and gossip about the artists. That seemed to be as important as the music itself. And although it is fun to listen to with my daughter, the music is not really to my taste. I do want to make it clear to anyone, whether it is a class at the local college or a potential future employer that I’m not really that into bubblegum pop.
Making boring homework fun
One of the cool things about working at Sun Labs is all of the very smart interns that come and work for a summer. They are invariably creative, and bring many new ideas to the labs. One intern I worked with a few years back, Jean-Francois, just posted a blog entry about how he wanted to create a slide for a presentation that showed the pop artists from Sweden as a word cloud. Now most of us would have just typed in a few artist names and resized the fonts based on what we though was the approximate popularity of the particular artist. But not Jean Francois. He turned this slide into its own little research project – first trying to scour the popularity data from the Wikipedia, then mining Google search results and finally settling on using the last.fm webservices to get the listener data.
JF took a rather boring assignment – make an oral presentation on Sweden – and made it a learning experience for something that was interesting to him. I am not sure how much he learned about Sweden, but he certainly learned something about web mining, artist name resolution and ambiguity, and using web services. I wonder if Jean Francois’s International Communication’s professor understood the depths of detail that JF went to get the information on that one slide correct.
Anyway, it is a cool post from a JF.


