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.
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.
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.
I'm using the twitter api to get data on many twitter accounts, because of the rate limit and since i can't ask the owners of all those twitter accounts to authenticate, i've to create several applications on my developer account
(note that i'm already queuing and combining requests, i've used all best practices).
My question, what's the maximum number of applications allowed per developer account? i didn't manage to get this answer anywhere on the web nor on the twitter documentation
Mentioned in 24 July 2018 twitter announcement, The limit is 10 apps per dev account.
We’re also limiting the default number of apps you may have registered
by a single developer account to 10. Developers who need to register
more than 10 apps — for instance, to enable client-specific products
which require distinct apps — can request permission using the API
Policy support form. If you already have more than 10 apps registered,
you can continue to use them as long as they comply with our rules but
you won’t be able to register new apps until you either request
permission for additional apps or delete unused ones.
https://blog.twitter.com/developer/en_us/topics/tools/2018/new-developer-requirements-to-protect-our-platform.html
Also, note that you can only create 3 new apps in a 24 hour period.
First of all, you should NOT make more than one Application for one application.
You need to handle data logically. Cache the data you are requesting so you can limit the number of requests to twitter's API.
How to limit requests: https://dev.twitter.com/docs/faq#5823
Here are some docs:
https://dev.twitter.com/docs/rate-limiting/1.1
and https://dev.twitter.com/discussions/8126
I'm using the Twitter/Social frameworks to build a small Twitter app. It's not really a client, but you can send tweets from it and do a handful of other things (like view followers).
My question is, am I subject to the 100,000 token user limit? I am using TWRequest to handle everything from posting tweets to pulling in followers/lists etc.
From what I can tell, the 100,000 user limit does not apply to this scenario (as I haven't needed to generate a token to access any of that functionality) and I'm not replicating twitters core functionality.
Any application that accesses the home timeline or direct message APIs consumers user tokens. However, your application seems to be for your own personal use. Therefore, you're not going to ever need 100,000 user tokens.
Here is a sample query which returns the twitter ids of followers of examplename:
https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=examplename
This works great. However I would like to get followers of up to 5 different twitter accounts. This would mean 5 api calls which is inefficient and not good because I don't want to exceed the api limit. So is there a way to combine 5 different queries into 1?
This web application I am building could potentially be used by 100 simultaneous users at once, according to my employer. Would using authentication (oauth codes) increase my rate limit?
Thanks.
a) No, just stick with tihis method.
b) Yes, if you get oAuth credentials of every user you are trying to get details of (they have logged in), then you can sign each API request using their own oauth token/secret and you don't have any concerns about rate limiting. You can make up to 350 requests per hour using each users credentials.