Twitter API Rate Limiting

Posted on Jan 22, 2011

Reading http://dev.twitter.com/pages/rate-limiting, here are the major points:

REST API

  • Anonymous calls (things like users/show - get a user’s info) are limited to 150/hour, that’s 3,600/day. This limit is IP-based.

  • Authenticated calls (like a user’s home timeline) - 300/hour. Limit based on your app key.

Those rates are useful for a single-user app (something like TweetDeck), not useful for something like an app that crawls Twitter.
You can ask to be white-listed using this form: http://twitter.com/help/request_whitelisting.
If approved - you get 20,000 requests / hour. That’s more useful.

Search API

  • The rates are limited but to a higher rate than the REST API. The exact number is not disclosed.

  • Important to include a User Agent parameter, otherwise you will get a lower limit.

Streaming API

  • This is what you really need for high-volume Twitter polling. Gives you a sampling of all tweets based on optional filter you pass (e.g. user, keyword, location).

  • Have three access levels, based on what Twitter decides to give you: Spritzer (about 1% of everything), Gardenhose (10%) and Firehose (everything).