A couple of words about social networks APIs. About a year ago I wrote a review of popular social networks’ APIs for researchers. Unfortunately, it is in Russian. Here is a summary:
Twitter (https://dev.twitter.com/docs/api/1.1)
- almost all data about tweets/texts and users is available;
- lack of sociodemographic data;
- great streaming API: useful for real time text processing;
- a lot of wrappers for programing languages;
- getting network structure (connections) is possible, but time-expensive (1 request per 1 minute).
Facebook (https://developers.facebook.com/docs/reference/api/)
- rate limits: about 1 request per second;
- well documented, sandbox present;
- FQL (SQL-like) and «regular Rest» Graph API;
- friendship data and sociodemographic features present;
- a lot of data is beyond event horizon: only friends' and friends' of friends data is more or less complete, almost nothing could be investigated about random user;
- some strange API bugs, and looks like nobody cares about it (e.g., some features available through FQL, but not through Graph API synonym).
Instagram (http://instagram.com/developer/)
- rate limits: 5000 requests per hour;
- real-time API (like Streaming API for Twitter, but with photos) - connection to it is a little bit tricky: callbacks are used;
- lack of sociodemographic data;
- photos, filters data available;
- unexpected imperfections (e.g., it’s possible to collect only 150 comments to post/photo).
Foursquare (https://developer.foursquare.com/overview/)
- rate limits: 5000 requests per hour;
- kingdom of geosocial data :)
- quite closed from researches because of privacy issues. To collect checkins data one need to build composite parser working with 4sq, bit.ly, and twitter APIs at once;
- again: lack of sociodemographic data.
Google+ (https://developers.google.com/+/api/latest/)
- about 5 requests per second (try to verify);
- main methods: activities and people;
- like on Facebook, a lot of personal data for random user is hidden;
- lack of user connections data.
And out-of-competition: I reviewed social networks for Russian readers, and #1 network here is vk.com. It’s translated to many languages, but popular only in Russia and other CIS countries. API docs link: http://vk.com/dev/. And from my point of view, it’s the best choice for homebrew social media research. At least, in Russia. That’s why:
- rate limits: 3 requests per second;
- public text and media data available;
- sociodemographic data available: for random user availability level is about 60-70%;
- connections between users are also available: almost all friendships data for random user is available;
- some special methods: e.g., there is a method to get online/offline status for exact user in realtime, and one could build schedule for his audience.