I am developing an application in which I am using Compas and GPS for iPhone Platform and after that I will make this for Android also in Unity.
So I am sniffing Compas related question and I found an Answer that there is a Limit for Querying Google Api. I am a bit scared because I want to query each second to update user location and compas information of device.
Does anyone know what is the maximum limit of Query? What is a better approach to do this task?
If you are referring to the Google Elevation API, then yes, there is a limit. Basically, ALL Google API's have Usage Limits. From the Elevation API webpage:
Usage Limits
Use of the Google Elevation API is subject to a limit of 2,500
requests per day (Maps API for Business users may send up to 100,000
requests per day). In each given request you may query the elevation
of up to 512 locations, but you may not exceed 25,000 total locations
per day (1,000,000 for Maps API for Business users). This limit is
enforced to prevent abuse and/or repurposing of the Elevation API, and
this limit may be changed in the future without notice. Additionally,
we enforce a request rate limit to prevent abuse of the service. If
you exceed the 24-hour limit or otherwise abuse the service, the
Elevation API may stop working for you temporarily. If you continue to
exceed this limit, your access to the Elevation API may be blocked.
If you need more requests, you may have to use Maps API for Business.
Related
For the last few weeks, the YouTube Data API (v3) is showing a significant increase in requests. In fact, we hit the 50k quota limit every day, which means that requests in the afternoon/evening tend to fail with a quota exceeded error:
However, this usage count is not correct. We use a single API key for making requests to the YouTube API, and the Google Cloud API counter only shows ~2k uses per day for that API key.
All requests to our server endpoint that calls the YouTube API also pass through Cloudflare, which similarly shows <2k requests per day.
We just make a single request to www.googleapis.com/youtube/v3/search?part=snippet&maxResults=1&... – is it possible that these requests count as multiple queries? Or is there any other reason that could explain the incorrect query counts? Thanks!
This is a recurrent issue with the YouTube Data API quota system, that is caused by confusing terms used within Google's cloud console.
You have to acknowledge that YouTube's Data API quota system is not accounting for the number of queries one is making. Instead, the API attaches to each kind of its endpoint a quota cost, and, thus, is accounting for the sum of quota cost of all endpoint calls one is making.
Moreover, inspecting the quota costs page I mentioned above (or the official doc page of the endpoint for that matter), you'll see that the Search.list API endpoint is quite expensive: 100 units of quota cost.
Consequently, to reach a quota cost of 50000 units, your app has to issue only 500 calls to Search.list (this amounts on average to approximately one call at every three minutes per day).
We are developing an application to upload videos from multiple users to a single Youtube channel. But we are unable to find any document for quota units that specifies the cost in dollars. The quota calculator is helpful and provides great insight. But still no mention of exceeding quota cost.
https://developers.google.com/youtube/v3/getting-started#quota
From what I've been able to gather there is no cost to exceeding the quota, however your access to the API will be cut-off when you do so (for that project). There doesn't appear to be anyway to buy more quota units, however you can request more using using the form available on the Quota tab of the Developer Console. Keep in mind that it may take some time (I've heard of months) before you receive a response from the Google team.
Currently we are on Google My Business API V3, and we are with 5 QPS rate limiting. I see the new release of V4 API. In change log i see some minor upgrades to the API but i don't see any talk about rate limits.
Are they same as previous rate limits?
There are changes to rate limits, earlier every API call used to fall into the same bucket of 5QPS. Now they separated the rate limiting buckets to different types of API calls.
You can find more details about the newer rate limits on following link
https://developers.google.com/my-business/content/limits
I'm considering using the Twitter Streaming API (public streams) to keep track of the latest tweets for many users (up to 100k). Despite having read various sources regarding the different rate limits, I still have couple of questions:
According to the documentation: The default access level allows up to 400 track keywords, 5,000 follow userids. What are the best practices to follow more the 5k users. Creating, for example, 20 applications to get 20 different access tokens?
If I follow just one single user, does the rule of thumb "You get about 1% of all tweets" indeed apply? And how does this changes if I add more users up to 5k?
Might using the REST API be a reasonable alternative somehow, e.g., by polling the latest tweets of users on a minute-by-minute basis?
What are the best practices to follow more the 5k users. Creating, for example, 20 applications to get 20 different access tokens?
You don't want to use multiple applications. This response from a mod sums up the situation well. The Twitter Streaming API documentation also specifically calls out devs who attempt to do this:
Each account may create only one standing connection to the public endpoints, and connecting to a public stream more than once with the same account credentials will cause the oldest connection to be disconnected.
Clients which make excessive connection attempts (both successful and unsuccessful) run the risk of having their IP automatically banned.
A rate limit is a rate limit--you can't get more than Twitter allows.
If I follow just one single user, does the rule of thumb "You get about 1% of all tweets" indeed apply? And how does this changes if I add more users up to 5k?
The 1% rule still applies, but it is very unlikely impossible for one user to be responsible for at least 1% of all tweet volume in a given time interval. More users means more tweets, but unless all 5k are very high-volume tweet-ers you shouldn't have a problem.
Might using the REST API be a reasonable alternative somehow, e.g., by polling the latest tweets of users on a minute-by-minute basis?
Interesting idea, but probably not. You're also rate-limited in the Search API. For GET/statuses/user_timeline, the rate limit is 180 queries per 15 minutes. You can only get the tweets for one user with this endpoint, and the regular GET/search/tweets doesn't accept user id as a parameter, so you can't take advantage of that (also 180 query/15 min rate limited).
The Twitter Streaming and REST API overviews are excellent and merit a thorough reading. Tweepy unfortunately has spotty documentation and Twython isn't too much better, but they both leverage the Twitter APIs directly so this will give you a good understanding of how everything works. Good luck!
To get past the 400 keywords and 5k followers, you need to apply for enterprise access.
Basic
400 keywords, 5,000 userids and 25 location boxes
One filter rule on one allowed connection, disconnection required to adjust rule
Enterprise
Up to 250,000 filters per stream, up to 2,048 characters each.
Thousands of rules on a single connection, no disconnection needed to add/remove rules using Rules API
https://developer.twitter.com/en/enterprise
Is there a max limit on the valance API. I've made a number of calls, but I put some self throttling in the program. It makes a call to the user page, loops through the data, and then makes another call. It probably averaged 1 call every second or so.
I'm looking at expanding some functionality and I'm worried that we may reach a limit if we aren't careful about how we go doing everything.
So, is there a limit to how often we can call the valance api?
The back-end LMS can be configured to rate limit on Valence Learning Framework API calls; however, by default this does not get configured as active. To be sure, you should consult with the administrators of your back-end LMS.
Update: Brightspace no longer supports this kind of rate limiting mentioned. As Brightspace evolved, D2L found that the rate limiting was not providing the value that was originally intended, and as a result D2L deprecated the feature. D2L is no longer rate limiting the Brightspace APIs and instead depend on developer self-governance and asynchronous APIs for more resource intensive operations (the APIs around importing courses, for example). When you use the Brightspace APIs, you should be mindful that you are using the same computing resources as made available to end users interacting with the web UI, and if you over-stress these resources (as can easily be done through any API), you can have a negative impact on these end users.