I wrote this little script that grabs the count of shares on popular social networks, using their APIs. I have listed the documentation on the project page on Github. I will copy the relevant pieces of readme here.
Social Network APIs
Request:
https://graph.facebook.com/?id=https://www.github.com
Response:
{
"id": "http://www.github.com",
"shares": 31684
}
Request:
http://cdn.api.twitter.com/1/urls/count.json?url=https://github.com
Response:
{"count":14,"url":"http:\/\/github.com\/"}
Google Plus
Request:
https://plusone.google.com/_/+1/fastbutton?url=https://github.com
This returns the +1 button. I extracted the counts using regex window.__SSR = {c: ([\d]+)
Request:
http://www.linkedin.com/countserv/count/share?url=https://github.com&format=json
Response:
{"count":0,"fCnt":"0","fCntPlusOne":"1","url":"https:\/\/github.com"}
StumbleUpon
Request:
http://www.stumbleupon.com/services/1.01/badge.getinfo?url=https://github.com
Response too large.
Request:
http://api.pinterest.com/v1/urls/count.json?url=https://github.com
Response:
receiveCount({"url":"https://github.com","count":0})
Request:
http://www.reddit.com/api/info.json?url=https://github.com
This returns a lot of data, which can be easily used to extracted counts. Note that the Reddit guys don’t really like automated requests and may cause the call to return HTTP 429.
Vkontakte
Request:
https://vk.com/share.php?act=count&index=1&url=https://github.com
Response:
VK.Share.count(1, 419);
This marks the end of the documentation. I hope that serves some purpose. The reason I wrote this was that I wanted social sharing buttons on this blog. I could not afford any of the mainstream buttons like Addthis and Sharethis. They kill the load time, and I’m already struggling with Disqus and Adsense overload. More on that soon. I hope to create a ‘dynamic looking’ static set of buttons for this blog, and I’ll update you if I get time to complete it.