CINXE.COM

YouTube API Services - Developer Policies  |  Google for Developers

<!doctype html> <html lang="en" dir="ltr"> <head> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#ff0000"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/youtube/terms/developer-policies"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/youtube/terms/developer-policies" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/youtube/terms/developer-policies" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/youtube/terms/developer-policies?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/youtube/terms/developer-policies?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/youtube/terms/developer-policies?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/youtube/terms/developer-policies?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/youtube/terms/developer-policies?hl=fa" /><link rel="alternate" hreflang="he" href="https://developers.google.com/youtube/terms/developer-policies?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/youtube/terms/developer-policies?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/youtube/terms/developer-policies?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/youtube/terms/developer-policies?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/youtube/terms/developer-policies?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/youtube/terms/developer-policies?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/youtube/terms/developer-policies?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/youtube/terms/developer-policies?hl=pt-br" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/youtube/terms/developer-policies?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/youtube/terms/developer-policies?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/youtube/terms/developer-policies?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/youtube/terms/developer-policies?hl=vi" /><title>YouTube API Services - Developer Policies &nbsp;|&nbsp; Google for Developers</title> <meta property="og:title" content="YouTube API Services - Developer Policies &nbsp;|&nbsp; Google for Developers"><meta property="og:url" content="https://developers.google.com/youtube/terms/developer-policies"><meta property="og:image" content="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/opengraph/youtube-theme.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "YouTube API Services - Developer Policies" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "YouTube", "item": "https://developers.google.com/youtube" },{ "@type": "ListItem", "position": 2, "name": "YouTube API Services - Developer Policies", "item": "https://developers.google.com/youtube/terms/developer-policies" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="youtube-theme" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="https://developers.google.com/youtube"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="YouTube" src="https://developers.google.com/static/site-assets/logo-youtube.svg" srcset=" /static/site-assets/logo-youtube.svg" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/youtube" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="YouTube" > YouTube </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="YouTube" tenant-name="Google for Developers" project-scope="/youtube" url-scoped="https://developers.google.com/s/results/youtube" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value="" > <div class="devsite-search-image material-icons" aria-hidden="true"> </div> <div class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab > <a href="https://developers.google.com/youtube" track-metadata-eventdetail="https://developers.google.com/youtube" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - home" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" > Home </a> </tab> <tab > <a href="https://developers.google.com/youtube/documentation" track-metadata-eventdetail="https://developers.google.com/youtube/documentation" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab > <a href="https://developers.google.com/youtube/code_samples" track-metadata-eventdetail="https://developers.google.com/youtube/code_samples" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" > Samples </a> </tab> <tab class="devsite-active"> <a href="https://developers.google.com/youtube/terms/api-services-terms-of-service" track-metadata-eventdetail="https://developers.google.com/youtube/terms/api-services-terms-of-service" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - terms" track-metadata-module="primary nav" aria-label="Terms, selected" data-category="Site-Wide Custom Events" data-label="Tab: Terms" track-name="terms" > Terms </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="https://developers.google.com/youtube"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="YouTube" src="https://developers.google.com/static/site-assets/logo-youtube.svg" srcset=" /static/site-assets/logo-youtube.svg" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/youtube" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="YouTube" > YouTube </a> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="/youtube" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Home" track-name="home" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Home" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Home </span> </a> </li> <li class="devsite-nav-item"> <a href="/youtube/documentation" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/youtube/code_samples" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/youtube/terms/api-services-terms-of-service" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Terms" track-name="terms" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Terms" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Terms </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>YouTube API Services Terms of Service</span> </div></li> <li class="devsite-nav-item"><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip></span> </div></li> <li class="devsite-nav-item"><a href="/youtube/terms/api-services-terms-of-service" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/api-services-terms-of-service" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/api-services-terms-of-service" ><span class="devsite-nav-text" tooltip>Terms of Service (Americas)</span></a></li> <li class="devsite-nav-item"><a href="/youtube/terms/api-services-terms-of-service-apac" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/api-services-terms-of-service-apac" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/api-services-terms-of-service-apac" ><span class="devsite-nav-text" tooltip>Terms of Service (APAC)</span></a></li> <li class="devsite-nav-item"><a href="/youtube/terms/api-services-terms-of-service-emea" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/api-services-terms-of-service-emea" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/api-services-terms-of-service-emea" ><span class="devsite-nav-text" tooltip>Terms of Service (EMEA)</span></a></li> <li class="devsite-nav-item"><a href="/youtube/terms/api-services-terms-of-service-ru" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/api-services-terms-of-service-ru" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/api-services-terms-of-service-ru" ><span class="devsite-nav-text" tooltip>Terms of Service (Russia)</span></a></li> <li class="devsite-nav-item"><a href="/youtube/terms/developer-policies" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/developer-policies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/developer-policies" ><span class="devsite-nav-text" tooltip>Developer Policies</span></a></li> <li class="devsite-nav-item"><a href="/youtube/terms/required-minimum-functionality" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/required-minimum-functionality" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/required-minimum-functionality" ><span class="devsite-nav-text" tooltip>Required Minimum Functionality</span></a></li> <li class="devsite-nav-item"><a href="/youtube/terms/subject-api-services" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/subject-api-services" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/subject-api-services" ><span class="devsite-nav-text" tooltip>Subject API Services</span></a></li> <li class="devsite-nav-item"><a href="/youtube/terms/branding-guidelines" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/branding-guidelines" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/branding-guidelines" ><span class="devsite-nav-text" tooltip>Branding Guidelines</span></a></li> <li class="devsite-nav-item"><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip></span> </div></li> <li class="devsite-nav-item"><a href="/youtube/terms/revision-history" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/revision-history" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/revision-history" ><span class="devsite-nav-text" tooltip>Revision History</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"> <span class="devsite-nav-text" tooltip>Guides</span> </div></li> <li class="devsite-nav-item"><a href="/youtube/terms/developer-policies-guide" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /youtube/terms/developer-policies-guide" track-type="bookNav" track-name="click" track-metadata-eventdetail="/youtube/terms/developer-policies-guide" ><span class="devsite-nav-text" tooltip>Complying with the YouTube Developer Policies</span></a></li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav > <devsite-content> <article class="devsite-article"> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" > Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" > Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/youtube" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="YouTube" > YouTube </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/youtube/terms/api-services-terms-of-service" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail="" > Terms </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <h1 class="devsite-page-title" tabindex="-1"> YouTube API Services - Developer Policies </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <style> a.defined-term { color: #777; font-size: 14px; font-weight: bold; } </style> <p class="note"><b>Note:</b> <a href="/youtube/terms/developer-policies-guide">Complying with the YouTube Developer Policies</a> provides guidance and examples to help you ensure that your API clients follow specific portions of the YouTube API Services <a href="/youtube/terms/api-services-terms-of-service">Terms</a> and <a href="/youtube/terms/developer-policies">Policies</a> (API TOS). The guide offers insight into how YouTube enforces certain aspects of the API TOS, but it does not replace any existing documents.</p> <p>This document (the "<b>YouTube API Services Policies</b>" or "<b>Policies</b>") sets out the policies that you need to follow when accessing or using <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> in your service, product, or application. These Policies help you access and use <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> in ways that are consistent with YouTube's interests and that respect and foster the growth of YouTube's community of creators, viewers, content rights holders, and advertisers.</p> <p>In addition to defining policies, this document explains some of the underlying principles that YouTube followed in creating these Policies. It also offers examples that demonstrate how these Policies would apply in practice.</p> <p>Please note that this is a legal document and that these Policies are a component of the <a class="defined-term" href="#definition-agreement">Agreement</a>, so you must comply with them. YouTube reserves the right to change these Policies, and your continued access to, or use of, <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> constitutes your agreement to and acceptance of any such changes. Policy changes, like changes to the YouTube API Services <a class="defined-term" href="#definition-terms-of-service">Terms of Service</a>, will be documented in the <a href="/youtube/terms/revision-history">Terms of Service Revision History</a>, and you can subscribe to the <a href="/static/youtube/terms/feeds/api-services-terms-of-service-revision-history.xml">RSS feed</a> for that revision history to be notified of any such changes.</p> <h2 id="i.-terminology-and-style" data-text="I. Terminology and style" tabindex="-1">I. Terminology and style</h2> <p>This is a legal document that specifies policies about allowed or prohibited actions. As such, it uses certain terms to specifically indicate whether you can or cannot do something. With that in mind, the following terms are used to explain your requirements as related to these Policies:</p> <ol> <li>The terms <b>must</b> and required refer to absolute requirements.</li> <li>The term <b>must not</b> refers to an absolute prohibition.</li> <li>The terms <b>should</b>, <b>should not</b>, <b>recommend</b>, and <b>recommended</b> indicate that the statement describes a general best practice. While these terms suggest certain actions or behaviors, they acknowledge that you might decide to follow a different course based on specific aspects of your use case.</li> <li>The term <b>may</b> indicates that an action is optional and left entirely to your discretion or, depending on the context in which it is used, to YouTube's discretion.</li> </ol> <p>In addition, the <a href="#iv-definitions">Definitions</a> section that concludes this document identifies other terms that have a very specific meaning when used in this document. For your convenience, this document uses a special style for those terms to so that you can easily identify them in context and link to their definitions.</p> <h2 id="ii.-software-development-principles" data-text="II. Software Development Principles" tabindex="-1">II. Software Development Principles</h2> <p>These principles underlie many of the policies in this document. Even though they might not cover every policy, if you violate or your <a class="defined-term" href="#definition-api-client">API Clients</a> violate any of these principles, you are likely also violating the terms of the <a class="defined-term" href="#definition-agreement">Agreement</a>. That said, if local law requires you to do something other than what is stated in these policies -- for example, to store data for a particular length of time -- you should comply with that law.</p> <ol> <li> <p><b>Build high-quality applications and maintain them.</b></p> <p>Build stable, easy-to-use, feature-rich <a class="defined-term" href="#definition-api-client">API Clients</a> that bring significant additional value to the YouTube ecosystem and its users. Promptly update <a class="defined-term" href="#definition-api-client">API Clients</a> as the features offered in <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> change.</p> </li> <li> <p><b>Be honest and transparent.</b></p> <p>This principle applies to all facets of <a class="defined-term" href="#definition-api-client">API Clients</a> and the way that they interact with users as well as with YouTube. In keeping with this principle, be clear about who you are and what your <a class="defined-term" href="#definition-api-client">API Client</a> does. Don't engage in any deceptive activity or messaging related to your identity, your data collection, storage, sharing, use and deletion practices, actions that your <a class="defined-term" href="#definition-api-client">API Client</a> takes on users' behalf, or anything else. Be honest and do not mislead or confuse users in the way you use and present data.</p> </li> <li> <p><b>Give users control.</b></p> <p>Building on the importance of transparency, this principle dictates that users must be aware of and have actively consented to the actions that an <a class="defined-term" href="#definition-api-client">API Client</a> takes on their behalf. It means that users know about and have final authority over any actions the <a class="defined-term" href="#definition-api-client">API Client</a> takes to insert, share, update, or delete their data. It also means that each <a class="defined-term" href="#definition-api-client">API Client</a> must provide a privacy policy that clearly informs users about the information that the <a class="defined-term" href="#definition-api-client">API Client</a> accesses, collects, stores, shares, and otherwise uses.</p> </li> <li> <p><b>Respect users' privacy.</b></p> <p>Make sure that your data collection, storage, use, security, and deletion policies and practices protect users. Don't allow unauthorized access to, or use of, user data. Don't store user data indefinitely, and provide a clear, straightforward process for them to delete data in your possession. Finally, don’t, and do not make attempts to, request, collect, or store users' YouTube login credentials.</p> </li> <li> <p><b>Be a good citizen.</b></p> <p>Don't create <a class="defined-term" href="#definition-api-client">API Clients</a> that encourage or enable people to abuse, threaten, or harass each other. Don't use, distribute, or promote viruses, spyware, malware, or other bad stuff. Don't break the law or encourage or enable others to do so. Hopefully, this is all common sense.</p> </li> </ol> <h2 id="iii.-general-developer-policies" data-text="III. General Developer Policies" tabindex="-1">III. General Developer Policies</h2> <h3 id="a.-api-client-terms-of-use-and-privacy-policies" data-text="A. API Client Terms of Use and Privacy Policies" tabindex="-1">A. API Client Terms of Use and Privacy Policies</h3> <ol> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must display a link to YouTube's Terms of Service (<a href="https://www.youtube.com/t/terms">https://www.youtube.com/t/terms</a>), and they must also state in their own terms of use that, by using those <a class="defined-term" href="#definition-api-client">API Clients</a>, users are agreeing to be bound by the YouTube Terms of Service.</p> </li> <li> <p>Each <a class="defined-term" href="#definition-api-client">API Client</a> must require users to agree to a privacy policy before users can access the <a class="defined-term" href="#definition-api-client">API Client's</a> features and functionality. The privacy policy must:</p> <ol style="list-style-type: lower-alpha"> <li> <p>be prominently displayed and easily accessible to users at all times,</p> </li> <li> <p>notify users that the <a class="defined-term" href="#definition-api-client">API Client</a> uses <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>,</p> </li> <li> <p>reference and link to the Google Privacy Policy at http://www.google.com/policies/privacy,</p> </li> <li> <p>clearly and comprehensively explain to users what user information, including <a class="defined-term" href="#definition-api-data">API Data</a> relating to users, the <a class="defined-term" href="#definition-api-client">API Client</a> accesses, collects, stores and otherwise uses,</p> </li> <li> <p>clearly and comprehensively explain how the <a class="defined-term" href="#definition-api-client">API Client</a> uses, processes, and shares the user information described in section (III.A.2.e), including how the information is shared with either internal or external parties,</p> </li> <li> <p>disclose, if it does so, that the <a class="defined-term" href="#definition-api-client">API Client</a> allows third parties to serve content, including advertisements,</p> </li> <li> <p>disclose, if it does so, that the <a class="defined-term" href="#definition-api-client">API Client</a> stores, accesses or collects (or allows third parties to do so) information directly or indirectly on or from users’ devices, including by placing, accessing or recognizing cookies or similar technology on users' devices or browsers,</p> </li> <li> <p>if the <a class="defined-term" href="#definition-api-client">API Client</a> accesses or uses <a class="defined-term" href="#definition-authorized-data">Authorized Data</a>, explain that, in addition to the <a class="defined-term" href="#definition-api-client">API Client's</a> normal procedure for deleting stored data, users can revoke that <a class="defined-term" href="#definition-api-client">API Client's</a> access to their data via the Google security settings page at <a href="https://security.google.com/settings/security/permissions">https://security.google.com/settings/security/permissions</a>, and</p> </li> <li> <p>if the <a class="defined-term" href="#definition-api-client">API Client</a> uses <a class="defined-term" href="#definition-authorized-data">Authorized Data</a>, explain how users can contact the <a class="defined-term" href="#definition-api-client">API Client</a> owner or developer with questions or complaints about the <a class="defined-term" href="#definition-api-client">Client's</a> privacy practices.</p> </li> </ol> </li> </ol> <h3 id="b.-maintainability-and-deprecation" data-text="B. Maintainability and Deprecation" tabindex="-1">B. Maintainability and Deprecation</h3> <ol> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must use the most recent versions of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>. This means that you must be able to update <a class="defined-term" href="#definition-api-client">API Clients</a> when newer versions of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> are released. Non-website <a class="defined-term" href="#definition-api-client">API Clients</a>, like mobile apps or installed applications, must be capable of being remotely updated to use the most recent versions of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>. You must update your <a class="defined-term" href="#definition-api-client">API Clients</a> to the most recent versions of the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> within a specified time period if required by YouTube from time to time (e.g. for critical updates).</p> </li> <li> <p>When YouTube intends to make backward incompatible changes to the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>, such changes will be documented in the <a href="/youtube/terms/revision-history">Terms of Service Revision History</a>, and you can subscribe to the <a href="/static/youtube/terms/feeds/api-services-terms-of-service-revision-history.xml">RSS feed</a> for that revision history to be notified of any such changes.</p> </li> <li> <p>You must promptly update non-deprecated <a class="defined-term" href="#definition-api-client">API Clients</a> to use newer versions of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> as those versions are released.</p> </li> <li> <p>You must update deprecated versions of your <a class="defined-term" href="#definition-api-client">API Clients</a> to clearly indicate to users that some functions or features of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> might stop working due to the <a class="defined-term" href="#definition-api-client">API Clients'</a> deprecated status.</p> </li> </ol> <h3 id="c.-implementing-youtube-features" data-text="C. Implementing YouTube Features" tabindex="-1">C. Implementing YouTube Features</h3> <ol> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must also comply with the <a href="/youtube/terms/required-minimum-functionality">Requirements for Minimum Functionality for YouTube API Services</a> ("<b>RMF</b>"). In addition, <a class="defined-term" href="#definition-api-client">API Clients</a> must not place any limitations on the YouTube functionality required by the RMF.</p> <p>For example, the RMF states that an <a class="defined-term" href="#definition-api-client">API Client</a> that enables users to upload videos to YouTube must enable those users to set a title for each uploaded video. YouTube's video title field has a maximum length of 100 characters, and an <a class="defined-term" href="#definition-api-client">API Client</a> must not set a shorter maximum length for that field.</p> </li> <li> <p>Any <a class="defined-term" href="#definition-api-client">API Client</a> feature that initiates a user action related to a YouTube resource must be:</p> <p><ol style="list-style-type: lower-alpha"> <li>clearly and unequivocally identifiable as a YouTube action,</li> <li>distinct and not mixed with your <a class="defined-term" href="#definition-api-client">API Client's</a> functionality, and</li> <li>clearly initiated by the user.</li> </ol></p> <p>Examples of YouTube resources include videos, channels, playlists, playlist items, and subscriptions. Examples of actions include playing a video, liking a video, adding a video to a playlist, and subscribing to a channel.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> that perform write operations may suggest parameter or property values, but users must have final control over the data that will be published to <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a>. Similarly, <a class="defined-term" href="#definition-api-client">API Clients</a> must not modify user-provided values before sending them to YouTube by truncating, appending, or otherwise altering those values unless the user has explicitly consented to such changes.</p> <p><a class="defined-term" href="#definition-api-client">API Clients</a> that suggest values for text fields, like video titles or descriptions, must incorporate relevant keywords into those values. For example an <a class="defined-term" href="#definition-api-client">API Client</a> that suggests video titles should not generate the same default titles for all users.</p> <p>These examples illustrate how this policy would apply to an <a class="defined-term" href="#definition-api-client">API Client</a> that uploads videos to YouTube:</p> <ol style="list-style-type: lower-alpha"> <li> <p>The <a class="defined-term" href="#definition-api-client">API Client</a> may suggest a video description or pre-populate the video description. However, it must not add information to the video description after it is submitted by the user and before it is sent without the user's prior consent. For example, the <a class="defined-term" href="#definition-api-client">API Client</a> must not append the recording date, <a class="defined-term" href="#definition-api-client">API Client</a> name, or any other text unless the user has explicitly consented to such changes.</p> </li> <li> <p>An <a class="defined-term" href="#definition-api-client">API Client</a> may provide an option to translate a video title to other languages. However, the <a class="defined-term" href="#definition-api-client">API Client</a> must not add any such translations without the user's consent. In addition, if the <a class="defined-term" href="#definition-api-client">API Client's</a> default behavior is to enable the option to translate the video title, it must clearly present to the user an easy way to disable that behavior.</p> </li> </ol> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must clearly indicate how user-provided data will be used on YouTube.</p> <p>This policy is particularly relevant for <a class="defined-term" href="#definition-api-client">API Clients</a> that interface with multiple services and platforms since there may be functional or labeling differences between those services and platforms.</p> <p>For example, an <a class="defined-term" href="#definition-api-client">API Client</a> enables users to add comments about videos to multiple platforms, including YouTube. Each platform uses a different name to refer to the comment text. So, if the <a class="defined-term" href="#definition-api-client">API Client</a> labels the field "Feedback" in its comment form, it needs to clearly indicate that that value corresponds to the comment text on YouTube.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> that use search functionality provided by <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> must not modify or replace the text, images, information, or other content of, the search results returned by those Services.</p> <p>For example, <a class="defined-term" href="#definition-api-client">API Clients</a> must not merge or intermix results from sources other than YouTube and present them as YouTube search results.</p> </li> <li> <p>An <a class="defined-term" href="#definition-api-client">API Client</a> should not limit or reduce the functionality of a YouTube feature unless that limitation is a core aspect (as described in the examples below) of the <a class="defined-term" href="#definition-api-client">API Client</a> itself and that YouTube feature is not required by the RMF ("<b>Permitted Feature Limitation</b>").</p> <ol style="list-style-type: lower-alpha"> <li> <p><b>Example 1: Permitted Feature Limitation</b></p> <p>The YouTube Data API service allows a video uploader to provide translations of a video's title. Generally speaking, an <a class="defined-term" href="#definition-api-client">API Client</a> that implements this feature should allow uploaders to translate video titles to any language that YouTube supports. However, an <a class="defined-term" href="#definition-api-client">API Client</a> that is specifically designed to teach users to speak French and that offers a range of features specific to French translations might be justified in only offering users the option to upload French translations of video titles.</p> </li> <li> <p><b>Example 2: Non-permitted Feature Limitation</b></p> <p>A second <a class="defined-term" href="#definition-api-client">API Client</a> supports video uploading to YouTube and two other platforms, and all of those platforms allow the uploader to provide translations of the video's title. However, while YouTube supports more than 70 languages, the other two platforms each support half that number, and the three platforms support 25 languages in common. If the <a class="defined-term" href="#definition-api-client">API Client</a> supports only those 25 languages for translation, then that is a non-permitted feature limitation because the limited set of language options is not a core aspect of the <a class="defined-term" href="#definition-api-client">API Client</a>. Instead, the <a class="defined-term" href="#definition-api-client">API Client</a> must offer the full range of languages that YouTube supports.</p> </li> </ol> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> with Permitted Feature Limitations must explain to users why each limitation is in place and make clear that the limitation is not imposed by YouTube. In many, if not all, cases, there are different ways that an <a class="defined-term" href="#definition-api-client">API Client</a> could provide that information, and you should choose an appropriate method for your <a class="defined-term" href="#definition-api-client">API Client</a>. Within this explanation, an <a class="defined-term" href="#definition-api-client">API Client</a> should provide a mechanism for users to access the full feature (such as linking to YouTube Creator Studio or providing an expandable menu within the API Client).</p> <p>In the example 1 above, the <a class="defined-term" href="#definition-api-client">API Client</a> could explain that video uploaders can add translations for other languages in the YouTube Creator Studio and provide a link to that functionality.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> that offer features sourced from multiple services and platforms should offer feature parity to the extent that it exists across those sources, providing user choice. When <a class="defined-term" href="#definition-api-client">API Clients</a> include features that are supported on YouTube and on other platforms, <a class="defined-term" href="#definition-api-client">API Clients</a> must not consistently present YouTube features in a detrimental way (e.g., by only providing those features from other platforms).</p> <p>For example, suppose an <a class="defined-term" href="#definition-api-client">API Client</a> allows users to upload videos to YouTube and three other platforms, and all of those platforms support the ability to upload captions. If the <a class="defined-term" href="#definition-api-client">API Client</a> also supports caption uploading, then it must support that feature for YouTube.</p> </li> </ol> <h3 id="d.-accessing-youtube-api-services" data-text="D. Accessing YouTube API Services" tabindex="-1">D. Accessing YouTube API Services</h3> <ol> <li> <p>API Credentials</p> <p>To access or use some <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>, you must first use the <a href="https://console.cloud.google.com/">Google Developers Console</a> (<a href="https://console.cloud.google.com/">https://console.cloud.google.com/</a>) to create <a class="defined-term" href="#definition-api-credentials">API Credentials</a> for your <a class="defined-term" href=#definition-api-project">API Project</a>. Those credentials enable Google and YouTube to link API activity to a particular <a class="defined-term" href=#definition-api-project">API Project</a> and <a class="defined-term" href="#definition-api-client">API Client</a>.</p> <p>In addition to creating <a class="defined-term" href="#definition-api-credentials">API Credentials</a>, the Developers Console might require you to provide certain other information, such as identification or contact details, before you can access or use the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> associated with those credentials. YouTube reserves the right to require you to provide additional information to continue to access or use <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>.</p> <p>If you need to create <a class="defined-term" href="#definition-api-credentials">API Credentials</a> to access or use a specific YouTube API service, the documentation for that service explains how to create those credentials. For example, the <a href="/youtube/registering_an_application">YouTube Data API service</a>, <a href="/youtube/reporting/guides/registering_an_application">YouTube Reporting API service</a>, <a href="/youtube/reporting/guides/registering_an_application">YouTube Analytics API service</a>, and <a href="/youtube/android/player/register">Android Player API service</a> all document steps for creating <a class="defined-term" href="#definition-api-credentials">API Credentials</a>. Those steps generally differ slightly from one API service to another. For example:</p> <ul> <li> <p>Some services only support authorized API requests, while others support authorized and non-authorized requests.</p> </li> <li> <p>Services often support multiple access scopes. Each scope specifies the resources that an <a class="defined-term" href="#definition-api-client">API Client</a> can retrieve, insert, update, or delete on the user's behalf. Scopes enable <a class="defined-term" href="#definition-api-client">API Clients</a> to only request access to the resources they need, and scopes also enable users to control the amount of access that they grant to those Clients.</p> </li> </ul> <p>The following policies also apply to access and use of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>:</p> <ol style="list-style-type: lower-alpha"> <li> <p>You must not mask or misrepresent your identity or your <a class="defined-term" href="#definition-api-client">API Client's</a> identity when accessing or using <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> or when creating an <a class="defined-term" href=#definition-api-project">API Project</a> or <a class="defined-term" href="#definition-api-credentials">API Credentials</a>.</p> </li> <li> <p>You must only use <a class="defined-term" href="#definition-api-credentials">API Credentials</a> assigned to you and to your <a class="defined-term" href=#definition-api-project">API Project</a> to access <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>. Similarly, you must not use any other means to mask or misrepresent your <a class="defined-term" href="#definition-api-client">API Client's</a> access to, or usage of, <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>.</p> </li> <li> <p>If your <a class="defined-term" href="#definition-api-client">API Client</a> needs to create <a class="defined-term" href="#definition-api-credentials">API Credentials</a> to access or use <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>, you must create exactly one (1) <a class="defined-term" href=#definition-api-project">API Project</a> for that <a class="defined-term" href="#definition-api-client">API Client</a>. Those <a class="defined-term" href="#definition-api-credentials">API Credentials</a> are intended to be used exclusively by the associated API Client, which means that you must not use that one (1) <a class="defined-term" href=#definition-api-project">API Project</a> for multiple <a class="defined-term" href="#definition-api-client">API Clients</a>.</p> </li> <li> <p>You may share your <a class="defined-term" href="#definition-api-credentials">API Credentials</a> with agents operating solely on your behalf and under a written duty of confidentiality. However, you must not share or disclose your <a class="defined-term" href="#definition-api-credentials">API Credentials</a> to any other third party, allow access to or use of your <a class="defined-term" href="#definition-api-credentials">API Credentials</a> by any other third party, or embed your <a class="defined-term" href="#definition-api-credentials">API Credentials</a> in open source projects.</p> </li> </ol> </li> <li> <p>User Authentication and Authorization</p> <p>Authentication and authorization refer to the process by which users identify themselves and consent to allow an <a class="defined-term" href="#definition-api-client">API Client</a> to access certain user-specific data. Some <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> do not support access to user-specific data and therefore, do not require any authorization, others require authorization for some requests or data, and still others require authorization for all requests. For example:</p> <p><ul> <li>The YouTube IFrame Player API service, which lets you embed videos in a website, does not require authorization just as users do not need to log in to the YouTube website to watch a video.</li> <li>The YouTube Data API service requires authorization for some actions. For example, an <a class="defined-term" href="#definition-api-client">API Client</a> can search for public videos but does not need user authorization to do so. However, an <a class="defined-term" href="#definition-api-client">API Client</a> does need user authorization to upload a video to the user's YouTube channel.</li> <li>The YouTube Analytics API service and YouTube Reporting API service require authorization for all actions.</li> </ul></p> <ol style="list-style-type: lower-alpha"> <li> <p>Authentication</p> <ol style="list-style-type: lower-roman"> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must not (and must not attempt to) obtain, proxy, request, collect, modify, cache, store, or use any information that the user provides or that YouTube displays to the user during authentication processes, including YouTube user account login credentials like usernames and passwords.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must obtain user consent in accordance with the applicable laws and only request access to authorization scopes that they currently use. The access that an <a class="defined-term" href="#definition-api-client">API Client</a> requests should have a direct and transparent benefit to users of that Client. Do not try to future-proof your access to data by asking for permissions that would enable features that you have not yet built.</p> <p>For example, the YouTube Data API service supports one authorization scope that grants access to read data and another that grants access to read and write data. If a user granted an <a class="defined-term" href="#definition-api-client">API Client</a> access to the first scope, that <a class="defined-term" href="#definition-api-client">API Client</a> would be able to retrieve information about the current user's YouTube channel. However, if a user granted the <a class="defined-term" href="#definition-api-client">API Client</a> access to the second scope, the <a class="defined-term" href="#definition-api-client">API Client</a> could also upload a video to that channel.</p> <p>In this scenario, an <a class="defined-term" href="#definition-api-client">API Client</a> that does not support YouTube uploads (or other write-based actions) only needs to request access to the first authorization scope, which is more limited in the privileges it grants. Even if the <a class="defined-term" href="#definition-api-client">API Client's</a> developer plans to eventually introduce support for write-based actions, the developer cannot future-proof the <a class="defined-term" href="#definition-api-client">API Client</a> by requesting access to the authorization scope for writing data before the <a class="defined-term" href="#definition-api-client">Client</a> actually supports features that require that scope.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> should request access to authorization scopes in context whenever possible. By requesting access to user data in context, via incremental authorization, an <a class="defined-term" href="#definition-api-client">API Client</a> enables users to more easily understand why it needs access to that data.</p> </li> </ol> </li> <li> <p>API Client Identification and Representation</p> <ol style="list-style-type: lower-roman"> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must clearly and accurately identify to the user the entity or product that is requesting access to user data and the reason for requesting that access;</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must not mislead users when requesting access to data so that users can make an informed decision about whether to grant access to those Clients. Users should be able to readily understand both the value of providing the data that an <a class="defined-term" href="#definition-api-client">API Client</a> requests access to and the consequences of sharing that data.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must clearly and comprehensively identify to users the purposes for which they access and use user data. <a class="defined-term" href="#definition-api-client">API Clients</a> must not use user data for secondary purposes that are not clearly disclosed to users.</p> <p>Users should not be surprised to learn that an <a class="defined-term" href="#definition-api-client">API Client</a> contains hidden features, services, or actions that are inconsistent with the <a class="defined-term" href="#definition-api-client">Client's</a> marketed purposes.</p> </li> </ol> </li> <li> <p>Revocation</p> <ol style="list-style-type: lower-roman"> <li> <p>Every <a class="defined-term" href="#definition-api-client">API Client</a> must provide a clearly explained and easy way for users to revoke any authorization consent they have provided to an <a class="defined-term" href="#definition-api-client">API Client</a> to access <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>. <p>When a user revokes consent through this mechanism, the <a class="defined-term" href="#definition-api-client">API Client</a> must programmatically revoke that token right away to communicate the change in permissions to Google. For example, an <a class="defined-term" href="#definition-api-client">API Client</a> could use a Google API Client Library to revoke the token. <p>In addition, following revocation of consent through this mechanism, you and your <a class="defined-term" href="#definition-api-client">API Clients</a> must delete all <a class="defined-term" href="#definition-authorized-data">Authorized Data</a> that was accessed or stored pursuant to that consent. That deletion should happen as soon as possible and must take place within 7 calendar days of the revocation. </li> <li> <p>As noted in section (III.A.2.i), every <a class="defined-term" href="#definition-api-client">API Client</a> must include in its Privacy Policy a link to Google's security settings page (<a href="https://security.google.com/settings/security/permissions">https://security.google.com/settings/security/permissions</a>). When a user revokes consent through that page, you and your <a class="defined-term" href="#definition-api-client">API Clients</a> must also delete all <a class="defined-term" href="#definition-api-data">API Data</a> related to that user that was accessed or stored pursuant to such consent. To comply with this policy, your <a class="defined-term" href="#definition-api-client">API Clients</a> will need to periodically reconfirm that its authorization tokens are still valid and delete <a class="defined-term" href="#definition-api-data">API Data</a> associated with users whose authorization tokens cannot be refreshed. <p>Based on the requirements defined in section (III.E.4) regarding stored data, all such deletions should happen as soon as possible and must take place within 30 calendar days of that revocation. </li> </ol> </li> </ol> </li> <li> <p>Usage and Quotas</p> <p>YouTube may use quotas and place use restrictions to ensure that <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> are accessed and used as intended and that you and your <a class="defined-term" href="#definition-api-client">API Clients</a> do not reduce service quality or limit access for others.</p> <p>If your <a class="defined-term" href="#definition-api-client">API Client</a> reaches the quota limit for a service, you can apply for a quota extension by completing an <a href="https://support.google.com/youtube/contact/yt_api_form">API Compliance Audit</a> where you must specify the use case for which you need the extension. If you have been audited in the past 12 months and have been marked compliant by YouTube API Services team, you can apply for an <a href="https://support.google.com/youtube/contact/yt_api_audited_developer_requests_form">additional quota extension</a>.</p> <p>If YouTube approves the application, you must use the additional quota granted only for the approved use case. If your <a class="defined-term" href="#definition-api-client">API Client's</a> use case changes, to use any allocated quota for the new use case, you must notify YouTube of the change by resubmitting an <a href="https://support.google.com/youtube/contact/yt_api_form">API Compliance Audit</a> and receive approval for the application.</p> <p>If YouTube rejects the application, you can <a href="https://support.google.com/youtube/contact/yt_api_appeals">file an appeal</a>.</p> </li> <li> <p>Inactivity</p> <p>YouTube reserves the right to disable or curtail your access to, or use of, specific <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> if your <a class="defined-term" href=#definition-api-project">API Project</a> has been inactive for 90 consecutive days. For example, YouTube could revoke your <a class="defined-term" href="#definition-api-credentials">API Credentials</a>, or reduce (or eliminate) your <a class="defined-term" href=#definition-api-project">API Project's</a> quotas for specific <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>. If your <a class="defined-term" href="#definition-api-client">API Client's</a> quota is reduced or eliminated, you may reapply for quota or a quota extension, and YouTube will review that application based on YouTube’s determination of your expected use of the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>.</p> </li> <li> <p>Contact Information</p> <p>YouTube’s primary means of contacting you about your <a class="defined-term" href=#definition-api-project">API Project</a> or <a class="defined-term" href="#definition-api-client">API Client</a> is the email address that is associated with the Google Account that you use to log in to the Google Developers Console. You must comply to any communication that YouTube sends you regarding compliance issues relating to your <a class="defined-term" href="#definition-api-client">API Clients</a>.</p> <p>If users of your <a class="defined-term" href="#definition-api-client">API Client</a> have questions about your privacy practices, and you do not have a contact address in your <a class="defined-term" href="#definition-api-client">API Client's</a> privacy policy as discussed in section (A.2.i), YouTube may share your primary email address with those users.</p> </li> <li> <p>Prohibited Access</p> <p>You are prohibited from accessing or attempting to access <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> via any means if your <a class="defined-term" href="#definition-api-credentials">API Credentials</a> are suspended, revoked, or terminated, or if the Google Account you used to create those credentials is suspended or terminated, for any reason. In that case, you must not access or attempt to access <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> via any means, including by creating or using a proxy to create new Google Accounts, <a class="defined-term" href="#definition-api-credentials">API Credentials</a> or <a class="defined-term" href="#definition-api-project">API Projects</a>.</p> </li> <li> <p>Undocumented Services</p> <p>You must not use undocumented APIs without express permission. You must access data from YouTube API services only according to the means stipulated in the authorized documentation of that YouTube API service.</p> <p>You must not reverse engineer undocumented YouTube API services or otherwise attempt to derive the underlying source code of these API services.</p> </li> </ol> <h3 id="e.-handling-youtube-data-and-content" data-text="E. Handling YouTube Data and Content" tabindex="-1">E. Handling YouTube Data and Content</h3> <p>Aside from the permissions and rights granted in this section, you and your <a class="defined-term" href="#definition-api-client">API Clients</a> have no further permissions or rights to <a class="defined-term" href="#definition-api-data">API Data</a>, including to temporarily stored <a class="defined-term" href="#definition-api-data">API Data</a>.</p> <ol> <li> <p>Audiovisual Content</p> <p>You and your <a class="defined-term" href="#definition-api-client">API Clients</a> must not, and must not encourage, enable, or require others to:</p> <ol style="list-style-type: lower-alpha"> <li>download, import, backup, cache, or store copies of YouTube audiovisual content without YouTube's prior written approval,</li> <li>make content available for offline playback, or</li> <li>use any aspect of the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> to facilitate or promote copyright infringement or the exploitation of copyright-infringing materials.</li> </ol> </li> <li> <p>Data Aggregation</p> <ol style="list-style-type: lower-alpha"> <li> <p>Do not aggregate <a class="defined-term" href="#definition-api-data">API Data</a> except that you may only aggregate <a class="defined-term" href="#definition-api-data">API Data</a> relating to YouTube channels that are under the same content owner as recognized by YouTube pursuant to content licensing agreement(s) between YouTube and such content owner. Such aggregated <a class="defined-term" href="#definition-api-data">API Data</a> must only be viewable by that content owner.</p> </li> <li> <p>Do not aggregate <a class="defined-term" href="#definition-api-data">API Data</a> or otherwise use <a class="defined-term" href="#definition-api-data">API Data</a> or <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> to gain insights into YouTube's usage, revenue, or any other aspects of YouTube's business.</p> <p>For example, suppose that two different content owners recognized by YouTube have each authorized an <a class="defined-term" href="#definition-api-client">API Client</a> to retrieve <a class="defined-term" href="#definition-api-data">API Data</a> on their behalf for their respective viewing. That <a class="defined-term" href="#definition-api-client">API Client</a> may separately aggregate <a class="defined-term" href="#definition-api-data">API Data</a> retrieved for each content owner's channels provided that such aggregation per content owner does not provide insights into YouTube’s usage, revenue or any other aspects of YouTube’s business. The <a class="defined-term" href="#definition-api-client">API Client</a> must not combine <a class="defined-term" href="#definition-api-data">API Data</a> from the different content owners.</p> </li> </ol> </li> <li> <p>Authorized Data Usage</p> <p>These policies relate to your use of <a class="defined-term" href="#definition-authorized-data">Authorized Data</a>. They are relevant for any <a class="defined-term" href="#definition-api-client">API Client</a> that writes data via an API request or retrieves data that can only be accessed via a properly authorized API request. For example, these policies apply to any <a class="defined-term" href="#definition-api-client">API Client</a> that enables a user to upload videos, retrieve the user's list of uploaded videos, create playlists, or comment on videos.</p> <ol style="list-style-type: lower-alpha"> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must be honest and transparent about the types of user data and the purposes for which they collect, store, delete, share, safeguard, and otherwise use that data.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must not display or allow access to <a class="defined-term" href="#definition-authorized-data">Authorized Data</a> to anyone other than the authorizing user or agents expressly approved by that user.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must only access, collect and use <a class="defined-term" href="#definition-authorized-data">Authorized Data</a> in accordance with the scope of its privacy policy and user consent obtained in accordance with Section 2.</p> <p>This means that an <a class="defined-term" href="#definition-api-client">API Client</a> must prompt users to re-accept its privacy policy if the <a class="defined-term" href="#definition-api-client">Client</a> starts to access, collect, or use <a class="defined-term" href="#definition-api-data">API Data</a> in a way or for purposes that were not covered in the privacy policy that the user originally accepted.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must clearly identify any actions that they take to insert, share, update, or delete data or content on the authorizing user's behalf. In addition, the user must expressly consent to those actions prior to their actual execution.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must clearly identify the YouTube channel or content owner that is associated with any request that requires user authorization.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must clearly identify any content visibility settings that will be set or modified by any authorized user action. In addition, <a class="defined-term" href="#definition-api-client">API Clients</a> must not modify existing content visibility settings unless the authorizing user has expressly instructed the <a class="defined-term" href="#definition-api-client">API Clients</a> to do so.</p> <p>For example, in the YouTube Data API service, a video's privacy status can be set to <code translate="no" dir="ltr">public</code>, <code translate="no" dir="ltr">private</code>, or <code translate="no" dir="ltr">unlisted</code>. If an <a class="defined-term" href="#definition-api-client">API Client</a> supports video uploads, the <a class="defined-term" href="#definition-api-client">Client</a> must clearly display an option for the user to choose one of those values. Similarly, if an <a class="defined-term" href="#definition-api-client">API Client</a> supports edits to a video's metadata, the <a class="defined-term" href="#definition-api-client">API Client</a> cannot change a video's privacy status without the user's express consent.</p> </li> </ol> </li> <li> <p>Refreshing, Storing, and Displaying API Data</p> <p>Developers often need to balance the benefits of storing or caching data, such as improved performance or resource usage, with the desire to always retrieve the freshest data, which provides the best user experience possible. With that in mind, the following policies explain your requirements as well as your options in terms of storing, updating, and displaying YouTube <a class="defined-term" href="#definition-api-data">API Data</a>.</p> <ol style="list-style-type: lower-alpha"> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> may store authorization tokens for as long as is necessary provided that those tokens are used only for purposes consistent with the specific consent granted by an active user according to the applicable law.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> may store the following types of <a class="defined-term" href="#definition-authorized-data">Authorized Data</a> for as long as is necessary provided that the data is used for purposes consistent with the specific consent granted by an active user according to the applicable laws:</p> <p><ol style="list-style-type: lower-roman"> <li>data retrieved through the YouTube Analytics API service,</li> <li>data provided through the YouTube Reporting API service, or</li> <li>statistics provided through other YouTube API services, such as the number of views for a video, the number of channels for a subscriber, or the number of videos in a playlist. (All of those statistics can be retrieved via the YouTube Data API service.)</li> </ol></p> <p>Note that even though an <a class="defined-term" href="#definition-api-client">API Client</a> may store this data for more than 30 days, the <a class="defined-term" href="#definition-api-client">Client</a> must still ensure every 30 days that it is still authorized by the user to access that data.</p> <p>For example, an <a class="defined-term" href="#definition-api-client">API Client</a> may store view counts for a video for more than 30 days, but it must still verify every 30 days that its authorization to access the video uploader's data has not been revoked. The <a class="defined-term" href="#definition-api-client">API Client</a> must also verify, every 30 days, that the video has not been deleted.</p> <p>To be clear, an <a class="defined-term" href="#definition-api-client">API Client</a> must not store statistics retrieved as <a class="defined-term" href="#definition-non-authorized-data">Non-Authorized Data</a> for more than 30 days. For example, an <a class="defined-term" href="#definition-api-client">API Client</a> must not store the subscriber count for a YouTube channel for more than 30 days without authorization from the channel owner.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> may store all other types of <a class="defined-term" href="#definition-authorized-data">Authorized Data</a> not identified in section (III.E.4.b) for as long as is necessary for the purposes of the specific consent granted by an active user and for no longer than 30 calendar days. After 30 calendar days, the <a class="defined-term" href="#definition-api-client">API Client</a> must either delete or refresh the stored data.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> may temporarily store limited amounts of <a class="defined-term" href="#definition-non-authorized-data">Non-Authorized Data</a> for as long as is necessary for the purposes of the <a class="defined-term" href="#definition-api-client">API Client</a> but not longer than 30 calendar days. As in section (III.E.4.c) immediately above, this means that after 30 calendar days, the <a class="defined-term" href="#definition-api-client">API Client</a> must either delete or refresh the stored data.</p> </li> <li> <p>In all cases, <a class="defined-term" href="#definition-api-client">API Clients</a> must use reasonable efforts to ensure that their stored <a class="defined-term" href="#definition-api-data">API Data</a> is consistent with the current data available through <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>. For example, <a class="defined-term" href="#definition-api-client">API Clients</a> should reflect metadata changes and viewcount updates as quickly as possible.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must display the most updated <a class="defined-term" href="#definition-api-data">API Data</a> available in their user-facing presentations, including in user interfaces, although <a class="defined-term" href="#definition-api-client">API Clients</a> may display historical <a class="defined-term" href="#definition-api-data">API Data</a> provided that it is presented accurately in context of time.</p> </li> <li> <p>Your <a class="defined-term" href="#definition-api-client">API Clients</a> that access or use user data must provide a way for a user to request that you delete stored data related to that user. For example, your <a class="defined-term" href="#definition-api-client">API Client</a> could display a button to delete stored data. If the user indicates that you should delete that data, you must then delete it as soon as possible and within 7 calendar days.</p> <p>The method for deleting stored data must make clear that deleting the data stored by the <a class="defined-term" href="#definition-api-client">API Client</a> does not, in any way, affect data stored by YouTube and that to delete data on YouTube, the user needs to use a YouTube Application or an authorized <a class="defined-term" href="#definition-api-client">API Client</a> that supports the ability to delete that data.</p> <p>Similarly, <a class="defined-term" href="#definition-api-client">API Clients</a> must respect any other means by which a user expresses an intent to prevent those Clients from accessing user data related to that user. For example, if a user deletes his account from your API Client, you must also delete any user data you have stored related to that user as soon as possible and within 7 calendar days.</p> </li> <li> <p>Your <a class="defined-term" href="#definition-api-client">API Clients</a> must not (i) replace <a class="defined-term" href="#definition-api-data">API Data</a> with similar, independently calculated data, or (ii) access or use <a class="defined-term" href="#definition-api-data">API Data</a> to create new or derived data or metrics.  To the extent your <a class="defined-term" href="#definition-api-client">API Clients</a> display any information, data or metrics not based on <a class="defined-term" href="#definition-api-data">API Data</a> alongside <a class="defined-term" href="#definition-api-data">API Data</a>, your <a class="defined-term" href="#definition-api-client">API Clients</a> must include a clear and prominent disclosure there that such information, data and metrics are not from YouTube and are part of your own product.</p> <p>For example, when displaying the number of likes for a video, your <a class="defined-term" href="#definition-api-client">API Client</a> must use the number returned in the <a class="defined-term" href="#definition-api-data">API Data</a>. You must not substitute a different number to represent likes, such as the number of users of your <a class="defined-term" href="#definition-api-client">API Client</a> that liked the video. Similarly, you are not permitted to use the number of likes returned in the <a class="defined-term" href="#definition-api-data">API Data</a> to calculate other metrics, such as the percentage of total likes that were made through your <a class="defined-term" href="#definition-api-client">API Client</a> or a score that factors in likes, total views, or any other <a class="defined-term" href="#definition-api-data">API Data</a>. However, you are permitted, for example, to display the number of likes that were made through your <a class="defined-term" href="#definition-api-client">API Client</a> as long as that number is displayed alongside the total likes returned in the <a class="defined-term" href="#definition-api-data">API Data</a> and as long as your <a class="defined-term" href="#definition-api-client">API Client</a> clearly communicates that the <a class="defined-term" href="#definition-api-client">API Client</a> calculates the additional metric independently of YouTube <a class="defined-term" href="#definition-api-data">API Data</a>.</p> </li> <li id="III-E-4-i"> <p>When your <a class="defined-term" href="#definition-api-client">API Client</a> loads, it collects and shares some basic user data with YouTube via the YouTube embedded player to render the video thumbnail and title, determine playability and content restrictions, and for fraud and abuse reasons. Additional data is collected and shared by your <a class="defined-term" href="#definition-api-client">API Client</a> upon video playback to customize the player on your <a class="defined-term" href="#definition-api-client">API Client</a> and third party sites and apps. Remember that if you enable Autoplay, playback will occur without any user interaction with the player; playback data collection and sharing will therefore occur upon page load. You can limit the data shared with YouTube before a user interacts with the YouTube embedded player by setting Autoplay to <code translate="no" dir="ltr">false</code>. As noted in the <a href="/youtube/terms/api-services-terms-of-service">YouTube API Services Terms of Service</a>, you and your <a class="defined-term" href="#definition-api-client">API Clients</a> must comply with all applicable laws, rules, and regulations, including privacy laws and regulations.</p> </li> <li id="III-E-4-j"> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must look up the Made For Kids status of each YouTube video that it embeds on its site or app by following the instructions in <a href="/youtube/v3/guides/made_for_kids_status">this guide</a>. For each video that is designated Made For Kids, <a class="defined-term" href="#definition-api-client">API Clients</a> must turn off tracking and make sure that all data collection with respect to that player is compliant with applicable law(s) including the U.S. Children's Online Privacy (COPPA) and E.U. General Data Protection Regulation (GDPR)). See the <a href="https://support.google.com/youtube/answer/9528076">YouTube Help Center</a> for more information on determining content as Made for Kids.</p> </li> </ol> </li> <li> <p>Security</p> <p>You and your <a class="defined-term" href="#definition-api-client">API Client</a> must:</p> <ol style="list-style-type: lower-alpha"> <li>maintain appropriate administrative, organisational, technical, and physical controls to ensure the privacy, security, and confidentiality of user data and <a class="defined-term" href="#definition-api-data">API Data</a>;</li> <li>use only industry-standard transport encryption;</li> <li>protect <a class="defined-term" href="#definition-api-data">API Data</a> and any other data used in your <a class="defined-term" href="#definition-api-client">API Client</a> from unauthorized access, use, or disclosure.</li> </ol> </li> <li> <p>Scraping</li> <p>You and your <a class="defined-term" href="#definition-api-client">API Clients</a> must not, and must not encourage, enable, or require others to, directly or indirectly, scrape <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a> or <a class="defined-term" href="#definition-google-applications">Google Applications</a>, or obtain scraped YouTube data or content. Public search engines may scrape data only in accordance with YouTube's robots.txt file or with YouTube's prior written permission.</p> </li> </ol> <h3 id="f.-user-experience" data-text="F. User Experience" tabindex="-1">F. User Experience</h3> <ol> <li> <p>YouTube Look and Feel</p> <p>Innovative user experiences and user interface designs are among the most valuable contributions that <a class="defined-term" href="#definition-api-client">API Clients</a> can provide to the YouTube community. That said, YouTube's designers and engineers put a lot of thought into designing <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a> to ensure that those Applications provide a great user experience.</p> <p>Taking both of those points into account, your <a class="defined-term" href="#definition-api-client">API Clients</a> must not change or interfere with user interfaces in <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a> unless you have obtained YouTube's prior written approval. You can request that approval at <a href="https://support.google.com/youtube/contact/yt_api_form">this form</a>.</p> </li> <li> <p>Branding</p> <ol style="list-style-type: lower-alpha"> <li> <p>Any <a class="defined-term" href="#definition-api-client">API Client</a> page or feature that displays YouTube content – including, without limitation, search results, YouTube videos, channels, playlists, thumbnails, and YouTube players – must make clear to the viewer that YouTube is the source of the relevant content by displaying <a class="defined-term" href="#definition-youtube-brand-features">YouTube Brand Features</a> in accordance with the requirements below and the YouTube Branding Guidelines (<a href="/youtube/terms/branding-guidelines">https://developers.google.com/youtube/terms/branding-guidelines</a>).</p> <p>In some cases, an <a class="defined-term" href="#definition-api-client">API Client</a> might need to display <a class="defined-term" href="#definition-youtube-brand-features">YouTube Brand Features</a> next to multiple individual content elements to make the attribution clear to the viewer. For example, an <a class="defined-term" href="#definition-api-client">API Client</a> that displays search results from YouTube and from other sources on the same page needs to clearly identify YouTube as the source of only the search results from YouTube, including text, images, and other information pertaining to YouTube search results. The <a class="defined-term" href="#definition-api-client">API Client</a> cannot provide one general set of attribution for all search results from various sources.</p> </li> <li> <p>Content that does not originate from YouTube must not be shown in a way that suggests that the content is originating from YouTube or in a way that can cause confusion as to the origin of that content.</p> </li> <li> <p>You and your <a class="defined-term" href="#definition-api-client">API Clients</a> must not, and must not encourage, enable or require others to, directly or indirectly, interfere with or obscure any attribution provided by YouTube, including attribution provided via or shown in embedded YouTube players. Your <a class="defined-term" href="#definition-api-client">API Clients</a> must display applicable <a class="defined-term" href="#definition-youtube-brand-features">YouTube Brand Features</a> and any other YouTube-provided attribution on all types of devices.</p> </li> </ol> </li> <li> <p>Playback Integrity</p> <p>Playback integrity refers to the ability to determine and measure how content and ads are served, how video playback is initiated and implemented, and how users interact with YouTube features in your <a class="defined-term" href="#definition-api-client">API Client</a>. Playback integrity is critical to the YouTube platform, as it helps protect creators' interests, including their ability to monetize their content and develop their audience.</p> <p>YouTube believes that playback integrity is contingent on a user choosing to watch a video, and <a class="defined-term" href="#definition-api-client">API Clients</a> are prohibited from providing incentives for watching videos as follows:</p> <ol style="list-style-type: lower-alpha"> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must not charge users to watch content in an embedded YouTube player.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must not otherwise gate access to a video by requiring a user to take an action other than clicking the play button to view or continue playing YouTube audiovisual content. For example, <a class="defined-term" href="#definition-api-client">API Clients</a> must not require a user to subscribe to a channel or like a video to continue watching YouTube audiovisual content.</p> <p>For clarity, if your <a class="defined-term" href="#definition-api-client">API Client's</a> normal functionality requires a certain action that is not specific to <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>, such as login or age verification, that functionality is allowed.</p> </li> <li> <p><a class="defined-term" href="#definition-api-client">API Clients</a> must not offer or provide incentives, rewards, or other compensation to users for engaging with <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a> (directly or indirectly) by performing actions like viewing content, liking content, sharing content, subscribing to channels, adding comments. For example, <a class="defined-term" href="#definition-api-client">API Clients</a> must not offer features or services that trade video views for a fee or that trade video views in return for other YouTube-related or non-YouTube-related actions.</p> </li> </ol> </li> </ol> <h3 id="g.-distribution-and-commercial-use" data-text="G. Distribution and Commercial Use" tabindex="-1">G. Distribution and Commercial Use</h3> <p>You may distribute or sell <a class="defined-term" href="#definition-api-client">API Clients</a> subject to the restrictions defined in the "Prohibited Actions" subsection below and, of course, to the other terms of the <a class="defined-term" href="#definition-agreement">Agreement</a>.</p> <p>In addition, you may distribute and display YouTube audiovisual content and accompanying metadata to users through your <a class="defined-term" href="#definition-api-client">API Clients</a> as long as those Clients comply with the <a class="defined-term" href="#definition-agreement">Agreement</a> and, specifically, do not engage in any of the prohibited actions listed immediately below.</p> <ol> <li> <p>Prohibited Actions</p> <p>For specific policies in the following list that require YouTube's prior written approval, you can request that approval at <a href="https://support.google.com/youtube/contact/yt_api_form">this form</a>.</p> <p>You and your <a class="defined-term" href="#definition-api-client">API Clients</a> must not, and must not encourage, enable, or require others to:</p> <ol style="list-style-type: lower-alpha"> <li> <p> sell, purchase, lease, lend, convey, redistribute, or sublicense all or any portion of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>, including YouTube audiovisual content;</p> </li> <li> <p>sell <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> or access to any components of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> unless you obtain YouTube's prior written approval;</p> </li> <li> <p>sell advertising, sponsorships, or promotions that are placed on or within YouTube audiovisual content or the YouTube player without YouTube's prior written approval; or</p> </li> <li> <p>sell advertising, sponsorships, or promotions on any page or screen that contains <a class="defined-term" href="#definition-api-data">YouTube API Data</a> unless other data, content, or material not obtained from YouTube appears on the same page and offers enough independent value to justify such sales if the <a class="defined-term" href="#definition-api-data">YouTube API Data</a> were removed.</p> </li> </ol> </li> <li> <p>Permitted Actions</p> <p>All of the following commercial use cases are permitted subject to your and Your <a class="defined-term" href="#definition-api-client">API Clients</a>’ compliance with all other terms of the <a class="defined-term" href="#definition-agreement">Agreement</a>, including the prohibited actions detailed in the previous section:</p> <ol style="list-style-type: lower-alpha"> <li> <p>Selling an API Client;</p> </li> <li> <p>Promoting your own business or artistic enterprise by uploading original audiovisual content to YouTube or maintaining channel(s) on YouTube;</p> </li> <li> <p>Developing ad-enabled <a class="defined-term" href="#definition-api-client">API Clients</a>, such as an ad-enabled blog or website, that use <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> subject to compliance with all other terms of the Agreement, including the restrictions in section III.G.1.d;</p> </li> <li> <p>Placing your own branding in an <a class="defined-term" href="#definition-api-client">API Client</a> as long as that branding complies with the <a href="/youtube/terms/branding-guidelines">YouTube Branding Guidelines</a> and does not interfere with YouTube audiovisual content playback or any <a class="defined-term" href="#definition-youtube-brand-features">YouTube Brand Features</a>;</p> </li> <li> <p>Selling or distributing devices that contain or run an API Client;</p> </li> </ol> </li> </ol> <h3 id="h.-monitoring-and-audits" data-text="H. Monitoring and Audits" tabindex="-1">H. Monitoring and Audits</h3> <p>YouTube reserves the right to survey, monitor, and/or audit your access to or use of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> to ensure quality, to improve YouTube products and services, and to verify your compliance with the <a class="defined-term" href="#definition-agreement">Agreement</a>. To that end, YouTube may survey users of your <a class="defined-term" href="#definition-api-client">API Clients</a>.</p> <p>You and those acting on your behalf must:</p> <ol> <li>not interfere with such surveys, monitoring efforts, or audits;</li> <li>not obscure or conceal from YouTube your access to or use of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>; and</li> <li>upon request, and within the timeframe stated in that request, provide YouTube with account(s) necessary to access all features or functions of the current, in-production version(s) of your <a class="defined-term" href="#definition-api-client">API Clients</a>, so that YouTube may review those <a class="defined-term" href="#definition-api-client">API Clients</a> for compliance with the <a class="defined-term" href="#definition-agreement">Agreement</a>.</li> </ol> <p>YouTube may use any technical means to overcome non-compliance with these provisions.</p> <h3 id="i.-additional-prohibitions" data-text="I. Additional Prohibitions" tabindex="-1">I. Additional Prohibitions</h3> <p>The policies in this section identify additional things that <a class="defined-term" href="#definition-api-client">API Clients</a> must not do. Actions contrary to these policies would be harmful to YouTube, to the YouTube community as a whole, or to individuals or groups of individuals within that community. These policies focus on the need for you and your <a class="defined-term" href="#definition-api-client">API Clients</a> to treat members of the YouTube community honestly and respectfully as well as on your need to respect the integrity of YouTube's services, content, and interests.</p> <p>You and your <a class="defined-term" href="#definition-api-client">API Clients</a> must not, and must not encourage, enable, or require others to:</p> <ol> <li> <p>use <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> to create, offer, or act as a substitute for, or substantially similar service to, any <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a>. <a class="defined-term" href="#definition-api-client">API Clients</a> must not mimic or replicate YouTube's core user experiences by recreating features or process flows unless they add significant independent value or functionality that improves users' interactions with YouTube. For example, an <a class="defined-term" href="#definition-api-client">API Client</a> must not recreate the browse experience from any YouTube Application without adding significant independent value to that flow.</p> </li> <li> <p>misuse <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> or engage in abusive behaviors related to those Services. For example, you must not automate or trigger views, uploads, comments, likes, dislikes, or other actions without the user's prior specific and express consent;</p> </li> <li> <p>interfere, or attempt to interfere, in any way with the proper workings of any aspect of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>, <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a>, or <a class="defined-term" href="#definition-google-applications">Google Applications</a>, including interference or disruption of the servers or networks that provide those Services or Applications;</p> </li> <li> <p>modify, interfere with, replace, or otherwise disable any functionality, data, or content made available as part of, or in connection with, <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>. For example, you must not remove, obscure, alter, or disable any links that appear in YouTube players or in <a class="defined-term" href="#definition-api-data">API Data</a>.</p> </li> <li> <p>modify, interfere with, replace, or block advertisements placed or served by YouTube or by <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> including in <a class="defined-term" href="#definition-api-data">API Data</a>, YouTube audiovisual content, or YouTube players;</p> </li> <li> <p>modify, build upon, or block any portion or functionality of a YouTube player;</p> </li> <li> <p>separate, isolate, or modify the audio or video components of any YouTube audiovisual content made available as part of, or in connection with, <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>. For example, you must not apply alternate audio tracks to videos;</p> </li> <li> <p>promote separately the audio or video components of any YouTube audiovisual content made available as part of, or in connection with, the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>;</p> </li> <li> <p>create, include, or promote features that play content, including audio or video components, from a background player, meaning a player that is not displayed in the page, tab, or screen that the user is viewing;</p> </li> <li> <p>adversely affect the functionality or performance of any aspect of <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>, <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a>, or <a class="defined-term" href="#definition-google-applications">Google Applications</a>, including actions that interfere with or disrupt <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> or the servers or networks that provide those Services;</p> </li> <li> <p>confuse, deceive, defraud, mislead, misrepresent, defame, abuse, stalk, threaten, spam, surprise, or harass anyone;</p> </li> <li> <p>introduce, or attempt to introduce, any viruses, worms, defects, Trojan horses, malware, spyware, adware, or other items of a destructive nature to <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>, <a class="defined-term" href="#definition-youtube-applications">YouTube Applications</a>, <a class="defined-term" href="#definition-google-applications">Google Applications</a>, or YouTube users and the devices they use to access those services and properties;</p> </li> <li> <p>circumvent, interfere with, or render ineffective, any geographical restrictions, including IP address-based restrictions imposed by YouTube or <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>;</p> </li> <li> <p>use any technology other than <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> to access or retrieve <a class="defined-term" href="#definition-api-data">API Data</a>, including to access any portion of any YouTube audiovisual content;</p> </li> <li> <p>offer an API service that allows users to access any data or functionality directly or indirectly provided by the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>;</p> </li> <li> <p>modify, translate, create derivative works of, reverse engineer or otherwise attempt to extract the underlying source code from any <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> or from any software related to those Services;</p> </li> <li> <p>use <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> for any purpose or activity where the use or failure of those Services could lead to death, personal injury, or environmental damage, such as in the operation of nuclear facilities, air traffic control systems, or life support systems;</p> </li> <li> <p>infringe copyrights or exploit copyright-infringing materials;</p> </li> <li> <p>engage in, promote or facilitate unlawful online gambling;</p> </li> <li> <p>create, display, promote or facilitate disruptive commercial messages or advertisements; or</p> </li> <li id="III-I-21"> <p>situate the YouTube player in a nested or hierarchical iframe lineage to circumvent YouTube policies or otherwise obfuscate the source of use.</p> </li> </ol> <h3 id="j.-child-directed-api-clients" data-text="J. Child-Directed API Clients" tabindex="-1">J. Child-Directed API Clients</h3> <ol> <li> <p> If your API Client (or any part thereof) targets or directs itself to children (as defined under applicable law(s) including the U.S. Children's Online Privacy (COPPA) and E.U. General Data Protection Regulation (GDPR)) (referred to herein as a "<b>Child-Directed API Client</b>"), you and your Child-Directed API Client must: </p> <ol style="list-style-type: lower-alpha"> <li> <p> ensure that your Child-Directed API Client, including its access to and use of any YouTube API Services, is compliant with COPPA, GDPR, and any other applicable laws or regulations at all times; </p> </li> <li> <p> notify Google of the child directed nature of your Child-Directed API Client using the tools provided in <a href="https://support.google.com/policies/answer/9664901">here</a>. Each Child-Directed API Client notified to Google using such tools or otherwise is referred to herein as a "<b>Known Child-Directed API Client</b>"; and </p> </li> <li> <p> not use personalized ads (including remarketing) to target past or current activity by any user of your Child-Directed API Client. </p> </li> </ol> </li> <li> <ol style="list-style-type: lower-alpha"> <li> <p> <b>For You and Your Child-Directed API Client.</b> You and your Child-Directed API Client will not, and must not attempt to, take any YouTube API Services write-based actions to YouTube websites, applications, services or products via your Child-Directed API Client. </p> </li> <li> <p> Notwithstanding Section III.D.1.c (API Credentials) above which requires exactly one (1) <a class="defined-term" href="#definition-api-project">API Project</a> for each <a class="defined-term" href="#definition-api-client">API Client</a>, you can upload your own videos to your own official YouTube channel(s) via the YouTube Data API Service (not via your Child-Directed API Client or anyone else’s API Client) by creating a new API Project ("<b>Upload Project</b>"). </p> <ol style="list-style-type: lower-roman"> <li> <p> To upload your own videos to your own official YouTube channel(s) via YouTube Data API Service, you must (A) create one (1) new <a class="defined-term" href="#definition-api-project">API Project</a> using the <a href="https://console.developers.google.com/">Google Developers Console</a> (<a href="https://console.developers.google.com/">https://console.developers.google.com/</a>) (an "<b>Upload Project</b>") prior to uploading, (B) append <i>mfk110</i> as a prefix in the ID of your Upload Project, and (C) only upload from your non-Child-Directed API Client (not from your Child-Directed API Client or anyone else’s API Client); and </p> </li> <li> <p> Only you can use the Upload Project, and the Upload Project must only be used to upload your own videos to your own official YouTube channel(s) via the YouTube Data API Service from your non-Child-Directed API Client (not from your Child-Directed API Client or anyone else’s API Client). If you are uploading a Made for Kids video via the YouTube Data API Service from your non-Child-Directed API Client (not from your Child-Directed API Client or anyone else’s API Client), you must designate the YouTube Data API Service Made for Kids parameter as "true". See here for more information on determining if content is <a href="https://support.google.com/youtube/answer/9528076">Made for Kids</a>. </p> </li> </ol> </li> <li> <p> <b>For You and Users of Your Child-Directed API Client.</b> You and your Child-Directed API Client must not enable, encourage or require, users of your Child-Directed API Client to take YouTube API Services write-based actions (such as, but not limited to, uploading content, commenting and creating/sharing playlists). YouTube API Services write-based actions taken by users of Known Child-Directed API Clients will not be implemented on YouTube websites, applications, services and products. This means that, notwithstanding <a href="/youtube/terms/api-services-terms-of-service">Section 9.1 (Required Notice) of the YouTube API Services Terms of Service</a> pursuant to which users of your API Client may upload content to their YouTube channels or your YouTube channel(s), uploads from users of Known Child-Directed API Clients will not be implemented on YouTube websites, applications, services and products. </p> </li> </ol> </li> <li> <p> You and your API Client’s access to, or use of, YouTube API Services can be suspended or terminated by YouTube for non-compliance with the YouTube API Services Terms of Service and Policies including non-compliance with this Section III.J. </p> </li> </ol> <h3 id="k.-reporting-noncompliance" data-text="K. Reporting Noncompliance" tabindex="-1">K. Reporting Noncompliance</h3> <p>If you are aware of anyone accessing or using <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a> in a manner that is not compliant with these policies or any other part of the <a class="defined-term" href="#definition-agreement">Agreement</a>, you may contact the YouTube API Services team to escalate the issue <a href="https://support.google.com/youtube/contact/yt_api_form">using this form</a>.</p> <h2 id="iv.-definitions" data-text="IV. Definitions" tabindex="-1">IV. Definitions</h2> <p id="definition-agreement">"<b>Agreement</b>" means the legal documents defined and referenced in Section 2 (The Agreement) of the YouTube API Services <a class="defined-term" href="#definition-terms-of-service">Terms of Service</a> currently located at <a href="/youtube/terms/api-services-terms-of-service">https://developers.google.com/youtube/terms/api-services-terms-of-service</a>.</p> <p id="definition-api-client">"<b>API Client</b>" means a website or software application (including a mobile application) developed by you that accesses or uses the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>.</p> <p id="definition-api-credentials">"<b>API Credentials</b>" means the credentials assigned by YouTube or Google via the Google Developer Console that each <a class="defined-term" href=#definition-api-project">API Project</a> authenticates with to access and use the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>.</p> <p id="definition-api-data">"<b>API Data</b>" is defined within the definition of "<a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>" later in this Definitions section.</p> <p id="definition-api-project">"<b>API Project</b>" means the project created in the Google Developer Console that is required for API Client(s) to access and use the <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>.</p> <p id="definition-authorized-data">"<b>Authorized Data</b>" means <a class="defined-term" href="#definition-api-data">API Data</a> that an active user expressly authorizes an <a class="defined-term" href="#definition-api-client">API Client</a> to access or otherwise use via <a class="defined-term" href="#definition-user-credentials">User Credentials</a>.</p> <p id="definition-google-applications">"<b>Google Applications</b>" means Google websites, applications, services, products, pages, and other properties.</p> <p id="definition-non-authorized-data">"<b>Non-Authorized Data</b>" means <a class="defined-term" href="#definition-api-data">API Data</a> accessible by an <a class="defined-term" href="#definition-api-client">API Client</a> without <a class="defined-term" href="#definition-user-credentials">User Credentials</a>.</p> <p id="definition-terms-of-service">"<b>Terms of Service</b>" means the YouTube API Services Terms of Service currently located at <a href="/youtube/terms/api-services-terms-of-service">https://developers.google.com/youtube/terms/api-services-terms-of-service</a>.</p> <p id="definition-user-credentials">"<b>User Credentials</b>" means the credentials issued to users that users can authenticate with to permit API Client(s) to perform operations on their behalf that require authorization.</p> <p id="definition-youtube-api-services">"<b>YouTube API Services</b>" means (i) the YouTube API services (e.g., YouTube Data API service and YouTube Reporting API service) made available by YouTube including those YouTube API services made available on the YouTube Developer Site (as defined below), (ii) documentation, information, materials, sample code and software (including any human-readable programming instructions) relating to YouTube API services that are made available on <a href="/youtube">https://developers.google.com/youtube</a> or by YouTube, (iii) data, content (including audiovisual content) and information provided to <a class="defined-term" href="#definition-api-client">API Clients</a> (as defined above) through the YouTube API services (the "<a class="defined-term" href="#definition-api-data">API Data</a>"), and (iv) the credentials assigned to you and your API Client(s) by YouTube or Google.</p> <p id="definition-youtube-applications">"<b>YouTube Applications</b>" means YouTube websites, applications, services, products, pages, and other properties, including <b>https://www.youtube.com</b>, <b>m.youtube.com</b>, mobile applications like the YouTube Gaming application, and so forth, but excluding <a class="defined-term" href="#definition-youtube-api-services">YouTube API Services</a>.</p> <p id="definition-youtube-brand-features">"<b>YouTube Brand Features</b>" means the trade names, trademarks, service marks, logos, domain names, and other distinctive brand features of YouTube.</p> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2024-04-18 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-04-18 UTC."],[],[]] </template> </div> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> <nav class="devsite-footer-promos nocontent" aria-label="Promotions"> <ul class="devsite-footer-promos-list"> <li class="devsite-footer-promo"> <a href="https://blog.youtube" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 1)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-youtube.svg" loading="lazy" alt="Blog"> </picture> <span class="devsite-footer-promo-label"> Blog </span> </a> <div class="devsite-footer-promo-description">The latest news on the YouTube blog</div> </li> <li class="devsite-footer-promo"> <a href="https://github.com/youtube/api-samples" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 2)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-github.svg" loading="lazy" alt="GitHub"> </picture> <span class="devsite-footer-promo-label"> GitHub </span> </a> <div class="devsite-footer-promo-description">Find API code samples and other YouTube open-source projects.</div> </li> <li class="devsite-footer-promo"> <a href="https://issuetracker.google.com/issues/new?component=186600&amp;template=874803" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 3)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/developers_64dp.png" loading="lazy" alt="Issue Tracker"> </picture> <span class="devsite-footer-promo-label"> Issue Tracker </span> </a> <div class="devsite-footer-promo-description">Something wrong? Send us a bug report!</div> </li> <li class="devsite-footer-promo"> <a href="http://stackoverflow.com/questions/ask?tags=youtube-api" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 4)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-stack-overflow.svg" loading="lazy" alt="Stack Overflow"> </picture> <span class="devsite-footer-promo-label"> Stack Overflow </span> </a> <div class="devsite-footer-promo-description">Ask a question under the youtube-api tag</div> </li> <li class="devsite-footer-promo"> <a href="https://research.youtube/" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 5)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-youtube.svg" loading="lazy" alt="YouTube Researcher Program"> </picture> <span class="devsite-footer-promo-label"> YouTube Researcher Program </span> </a> <div class="devsite-footer-promo-description">For researchers interested in using data from YouTube’s global API</div> </li> </ul> </nav> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Tools</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="https://developers.google.com/apis-explorer/#p/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Google APIs Explorer </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/youtube/youtube_player_demo" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > YouTube Player Demo </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/youtube/youtube_subscribe_button" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Configure a Subscribe Button </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Issue Tracker</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="https://issuetracker.google.com/issues/new?component=186600&amp;template=874803" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > File a bug </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://issuetracker.google.com/issues/new?component=186600&amp;template=874803" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Request a feature </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://issuetracker.google.com/issues?q=componentid:186600" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > See open issues </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Product Info</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/youtube/terms/api-services-terms-of-service" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" > Terms of Service </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/youtube/terms/developer-policies" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" > Developer Policies </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/youtube/terms/required-minimum-functionality" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Required Minimum Functionality </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/youtube/terms/branding-guidelines" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Branding Guidelines </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//developer.android.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" > Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" > Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//firebase.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" > Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//cloud.google.com" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" > Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" > All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link" > Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{&#34;dimensions&#34;: {&#34;dimension6&#34;: &#34;en&#34;, &#34;dimension4&#34;: &#34;YouTube&#34;, &#34;dimension3&#34;: false, &#34;dimension1&#34;: &#34;Signed out&#34;, &#34;dimension11&#34;: false, &#34;dimension5&#34;: &#34;en&#34;}, &#34;gaid&#34;: &#34;UA-24532603-1&#34;, &#34;metrics&#34;: {&#34;ratings_value&#34;: &#34;metric1&#34;, &#34;ratings_count&#34;: &#34;metric2&#34;}, &#34;purpose&#34;: 1}]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;ga4p&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;gtm&#34;: [], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;article&#34;, &#34;projectName&#34;: &#34;YouTube&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;developers&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="oBjhoxZsLhLvcksDQzhnizFi/bZi2v"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["BookNav__enable_tenant_cache_key","Search__enable_dynamic_content_confidential_banner","Profiles__enable_dashboard_curated_recommendations","Profiles__enable_profile_collections","Search__enable_ai_search_summaries_restricted","Profiles__enable_complete_playlist_endpoint","Cloud__enable_cloud_facet_chat","MiscFeatureFlags__developers_footer_image","MiscFeatureFlags__enable_variable_operator","Cloud__enable_cloud_shell_fte_user_flow","Significatio__enable_by_tenant","Profiles__enable_developer_profiles_callout","DevPro__enable_cloud_innovators_plus","Cloud__enable_cloud_dlp_service","CloudShell__cloud_code_overflow_menu","Analytics__enable_clearcut_logging","Cloud__enable_cloudx_experiment_ids","EngEduTelemetry__enable_engedu_telemetry","TpcFeatures__enable_mirror_tenant_redirects","Concierge__enable_concierge","Cloud__enable_llm_concierge_chat","Profiles__enable_public_developer_profiles","Search__enable_ai_search_summaries","CloudShell__cloud_shell_button","Search__enable_ai_eligibility_checks","Concierge__enable_pushui","Search__enable_page_map","MiscFeatureFlags__enable_project_variables","Experiments__reqs_query_experiments","TpcFeatures__enable_required_headers","Concierge__enable_concierge_restricted","MiscFeatureFlags__developers_footer_dark_image","Cloud__enable_cloudx_ping","Profiles__enable_release_notes_notifications","Profiles__require_profile_eligibility_for_signin","DevPro__enable_developer_subscriptions","Profiles__enable_page_saving","MiscFeatureFlags__emergency_css","Profiles__enable_completecodelab_endpoint","Search__enable_suggestions_from_borg","Profiles__enable_awarding_url","Cloud__enable_cloud_shell","MiscFeatureFlags__enable_explain_this_code","MiscFeatureFlags__enable_firebase_utm","MiscFeatureFlags__enable_view_transitions","Cloud__enable_legacy_calculator_redirect","Cloud__enable_free_trial_server_call","Profiles__enable_recognition_badges"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[13,10],[3,2],[5,4],[16,13],[11,8],[14,11],[1,1],[4,3],[15,12],[6,5],[12,9]],[[1,1],[2,2]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10