Keeping track of user LIKES and RETWEETS



We’re building an app that monitors engagement of our community members.

The main use case is this (as related to twitter api):

The community launches a new project and the project gets a twitter handle.

The community member(s) responsible for tweeting (or could be automated via blog posts, etc) sends out a tweet.

The other community members who are following the account get notified of the tweet, and “like” it and/or retweet it (not sure if making a comment matters for the RT).

All the community members participating in this have hooked up their twitter user to the app already.

The community members can get ranked and win badges for higher levels of engagement.

We’re having a bit of trouble on finding the correct way to collect data on the users to see if

a) they liked a tweet from the project
b) they retweeted a tweet from the project

I understand there is a stream API for this? But this does not let us get historical data.

So what is the right way to implement this? Stream API for the future and something else for historical tweets?

So far the only answer I was able to find was to enable email notifications of tweet likes and retweets and parse those emails… which obviously is not the right way to go about this.