I use the Twitter SDK for iOS (and Android,too). My iOS app pulls some tweets from the Twitter API via network request.
In the documentation (https://dev.twitter.com/rest/public/rate-limiting and https://dev.twitter.com/rest/public/rate-limits) Twitter describes some rate limits for requests and differs them "Per User or Per Application".
My iOS app pulls for example information from the endpoint https://dev.twitter.com/rest/reference/get/search/tweets with "guest authentication" (means: usage "Per Application" - not "Per User") to build a Twitter social wall.
What I don´t understand: What does Twitter mean in this case with rate limit for an Application? Does this means single instance of my iOS app on a device has it´s own rate limit for this request or does all my total instances of all iOS apps share this rate limit together (because the authentication uses the same fabric-app keys on all devices)?
I´m confused ... can somebody explain this to me, please?
Rate limits for application authentication are shared by all apps connecting with the same application credentials. Basically, rate limits are applied per access token, as described here. You can use the rate_limit_status endpoint to find out the remaining number of requests your app can make in the current 15-minute window.
Related
1: When it says 15 requests per 15 minute window, does this really mean I can only send 15 requests per 15 minutes?
2: Do I really need to set up a Twitter bot to send basic requests like getting a list of a user's followers? Is there a way to get the data through a URL, like in most web APIs? I'm making software that will be used by other people, so it can't have a bot auth token in the code.
I know I'm pretty much asking if what it blatantly says is true, but I'm just having trouble believing that the Twitter API is really this bad.
It sounds like you are specifically asking about the friends and followers endpoints. Yes, this is limited to 15 requests in a 15 minute window. Other endpoints / features have different rate limits.
The Twitter API requires authentication. You do not need to set up a "bot", but you will need a registered Twitter developer account, and a Twitter app, in order to use the API. If your app will be used by other people, you would need to implement Sign-in with Twitter to enable them to authenticate with your app; you can then store their access token (until or unless they revoke it) to make requests on their behalf. This is pretty standard for any multi-user web app.
The question seems duplicated, yet it's not. The question seems silly and it is. If I want to search for a certain word in tweets, I would send a request to the Twitter API. I can send the request:
Using user authentication: which requires logged in user.
Using application authentication: which doesn't require a logged in user and uses an application ID (public and private keys).
Now, Facebook, Twitter and other social networks for that matter provides API Rate Limit per user and per application (globally). Suppose that I want to search for the word "stackoverflow" from two application instances (one on iOS and the other on Android). Is the API limit divided on both of them? or each has its own full limit?
For example, assume that social network "X" provides up to 150 requests/app/15 min window. Do I have that 150 requests for each running instance of the application or I have a total of 150 requests for all instances?
Hope I made it clear enough.
Found the answer here: Question about app-only auth and rate limits for an iOS app in API v1.1
The number of users or "instances of use" of your application are not figured in to rate limits for app-only auth. A method with a limit of 180 requests per 15 minute window is intrinsic to your application, regardless of whether it's on device A, device B, device C, website 1, website 2.
I'm making an app that utilizes Apple's Social Framework to access Twitter. I plan on eventually releasing it on the app store. I know twitter has rate limits such as 15 requests/15 mins per endpoint per user. I am also aware that twitter has 100,000 user limit for apps, however I don't know how this works with Apple Social Framework. I don't explicitly create an app on twitter's site, and don't have a client id. Since there is no application id when using Social Framework, do these limits still apply?
I'm building a suite of tools that integrate with Asana. These tools comprise a web browser extension and a web app (or Chrome packaged app). Do the browser extension and web app share the same API call quota?
Right now, API rate limits are enforced per-user. Until we released OAuth support, there was no way to distinguish between different apps (since users were always authorized by the same API key). In future, each app will get its own rate limit quota (per user). If you intend to make them separate apps (and have users authorize them separately) they would then get separate quotas - but if you're either using an API key for both, or sharing one OAuth app, they'll end up sharing their quota, too, even if we roll out the change I mentioned earlier.
Example RSS feed link: http://twitter.com/statuses/user_timeline/twitter.rss
Does anyone know if Twitter limits calls to a public RSS feed? This is not using an API but a simple call to a URL.
I am unable to find anything official (or even speculative). I know the API has access limits of x requests within y minutes. I am wondering if the public RSS feeds follow a similar pattern. I am seeing behavior in a mobile app that makes me think that this may be the case.
Device 1 receives an empty response while device 2 still gets updates for identical feed. Have also seen it on from my computer running a simulator for a while. Simulator stopped getting updates, then I couldn't pull up the feed in a web browser on same machine that was running the simulator. I am suspicious that Twitter is limiting RSS feed access by device. I think this because in the previous example, all RSS feeds were inaccessible form the web browser while the Twitter site was functioning properly in the same web browser.
The RSS URL is being queried every 10 minutes.
Any insight is appreciated.
Non authenticated (OAuth only) requests rate is 150 per hour.
OAuth requests rate is 350 per hour.
Requests limit rate is per IP address, so I don't think Twitter will deny the request with ONE request every 10 minutes.
The method you mention is public, but the only requests that doesn't have the rate limit are the ones of the search API (which has a little delay versus the 'real time'). Anyway I suggest you to read: http://dev.twitter.com/pages/rate-limiting and http://dev.twitter.com/pages/rate_limiting_faq
Twitter's web site is a client of their API, so I'm guessing their RSS feeds are also clients of the Twitter API as well. See this page at the Twitter engineering site for more information about this, and also see the Twitter Rate Limiting FAQ for information about rate limiting.