title: How to get original favorite count, and each user's follower count, from Twitter streaming API in Python
body: <p>I'm attempting to extract individual pieces of data from the public stream of tweets for two tracked keywords, using the Python package <a href="https://github.com/geduldig/TwitterAPI/blob/master/README.rst" rel="nofollow">TwitterAPI</a>. </p>
  
  <p>I would ideally like to get the original favorite count for the <code>retweeted_status</code> object (not for the user's <code>status</code> wrapper) but am having difficulty doing so, since both <code>print(retweeted_status['favorite_count'])</code> and <code>print(status['favorite_count'])</code> always return zero.</p>
  
  <p>Failing that, I would like to be able to get the follower count of each user in the stream. I can see an entity called 'friends_count' in the full json returned from each tweet when I run <code>print(item)</code>, but if I run <code>print(user['friends_count'])</code> I get the following error:</p>
  
  <pre><code>  Traceback (most recent call last):
    File "twitter.py", line 145, in &lt;module&gt;
      friends()
    File "twitter.py", line 110, in favourites
      print(user['friends_count'])
  KeyError: 'friends_count'
  </code></pre>
  
  <p>This is what my full code looks like at the moment: </p>
  
  <pre><code>import sys
  
  sys.path.append('/Library/Python/2.6/site-packages')
  
  from TwitterAPI import TwitterAPI
  
  import string
  
  
  OAUTH_SECRET    = "foo"
  
  OAUTH_TOKEN     = "foo"
  
  CONSUMER_KEY    = "foo"
  
  CONSUMER_SECRET = "foo"
  
  def friends():
  
    TRACK_TERM = 'hello'
  
    api = TwitterAPI(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET)
  
    f = api.request('statuses/filter', {'track': TRACK_TERM})
  
    for user in f:
      print(user['friends_count'])
  
  
  def favorite():
  
    TRACK_TERM = 'kanye'
  
    api = TwitterAPI(CONSUMER_KEY, CONSUMER_SECRET, OAUTH_TOKEN, OAUTH_SECRET)
  
    h = api.request('statuses/filter', {'track': TRACK_TERM})
  
    for retweeted_item in h:
      print(retweeted_item['favorite_count'])
  
  if __name__ == '__main__':
  
      try:
  
          friends()
  
          favorite()
  
      except KeyboardInterrupt:
  
          print '\nGoodbye!'
  </code></pre>
  
  <p>Any advice or information would be much appreciated - I assume I have made a mistake somewhere in my syntax (I am a Python beginner!) which is throwing KeyErrors but haven't been able to work out what it is from either the documentation for the TwitterAPI package, nor the Twitter API itself after hours of searching.</p>
  
  <p>EDIT: this is what the streaming API returns for a single user's post when I run <code>for user in f print(user)</code> (I don't know how to make it more readable/wrap the text on Stack Overflow, sorry) - you can see both 'friends_count' and 'followers_count' return a number but I don't know how to print them out individually without it just resulting in a KeyError. </p>
  
  <pre><code>{u'contributors': None, u'truncated': False, u'text': u'Hearing Kanye spit on a Drake beat is just really a lot for me!!!! I was not prepared!!', u'is_quote_status': False, u'in_reply_to_status_id': None, u'id': 719940912453853184, u'favorite_count': 0, u'source': u'&lt;a href="http://twitter.com/download/iphone" rel="nofollow"&gt;Twitter for iPhone&lt;/a&gt;', u'retweeted': False, u'coordinates': None, u'timestamp_ms': u'1460482264041', u'entities': {u'user_mentions': [], u'symbols': [], u'hashtags': [], u'urls': []}, u'in_reply_to_screen_name': None, u'id_str': u'719940912453853184', u'retweet_count': 0, u'in_reply_to_user_id': None, u'favorited': False, u'user': {u'follow_request_sent': None, u'profile_use_background_image': True, u'default_profile_image': False, u'id': 247986350, u'verified': False, u'profile_image_url_https': u'https://pbs.twimg.com/profile_images/715358123108601856/KM-OCY2D_normal.jpg', u'profile_sidebar_fill_color': u'DDEEF6', u'profile_text_color': u'333333', u'followers_count': 277, u'profile_sidebar_border_color': u'FFFFFF', u'id_str': u'247986350', u'profile_background_color': u'C0DEED', u'listed_count': 1, u'profile_background_image_url_https': u'https://pbs.twimg.com/profile_background_images/695740599/089d0a4e4385f2ac9cad05498169e606.jpeg', u'utc_offset': -25200, u'statuses_count': 6024, u'description': u'this is my part, nobody else speak', u'friends_count': 298, u'location': u'las vegas', u'profile_link_color': u'FFCC4D', u'profile_image_url': u'http://pbs.twimg.com/profile_images/715358123108601856/KM-OCY2D_normal.jpg', u'following': None, u'geo_enabled': True, u'profile_banner_url': u'https://pbs.twimg.com/profile_banners/247986350/1454553801', u'profile_background_image_url': u'http://pbs.twimg.com/profile_background_images/695740599/089d0a4e4385f2ac9cad05498169e606.jpeg', u'name': u'princess laser tag', u'lang': u'en', u'profile_background_tile': True, u'favourites_count': 9925, u'screen_name': u'hannahinloafers', u'notifications': None, u'url': u'http://eecummingsandgoings.tumblr.com', u'created_at': u'Sun Feb 06 00:49:24 +0000 2011', u'contributors_enabled': False, u'time_zone': u'Pacific Time (US &amp; Canada)', u'protected': False, u'default_profile': False, u'is_translator': False}, u'geo': None, u'in_reply_to_user_id_str': None, u'lang': u'en', u'created_at': u'Tue Apr 12 17:31:04 +0000 2016', u'filter_level': u'low', u'in_reply_to_status_id_str': None, u'place': None}
  </code></pre>