Limit exceeded - what does it mean?


Deprecated: Function split() is deprecated in /nfs/c02/h12/mnt/39366/domains/blog.twhirl.org/html/wp-content/plugins/adsense-manager/adsense-manager.php on line 138

Deprecated: Function split() is deprecated in /nfs/c02/h12/mnt/39366/domains/blog.twhirl.org/html/wp-content/plugins/adsense-manager/adsense-manager.php on line 138

Many users of twhirl seem to have problems to get updates from Twitter for some time now. twhirl reports that you have “exceeded your limit” and pauses updates for 5 minutes. For some, this problem only lasts for a couple of minutes, but others cannot get it to work for days.

While twhirl reports the error, it usually isn’t the culprit that caused this to happen. This blog article should give you some background information about the issue.

The Twitter API limit

Twitter offers an Application Programming Interface (API) that allows third-party-software to access certain functions of their service. This includes writing status updates and direct messages as well as fetching your friends’ updates, your replies, deleting tweets etc. Everyone is free to use this API, but Twitter restricts usage in some ways. And the most important restriction is that it does not allow more than 70 requests per hour using the same credentials, shared among all applications accessing the API.

What does that mean? If, for example, you use twhirl as your desktop client, and have it configured to use 40 requests per hour, this leaves 30 requests for other purposes. Now you may have given your credentials to a lifestream site that accesses your account. If they do it every 5 minutes for example, this uses another 12 requests per hour, leaving 18 available. Now you might be using a browser like Flock (or Firefox with a Twitter extension), that fetches data in your name from Twitter. Again, some requests are allocated. And so on.

And every request you initiate in twhirl yourself goes on top of those you allow it for its automatic refreshing. So deleting ten tweets will consume ten more requests!

One thing: you cannot exceed your limit by twittering too much. Sending any message (status update, reply, or direct message) does not count for the API limit.

Why is your limit always exceeded?

For some time now, some users report that they cannot use twhirl reliably because they always get the message that they have exceeded their limit, even immediately after starting the application. For most of them, the account lock is released after a few minutes (up to an hour), but some are always blocked and cannot use the API at all.

This is not a problem that only affects twhirl users. As reports from other API developers show, other clients are equally affected. What could be the reason for this? Here are some scenarios that are possible:

  1. You are really over-using your account. You have given your credentials to too many services that now access your twitter data simultaneously, more often than 70 times per hour. If you think this is true, but can’t remember all sites you used, change your twitter password and only give the new one to sites or clients you really need.

  2. Twitter has a bug and miscalculates your API usage, locking your account too early. The problem has been reported to Twitter, and they are investigating the case. While some users that were sure not to actively exceed the limit turned out to have forgotten about a few services they gave their passwords, they don’t deny that their servers might do something wrong. If we get a feedback from them with any results on this, you’ll be informed.

  3. Any service you gave your credentials acts unfair / weird. You may have given your credentials to a service (web site) that does not respect the API limit very well, or at least does not inform you about excessive API usage. Or it simply has a bug that sometimes fires a lot of requests using your username / password. For some users, the problem seems to show up at similar times every day, what could be an indication for this scenario.

We are only guessing here, as no definite information is available yet. And each account has to be looked at individually, as all the above (and possibly other reasons) could be true.

What to do now?

Unfortunately, it is not easy to give you a good answer to this questions. I’d suggest the following:

  • Check if you haven’t given your credentials to multiple services / sites.
  • If you believe you didn’t, change your password on Twitter and only give the new one to selected clients. Give it to one first, adding others one after another (not more than one per hour), to see if any of these services pushes you over the limit.
  • If with a brand new password and only one client running you still get the limit exceeded message, please mail details to twhirl at info@twhirl.org, so we can report this to Twitter.

Remember to wait at least an hour to have the account unlocked after changing your password!

Conclusion

I’m very sorry if you have these problems. We are actively working on solving this issue, and we need your help to do so. We will keep you updated on the blog if we get new information.


About this entry