Downloading Videos from YouTube - Terms & Conditions - youtube-api

I am a bit confused about the YouTube API's term & conditions. If I create an app for users to download only their own videos. Is that against the terms and conditions?
I know downloading other people content is definitely prohibited, but is it the same for your own videos? Since user can go to their video manager and download their own videosm this would be only a short-cut?
Anyone knows can/cannot do this? I was thinking of using this library http://ytdownloadextension.codeplex.com/
Any guidance would be appreciated,
Covo

Seems like YouTube already allows you to do that, so I'd say it's legal:
Download your videos
You can’t download other people’s YouTube videos, but ...
You can download MP4 files of videos that you’ve uploaded to YouTube in either 720p or 360p, depending on the video size.
See Download videos that you've uploaded.

I don't think so the Terms of Service of Youtube or the Terms of Service of the API allows you to do so:
Excerpt of Youtube ToS (5. K):
you agree not to access Content or any reason other than your personal, non-commercial use solely as intended through and permitted by the normal functionality of the Service, and solely for Streaming. "Streaming" means a contemporaneous digital transmission of the material by YouTube via the Internet to a user operated Internet enabled device in such a manner that the data is intended for real-time viewing and not intended to be downloaded (either permanently or temporarily), copied, stored, or redistributed by the user.
Excerpt of the API ToS (II. 11):
store copies of YouTube audiovisual content;
Both, state in a very clear way that neither the user nor applications built using the API can "store" content, which is a very direct statement that disallows you from giving such an option in your app. Now, whether Youtube does give its users an interface to download their content or not is an argument out of sequence here as Youtube don't need to follow their own ToS, in other words, it's up to them to give their users such an option, but you can't give it to the users of your app.
I suppose you need a special permission from Youtube to give such an option in your app.

Yes. You can definitely download your own videos from YouTube as it is your own content so you have full rights to it as the creator of the videos.

Related

Does YouTube Data API v3 provide video stream URLs?

Using the YouTube Data API v3, is it actually able to return to me the URL for a video (by ID) of all the available video and audio streams? I have the YouTube video ID. I want to choose a video stream to play in a client app. I've read all the YouTube Data API documentation on this site:
https://developers.google.com/youtube/v3
And this question is not answered; in fact it seems to intentionally avoid this whole topic.
Sorry for having to give you a negative response:
As far as I know, the answer to your question is no, there's no such API (and API endpoint for that matter) that will provide the URLs of the streams that YouTube does yield to its video players (embedded or not).
Of course, one may scrape this kind of info out of the YouTube's Web UI (like many tools available on the Internet do), but, if one does observe the DTOS specifications, will eventually come across the paragraph E.6 of section III. General Developer Policies, that explicitly forbids this activity.
An argument against the existence of such a API can also be derived from the DTOS document, same section III. General Developer Policies, but, in this case, from paragraph E.1:
E. Handling YouTube Data and Content
Aside from the permissions and rights granted in this section, you and your API Clients have no further permissions or rights to API Data, including to temporarily stored API Data.
Audiovisual Content
You and your API Clients must not, and must not encourage, enable, or require others to:
a. download, import, backup, cache, or store copies of YouTube audiovisual content without YouTube's prior written approval,
b. make content available for offline playback
c. [...]
Since is illegal to download video content from YouTube, it follows by simple formal logic, that it cannot exist an API that would provide URLs to the video content itself (under the assumption that the official APIs are formally consistent with the DTOS specifications).
No the YouTube API doesn't give you the video url, otherwise it would be too easy to copy the file.
Also, YouTube videos can only be played inside the YouTube iFrame player and you can't have access to the HTML5 video object (to retrieve the video url) because of cross-domain policy.

Is it legal to use Youtube Data API to create youtube-like app that aggregrate youtube videos from any channel?

i'm planning to create some app that use youtube-api.
Is it legal to use Youtube Data API to create youtube-like app that aggregrate youtube videos from any channel? even it is not my channel or my video? Can I (legally) monetize those app with Admob?
Your question is answered in the first paragraph of the YouTube API Terms of Service.
1. Is it legal to use Youtube Data API to create youtube-like app that aggregrate youtube videos from any channel?
The terms don't prohibit it, as long as the client is compliant with the ToS. So, yes, it is legal.
2. Can I (legally) monetize those app with Admob?
It depends.
You agree not to use the YouTube API for any of the following commercial uses unless You obtain YouTube's prior written approval: [...] the sale of advertising, sponsorships, or promotions on any page of the API Client containing YouTube audiovisual content, unless other content not obtained from YouTube appears on the same page and is of sufficient value to be the basis for such sales.
I'm not an expert in law questions, but what this says (imho) is that you may advertise your application if it does not solely contain YouTube content. In other words, your application has to extend the functionality of https://youtube.com, not recreate it.
In any case, you may not block or in any way alter in-player ads.
Conclusion
Based on the short concept of your app you posted in the question, I would say:
You may build "youtube-like app that aggregrate youtube videos from any channel", but
you may not advertise it, since it does not feature original content.
if you plan to publish this on app store please review the IOS Guide Lines
5.2.3 Audio/Video Downloading: Apps should not facilitate illegal file sharing or include the ability to save, convert, or download media
from third-party sources (e.g. Apple Music, YouTube, SoundCloud,
Vimeo, etc.) without explicit authorization from those sources.
Streaming of audio/video content may also violate Terms of Use, so be
sure to check before your app accesses those services. Documentation
must be provided upon request.
And this SO question

