How does 15/15 rate limits work in conjunction with the 180/15 rate limits



Still trying to get my head round the rate limits. Ok 15/15 rate limits self explanatory only 15 calls per 15 minutes and the 180/15 ditto, but how do these work together, are they independant, i.e. can I still use the 180/15 rate calls when I have run up against the 15/15 rate limit, or do I need to stop at 14/15 calls, so not rate limited, then I can make the 180/15 calls? I guess that the post calls are not affected at all by this?

I have read a bit more and mention is made of resource families, seems like each type of call has its own rate limit eg.

 "/users/suggestions": {
    "limit": 15,
    "remaining": 15,
    "reset": 1403602426

So are all the calls independant of each other, so if even if I am up against the rate limit for /users/suggestions I can still, for example, immediately call /users/contributors, if I haven’t made any calls to this endpoint yet?




Yes, all rate limits are independent from each other, and only apply to the specific api resource you are requesting, as you can see in the snippet you posted :slightly_smiling:


I just made a new call to a method that I never used before GET application/rate_limit_status and I get returned

 "{\"errors\":[{\"code\":89,\"message\":\"Invalid or expired token.\"}],\"httpstatus\":401,\"rate\":null}"

So it seems that when you are blocked for one call you are blocked for them all.

I am seriously considering giving up on making a twitter application as the rate limits completely limit the possibility to do any thing useful and making developers wait 15 minutes between calls is incredibly annoying




No, that should not happen, and that error message does not look like a rate limit error, as far as I know. It looks like something is wrong with the OAuth tokens or signature used.


It seems that this error was because of making the call using a application that must have been out of the browser context. The error message has been replaced with an “error: Could not authenticate you.” message, which is strange given that the get_lists call works fine with no authentication problems

I guess for this API call I must be authorized as the application rather than a user. This makes the use of this API call to find user rate limits not possible




No you don’t have to, I can make that call without problems. But it’s recommended to use the response headers that indicated rate limits instead of that endpoint anyway.