YQL Tables for Social Media Influence Rankings
While evaluating different available services for “Social Media Influence Ranking”, I also implemented YQL data tables for them. The services I looked at were PeerIndex, Klout, and Topsy. Implementing the YQL tables has these two major benefits for me:
- When creating the open data table, you have to take a detailed look at the API you are mapping to, and hence read the documentation very thoroughly. That in itself is a good exercise to really understand the nature of the input and output data.
- For assessing data returned by an API, YQL is my absolute go-to-tool. It makes it really easy to do a lot of ad hoc queries and play with the returned data. Also feeding data from one API to the other is ist trivial. This way the exploration of the data is less time consuming and does not require any scripting.
PeerIndex
I started with PeerIndex. That one was pretty easy, as they have only one API endpoint so far. Also had some good twitter communication with CEO Azeem Azhar. Twitter is just awesome for this kind of stuff - in case you did not know - you just have to love it :)
So get yourself a PeerIndex API key and then try it out in the YQL Console.
A sample YQL query for PeerIndex looks like this:
// enter your API key here !!!
SET api_key="YOUR_API_KEY" ON peerindex;
SELECT * FROM peerindex.profile WHERE id='sebastianspier';
Klout
Klout has only a handful of API points, so creating the YQl tables for them did not take too much time either. You can query information about a user’s Klout score but also who he is influencing and who is influencing him.
So get yourself a Klout API key and then try it out in the YQL Console.
A sample YQL query for Klout looks like this:
// enter your API key here !!!
SET api_key="YOUR_API_KEY" ON klout;
SELECT * FROM klout.user.show WHERE users='sebastianspier'
Topsy
Topsy has way more API endpoints, so I ended up with a total of YQL 17 tables. Multiple of them have a fairly repetitive structure though, which makes using them more comfortable.
Topsy does not require an API key, so you can try it out in the YQL Console right away.
A sample YQL query for PeerIndex looks like this:
SELECT * FROM topsy.authorinfo WHERE url="http://twitter.com/barackobama"
Contributing to the YQL Community
I sent pull request for the YQL tables for all three services to the official YQL Community Tables repository on github. The PeerIndex tables already got included, which makes them available for a broader audience. Integration of Klout and Topsy are pending.
So have fun with YQL and your experiments with Social Media Influence Rankings.