Twitter API Rate Limiting
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).