Rate limit increase?




At Genius we are running in to rate limits pretty regularly when interacting with the Twitter REST API. This is particularly problematic when rate limit errors prevent us from being able to log a user in via Twitter.

I am wondering if there is a process for getting an increase to our rate limit. Our app ID is 459643.

Thank you!


You can try the Platform Support Form: https://support.twitter.com/forms/platform i guess it falls under “Special permissions”

You’re likely to have a large enough audience to warrant a bump in rate limits i guess. Also - instead of asking users for their email, there’s a way to get the email from their Twitter login - https://apps.twitter.com/app/459643/permissions but you need to request special permissions for that too.


Thanks Igor, very helpful! I’ve done that.


Hey Mat - would love to understand more about the specific issue you’re hitting here? You refer to logins? Which endpoints are you trying to use, and what volumes are problematic?


Hi Andy. When a user first authenticates we make a request for their basic profile data to pre-populate their info. This is the request that can fail, leading to an overall auth error, if we’ve bumped up against the rate limit.

The only other interaction we have with the Twitter API is to get friend_ids in order to suggest artists in Genius that the user may like. It is likely this interaction (paging over the results) that is actually causing the rate limit to get hit. But of course once we hit it, we can’t log users in either.

Thank you for your help!


Hmm. The endpoints should have independent rate limits (i.e. you get a separate set of numbers of calls to one account/verify_credentials than you do to the friends endpoint). Which one is reporting errors, and are you checking the X-Rate-Limit headers? The limit on the friends endpoints are a lot lower than on some other calls, but again, that shouldn’t block you from actions regarding other users.


Hi Andy. That’s a good point. So it seems that we’re hitting the rate limit specifically for verify_credentials (this is the call that is encountering the actual rate limit error).

At the moment we are not logging header information when the error occurs, but I can do so if you think it would be helpful?


That’s really odd, because you should only need to call that endpoint once for each user (with their user token, so it’s not like you’d be calling it multiple times in a single user’s context, that wouldn’t make sense). I’d be curious to know what the rate limit reported is at the time of the error, for sure.