I want to implement iTunes Search API in my app for my users to search for contents on iTunes
https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/
My app has about 100,000 users.
I understand that there's a Rate Limit of about 20 calls per minute. But is the Rate Limit per device, or per app?
If the Rate Limit is per device, then it should be ok. Any one of my users shouldn't be searching for more than 20 times per minute. But if the Rate Limit is per app, then all of my users' searches add up will largely exceed the Rate Limit, then I should look into Enterprise Partner Feed and build a server for my users' searches?
Any help is highly appreciated. Thanks.
Related
I want to search track information and add item to my playlist using SPOTIFY API
SPOTIFY API has a using limit?
if it exists, Can you tell me about points by api used
Yes there is a rate limit, although the documentation does not specify any concrete values:
Spotify’s API rate limit is calculated based on the number of calls that your app makes to Spotify in a rolling 30 second window. If your app exceeds the rate limit for your app then you’ll begin to see 429 error responses from Spotify’s Web API, and you may hear from users about unexpected behavior that they have noticed while using your app. The limit varies depending on whether your app is in development mode or extended quota mode.
If you run into rate limiting you can get in touch with Spotify to request an increase for the application you are building and/or maintaining.
We use the Sonos Control API to control the Sonos Speakers in a Smart Home System. Now we seem to have hit the rate limit for the requests sent to the API.
We get the error 429 Too Many Requests.
As described here https://developer.sonos.com/build/direct-control/control/ this means that we have hit the rate limit of the Sonos API. But there is no detailed information about the limits.
So I have the following questions:
How much requests are allowed until the rate limit is hit?
When is the rate limit being reset?
Is the rate limit per Integration or per Customer/IP?
At the moment we make a request per minute/per customer to get the groups, favorites, etc. We plan to change this behavior to use the subscriptions. But also if we use the subscription it would be good to know if we still could hit the rate limit if many customers make a request at the same time.
We generally don't rate limit unless we notice bad behavior. In that case, we manually rate limit or block clients at our discretion.
Consider using subscriptions instead of polling to monitor changes to groups and favorites.
The problem: Running into Google Sheets API read/write quota limits. Specifically, the read/write requests per 100 seconds and read/write requests per 100 seconds per user quotas.
Some background:
For the past few months I've been developing a web app for students and staff in our school district which uses a Google spreadsheet as the database. Each school in our district was assigned a different Google spreadsheet, and a service account was created to make read and write calls to these spreadsheets on behalf of the web app.
We started with one school of approximately 1000 students, but it has now expanded to two other schools with a total user load of around 4000. Due to the nature of a school day schedule, we started hitting our quota limit (per 100 sec & per 100 sec per user) since almost everyone uses the app at the same time.
I found the usage limits guide for the Google sheets API, and as per the instructions I created a billing account, and linked the associated service account project to it. I then went to the quotas section in the developers console and applied for a higher quota. This involved filling out a Google form which asked "How much quota do you need? Express in number of API queries per day." Again, queries per day is not the problem, rather it's the number of queries per 100 seconds and per user (service account). After a couple of weeks our limit was increased to 2500 read/write requests per 100 seconds and 500 read/write requests per 100 seconds per user. The billing account was not charged, and after a little searching, I realized this was a free increase. This bump in our quota limit helped, but it's still going to be an issue because our district wants to add more schools in the future.
Here's what I need to know:
1) [ESSENTIAL QUESTION] Does Google have an upper limit or maximum to the number of read/write requests a single service account/user/IP can make within the 100 second time frame, and if so what is it?
2) If it is possible to go beyond our current quota limit (2500/500), is there another way of requesting/applying for the increase. Once again we have a billing account established for the project and are willing to pay for the service.
I've been pulling (what's left of) my hair out trying to find definitive answers to my questions. This post came close to what I was looking for, and I even did some of the things the OP suggested, but I just need a direct answer to my "essential" question.
Couple more things.
I understand that Google Charts Visualization doesn't have a quota limitation, and I'd consider using it however, for privacy reasons I can't have the spreadsheet keys exposed in plain javascript. Are there other options here?
Also, one might suggest creating multiple service accounts, but I'd rather avoid this if possible.
Thank you for your help. I'm very much a novice and I greatly appreciate your time and expertise.
To answer your questions:
1) [ESSENTIAL QUESTION] Does Google have an upper limit or maximum to the number of read/write requests a single service account/user/IP can make within the 100 second time frame, and if so what is it?
*The provided documentation only stated that Google Sheets API has a limit of 500 requests per 100 seconds per project, and 100 requests per 100 seconds per user. Check this post for additional information.*
2) If it is possible to go beyond our current quota limit (2500/500), is there another way of requesting/applying for the increase. Once again we have a billing account established for the project and are willing to pay for the service.
AFAIK, you can request for a higher quota limit and the Google Engineers may grant the request as long as you are making a reasonable request.
Also, you may check this thread for additional tips:
You can use spreadsheets.get to read the entire spreadsheet in a single call, rather than 1 call per request. Alternately, you
can use spreadsheets.values.batchGet to read multiple different
ranges in a single call, if all you need are the values.
The Drive API offers "push notifications", so you can get notified when changes occur and react to those, instead of polling for
them. The latency of the notifications is a little on the slow side,
but it gets the job done.
I understand the Twitter REST API has strict request limits (few hundred times per 15 minutes), and that the streaming API is sometimes better for retrieving live data.
My question is, what exactly are the streaming API limits? Twitter references a percentage on their docs, but not a specific amount. Any insight is greatly appreciated.
What I'm trying to do:
Simple page for me to view the latest tweet (& date / time it was posted) from ~1000 twitter users. It seems I would rapidly hit the limit using the REST API, so would the streaming API be required for this application?
You should be fine using the Streaming API, unless those ~1000 users combined are tweeting more than (very) roughly 60 tweets per second at any moment.
Using the Streaming API endpoint statuses/filter with the follow parameter, you are allowed up to 5000 users. There is no rate limit except when the stream returns more than about 1% of the all tweets being tweeted at that moment. (60 tweets per second is 1% of the average rate of tweets, which is always fluctuating, so don't rely on that number.)
If your stream does go above the 1% threshold, you can detect this. (See the LIMIT notice.) Then you would use the REST API to find missed tweets.
Twitter simply will not allow multiple streams from one registered app/account. Doing so will result in the older one being closed.
Also too many connection tries are not allowed as well and will result in a user being blocked.
Reference docs: Public Streaming API (outdated)
I have web product (third party) that’s built, establishes growth of approx 100k users and all have authenticated their twitter account. But the twitter is limited me to 350 req/h.
Is there a way to apply for a higher limit for API calls, or what will be the best solution to this issue?
The rates have changed since this question was posted. In OAuth v1.1 the rate limits are measured per 15 mins. Depending what you are calling the limits are 15, 30, 180 (for user_timeline which is what most people want) and 300 per 15 min chunk.
See this table for the limits
You can find how many of each call you have left and when the limit is reset by using application/rate_limit_status.