Using Youtube API to play just audio

We are a couple of software developers and were planning on making some commercial extension or some website through which users, with slow internet connections or limited data could play almost any video through YouTube's API. Although, while going through the API docs, we came through the following section,
Your API Client will not, and You will not encourage or create functionality for Your users or other third parties to:
"separate, isolate, or modify the audio or video components of any YouTube audiovisual content made available through the YouTube API"
-Kuan Yong, YouTube API Team
Is there no such legal way through which we can disable just the video and stream audio, not even with the commercial API?
Hoping for a positive reply.
Playing just audio means isolating audio, which is a clear violation of the terms and conditions of the YouTube API. However, as far as I know, there is no such restriction when not using the YouTube API. For example, youtube-dl, which is a video downloader for YouTube and hundreds of other websites, has the functionality to download just audio.
In fact, in YouTube's format, audio and video are actually stored in separate files on the server. This means you can actually acquire the path to the audio file and stream it to you users. Check out the open-source youtube-dl, specifically the youtube module, for more details.
Edit
The reason I am merely linking to a library is that YouTube continually changes the way they format, store, and stream video. This means that retrieving the direct link to a video's audio component is a task subject to frequent change. If you can link against youtube-dl's python module, you can make use of their updates whenever such changes occur.
Disclaimer
I am not fully sure if this is all legal and whatnot. Hence, I take no responsibility for your decision on what to do, nor do I condone this kind of behavior.

Using YouTube Android Api to show videos

I have an app with list of videos from youtube and the user can choose one and play it using YoutubePlayer (of the official api). My question is : it is legal to play any video from YouTube in my app ?
Should I ask the owners of the videos for permission to play their videos in my app ?
I read the terms of service of YouTube and I did not understand that.
Thanks.
If you're using the API, then you needn't worry about asking any permission to play others' videos. Uploaders also have a terms of service, whereby they grant access to play their videos through any official means unless they note it somewhere ... so, for example, they'd have to set videos as private, or set various parameters that forbid embedding, mobile playback, etc. If the video owner hasn't set those, then their use of the YouTube platform enables you to use the API to play them. This comes not from the API terms of service but from the general terms of service:
https://www.youtube.com/static?template=terms
Specifically, 6-C which states that when users upload content to YouTube, they grant YouTube a
worldwide, non-exclusive, royalty-free, sublicenseable and
transferable license to use, reproduce, distribute, prepare derivative
works of, display, and perform the Content in connection with the
Service and YouTube's (and its successors' and affiliates') business,
including without limitation for promoting and redistributing part or
all of the Service (and derivative works thereof) in any media formats
and through any media channels. You also hereby grant each user of the
Service a non-exclusive license to access your Content through the
Service, and to use, reproduce, distribute, display and perform such
Content as permitted through the functionality of the Service and
under these Terms of Service.
Since YouTube, with those licenses, allows them to be accessed via the API, they are in a sense covering you with their license. Of course, if you ever implement something without the official API, or if you break the API terms of service in some other way, then you wouldn't be covered by this.

How do I use YouTube API to upload private videos for a product that will be sold?

So I have a video product that I am about to start selling. Once people pay, they will be able to download the videos, or ideally stream it via YouTube.
But...I don't want them to be able to share the link with every Tom, Dick and Harry.
I know that an unlisted video can still be made public, so that won't work for me. But apparently there can be 'private videos' too.
Where can I learn more about this in the API docs? Or what is the best way to approach this? Especially given that I don't want them to have to have a Google+ account.
Ideally, they should be able to login to my app, and watch the embedded videos there. But they should not be able to share the direct YouTube link.
I know they can always share their account info, that's fine...I will do other things to keep track of and monitor that. It's really the anonymous sharing of the YouTube link I am worried about.
Thanks.
Read the API terms of service and check with your legal folks. Specifically, you will want to make sure that your sale of private content uploaded to YouTube is in compliance with #2 in the Terms of Service:
You agree not to use the YouTube API for any of the following
commercial uses unless You obtain YouTube's prior written approval:
the sale of the YouTube API, API Data, YouTube audiovisual content or
related services, or access to any of the foregoing;

Resources