YouTube has stated that there's a rate limit for their API. And that's totally fine and understandable. However, it appears that, even respecting their rate limit and following their best practices is insufficient. In the YouTube terms of service, section 4H states that "You agree not to use or launch any automated system, including without limitation, "robots," "spiders," or "offline readers," that accesses the Service in a manner that sends more request messages to the YouTube servers in a given period of time than a human can reasonably produce in the same period by using a conventional on-line web browser"
So YouTube has an API to automate certain actions, but you have to limit yourself to an ill-defined notion of some human equivalent. Would following the best practices (in particular, waiting 10 minutes after any "too_many_recent_calls" 403 suffice to obey 4H?)
In my particular application I intend to upload tens of thousands of videos to my YouTube channel, and I'm concerned that even obeying the best practices will still result in YouTube terminating my account without explanation.
(For those concerned that tens of thousands of videos is spammy and illegitimate, I assure you that this is not the case. These are not advertising any product, and according to a couple hundred test case uploads, these are videos which people like much more often than dislike and which have high audience retention. For an example of such a channel (not mine), see http://www.youtube.com/user/EmmaSaying)
The terms of use you linked (containing the 4H section) is for the YouTube website. The API has a different set of terms and you can check the quota information here.
Related
For an application we are building we would like to create a feature that provides some related videos to the content the user is viewing. I thought that would be as easy as just understanding how YouTube API work but apparently there's a very strict limitation in terms of quota.
YouTube provides 10.000 points and if I had to implement the idea with a search endpoint that would mean just 100 searches per day. One can always ask for a quota extension, but there are no rules, pricing or certainty of extension.
Is there any other way I can provide the users with some related YouTube videos? Should I be faithful in quota extension and stick to 100 searches for now?
I would like to get in touch with someone from Google to ask them if there is a chance a quota extension and how much would that be given the feature we want to build before actually building it. Is there a way to do it?
Our group is working on a sentiment analysis research project. We are trying to use the Twitter API to collect tweets. Out aimed dataset involves a lot of query terms and filters. However, since each of us has a developer account, we were wondering if we can pool API access tokens to accelerate the data collection. For example, we will make an app that allows us to define a configuration file that contains a list of our access tokens that the app will try to use to search for a tweet. This app will be run on our local computer. Since the app uses our individual access tokens, we believe that we are not actually not bypassing or changing any Twitter limit as the record is kept for each access token. Are there any problems legal/technical that may arise from this methodology? Thank you! =D
Here is a pseudocode for what we are trying to do:
1. define a list of search terms such as 'apple', 'banana'
and 'oranges' (we have 100 of these search terms, we are okay
with the 100 limit per tweet)
2. define a list of frequent emotional adjectives such as 'happy', 'sad', 'crazy', etc. (we have have 100 of these) using TF-IDF
3. get the product of the search terms and emotional adjectives,
in total we have 10,000 query terms and we have computed
through the rate limit rules that we would need at least
55 runs of 15-minute sessions with 180 tweets per 15-minute.
55 * 15 = 825 minutes or ~14 hours to collect this amount of tweets.
4. we were thinking of improving the data collection by
pooling access tokens so that we can trim down the time
of collection from 14 hours to ~4 hours, e.g. by dividing the query items into subsets and letting a specific access token work on a subset
We were pushing for this since we just think it's efficient if it's possible and permitted since why not and it might help future researches as well?
The question is, are we actually breaking any Twitter rules or policies by doing this? By sharing one access token per each of us three and creating an app that we name as clones of the research project, we believe that in turn we are also losing something which is the headroom for one more app that we fully control.
I can't find specific rule in Twitter so far about this. Our concern is that we will publish a paper and will publish the app we will program and use for documentation and the app we plan to build. Disclaimer: Only the app's source code will be published and not the dataset because of Twitter's explicit rules about datasets.
This is absolutely not allowed under the Twitter Developer Policy and Agreement.
Twitter developer policy 5a:
Do not do any of the following:
Use a single application API key for multiple use cases or multiple application API keys for the same use case.
Feel free to check with Twitter directly via the developer forums. StackOverflow is not really the best place for this question since it is not specifically a coding question.
We have developed a news website. Partners are allowed to submit articles (video articles) via a dedicated form.
We want the videos to be hosted on Youtube then embedded on the website.
We have a working prototype.
The problem is the Youtube API Quota. Youtube offers 10k units per day. An upload costs 1600, which basically means after 6 videos, we can't use the API.
We've tried to click on the button to increase the quota from the console, but the max value is 10k (which makes no sense btw).
We've filled the dedicated form multiple time, we've contacted our former Youtube sales guy who said couldn't help. We even managed to have a Google representative on the phone who said he didn't know how it works and that we should discuss that with Youtube directly.
Does anyone know how to proceed? We're willing to pay the extra units, but even for that, we can't find the proper procedure.
Most of websites and threads dealing with the issue are old one when quotas were very high.
Is there a way to (paid or unpaid) to increase the 5,000,000 units/day quota limit imposed when using version 3 of the YouTube API?
I have read that a video upload alone uses 16,000 units - this equates to only ~312 videos a day.
I have signed up for 'billing' but still don't get an option to increase from the "courtesy limit" of 5 million.
Yes, there is an elaborate form for applying for higher quota.
It is linked in the developer console for example at: http://console.developers.google.com/apis/api/youtube-json.googleapis.com/quotas?project=YOURPROJECTID
The form starts off with some statements:
This Application will ask you detailed questions about:
(i) your business, (ii) your use of each YouTube API (current and
proposed use, as applicable), and (iii) each of your website or
software application that uses or will use YouTube API(s) (each an
“API Client”).
This application also requires you to submit screenshots and design
documents relating to your API Client(s) and your use of YouTube
API(s). If you do not have these ready, please apply once these are
available.
We will strive to respond to your application as soon as possible,
provided that, all required supporting materials are submitted and
sufficient, and all questions are thoroughly answered.
Note: Please do not apply for more quota unless you are actually close to hitting your current limit.
There is a Form but they do not approve extra quota at the moment. Maybe in the future. Best would be to contact your Google Account Manager (If you have one assigned)
https://docs.google.com/spreadsheet/viewform?formkey=dDdnNVF3aGpuLXV1R2V2Nzg3QjJoZWc6MQ
Is there a way to (paid or unpaid) to increase the 5,000,000 units/day quota limit imposed when using version 3 of the YouTube API?
I have read that a video upload alone uses 16,000 units - this equates to only ~312 videos a day.
I have signed up for 'billing' but still don't get an option to increase from the "courtesy limit" of 5 million.
Yes, there is an elaborate form for applying for higher quota.
It is linked in the developer console for example at: http://console.developers.google.com/apis/api/youtube-json.googleapis.com/quotas?project=YOURPROJECTID
The form starts off with some statements:
This Application will ask you detailed questions about:
(i) your business, (ii) your use of each YouTube API (current and
proposed use, as applicable), and (iii) each of your website or
software application that uses or will use YouTube API(s) (each an
“API Client”).
This application also requires you to submit screenshots and design
documents relating to your API Client(s) and your use of YouTube
API(s). If you do not have these ready, please apply once these are
available.
We will strive to respond to your application as soon as possible,
provided that, all required supporting materials are submitted and
sufficient, and all questions are thoroughly answered.
Note: Please do not apply for more quota unless you are actually close to hitting your current limit.
There is a Form but they do not approve extra quota at the moment. Maybe in the future. Best would be to contact your Google Account Manager (If you have one assigned)
https://docs.google.com/spreadsheet/viewform?formkey=dDdnNVF3aGpuLXV1R2V2Nzg3QjJoZWc6MQ