CINXE.COM
API Overview Guide - YouTube — Google Developers
<!DOCTYPE html> <html lang="en"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://developers.google.com/youtube/getting_started","20120401215416","https://web.archive.org/","web","/_static/", "1333317256"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"/> <script src="/web/20120401215416js_/https://developers.google.com/js/script_head.js"></script> <link rel="stylesheet" type="text/css" href="/web/20120401215416cs_/https://developers.google.com/css/screen.css"/> <link rel="shortcut icon" href="/web/20120401215416im_/https://developers.google.com/images/favicon.ico"> <link rel="apple-touch-icon" href="/web/20120401215416im_/https://developers.google.com/images/apple-touch-icon.png"> <link href="//web.archive.org/web/20120401215416cs_/https://fonts.googleapis.com/css?family=Open+Sans:300,400" rel="stylesheet" type="text/css"> <script src="//web.archive.org/web/20120401215416js_/https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> <script id="jqueryui" src="//web.archive.org/web/20120401215416js_/https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js" defer async></script> <script src="//web.archive.org/web/20120401215416js_/https://www.google.com/jsapi?key=AIzaSyCZfHRnq7tigC-COeQRmoa9Cxr0vbrK6xw"></script> <!--[if lt IE 9]> <script src="/js/html5shim/html5.js"></script> <![endif]--> <script> google.load('search', '1', {language : 'en'}); </script> <script type="text/javascript"> var contentTimer = new window.jstiming.Timer(); var ___gcfg = ___gcfg || {}; ___gcfg.lang = 'en'; </script> <script src="//web.archive.org/web/20120401215416js_/https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.10/jquery-ui.min.js"></script> <title>API Overview Guide - YouTube — Google Developers</title> </head> <body class="two-column docs"> <div id="sandbar"> <a href="/web/20120401215416/https://developers.google.com/sandbar?q=&page_url=/youtube/getting_started"></a> <div id="gc-googlebar"></div> <img src="/web/20120401215416im_/https://developers.google.com/images/google-logo.png" style="display:none;"/> </div> <div class="kd-butterbar shown"> <span>This page has moved to Google Developers. Welcome! <a href="/web/20120401215416/https://developers.google.com/readme">Learn more</a> <a href="#" class="kd-butterbar-dismiss">Dismiss</a></span> </div> <div id="gc-wrapper"> <input id="gc-analytics" type="hidden" value="UA-24532603-1"/> <div id="gc-appbar"> <h1> <a href="/web/20120401215416/https://developers.google.com/youtube/">YouTube</a> <div class="plusone-container"> <div class="g-plusone" data-href="https://developers.google.com/youtube/" data-size="medium" data-count="count" data-source="google:developers"></div> </div> </h1> </div> <div id="gc-main"> <div id="gc-sidebar"> <div class="gc-toc"><ul><li class=""><span class="tlw-title" data-title="Getting Started">Getting Started</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/getting_started" data-title="API Overview Guide"><span>API Overview Guide</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/casestudies/index" data-title="Who's Using It?"><span>Who's Using It?</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/creating_monetizable_applications" data-title="Building Monetizable Applications"><span>Building Monetizable Applications</span></a></li><li class=""><a href="//web.archive.org/web/20120401215416/https://code.google.com/apis/youtube/dashboard" data-title="Register Developer Keys"><span>Register Developer Keys</span></a></li></ul></li><li class=""><span class="tlw-title" data-title="YouTube Data API">YouTube Data API</span><ul><li class=""><span class="tlw-title" data-title="Client Library Guides and Code">Client Library Guides and Code</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/code" data-title="Downloads, Sample Code and Tutorials"><span>Downloads, Sample Code and Tutorials</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_java" data-title="Java Guide"><span>Java Guide</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_jsonc" data-title="JSON-C / JavaScript Guide"><span>JSON-C / JavaScript Guide</span></a><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/articles/view_youtube_jsonc_responses" data-title="Interactive Demo"><span>Interactive Demo</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_json" data-title="JSON / JavaScript Guide"><span>JSON / JavaScript Guide</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_dotnet" data-title=".NET Guide"><span>.NET Guide</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_php" data-title="PHP Guide"><span>PHP Guide</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/1.0/developers_guide_python" data-title="Python (v1.0)"><span>Python (v1.0)</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_audience" data-title="Developer's Guide (v2.0)"><span>Developer's Guide (v2.0)</span></a><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_authentication" data-title="Authentication"><span>Authentication</span></a><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_oauth2" data-title="OAuth 2.0"><span>OAuth 2.0</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_oauth" data-title="OAuth 1.0"><span>OAuth 1.0</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_authsub" data-title="AuthSub"><span>AuthSub</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin" data-title="ClientLogin"><span>ClientLogin</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_authenticating_flash" data-title="Flash Applications"><span>Flash Applications</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_understanding_video_feeds" data-title="Understanding Video Feeds and Entries"><span>Understanding Video Feeds and Entries</span></a><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_displaying_list_of_videos" data-title="Displaying a List of Videos"><span>Displaying a List of Videos</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_identifying_related_feeds" data-title="Identifying Related Feeds"><span>Identifying Related Feeds</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_displaying_video_information" data-title="Displaying Video Information"><span>Displaying Video Information</span></a></li></ul></li><li class=""><span class="tlw-title" data-title="Retrieving and Searching for Videos">Retrieving and Searching for Videos</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_video_feeds" data-title="Video Feed Types"><span>Video Feed Types</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_category_keyword_browsing" data-title="Browsing with Categories and Keywords"><span>Browsing with Categories and Keywords</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters" data-title="API Query Parameters"><span>API Query Parameters</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_video_entries" data-title="Retrieving Data for a Single Video"><span>Retrieving Data for a Single Video</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_channel_search" data-title="Searching for Channels"><span>Searching for Channels</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_playlist_search" data-title="Searching for Playlists"><span>Searching for Playlists</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_uploading_videos" data-title="Uploading Videos"><span>Uploading Videos</span></a><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_browser_based_uploading" data-title="Browser-based Uploading"><span>Browser-based Uploading</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_direct_uploading" data-title="Direct Uploading"><span>Direct Uploading</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_resumable_uploads" data-title="Resumable uploads"><span>Resumable uploads</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_checking_video_status" data-title="Checking a Video's Status"><span>Checking a Video's Status</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_updating_and_deleting_videos" data-title="Updating and Deleting Videos"><span>Updating and Deleting Videos</span></a><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_captions" data-title="Providing Captions for a Video"><span>Providing Captions for a Video</span></a></li></ul></li><li class=""><span class="tlw-title" data-title="Live Events (Experimental)">Live Events (Experimental)</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_retrieving_live_events" data-title="Retrieving Live Events"><span>Retrieving Live Events</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_managing_live_events" data-title="Managing Live Events"><span>Managing Live Events</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_movies_and_shows" data-title="Movies and Shows"><span>Movies and Shows</span></a></li><li class=""><span class="tlw-title" data-title="Community Features">Community Features</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_ratings" data-title="Adding a Rating"><span>Adding a Rating</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_comments" data-title="Comments"><span>Comments</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_video_responses" data-title="Video Responses"><span>Video Responses</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_complaints" data-title="Adding a Complaint"><span>Adding a Complaint</span></a></li></ul></li><li class=""><span class="tlw-title" data-title="Saving and Collecting Videos">Saving and Collecting Videos</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_favorites" data-title="Favorite Videos"><span>Favorite Videos</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_playlists" data-title="Playlists"><span>Playlists</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_subscriptions" data-title="Subscriptions"><span>Subscriptions</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_recommendations" data-title="Video Recommendations"><span>Video Recommendations</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_watch_history" data-title="Watch History"><span>Watch History</span></a></li></ul></li><li class=""><span class="tlw-title" data-title="Enabling User Interaction">Enabling User Interaction</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_profiles" data-title="User Profiles and Accounts"><span>User Profiles and Accounts</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_contacts" data-title="Contacts"><span>Contacts</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_messages" data-title="Messages and Video Sharing"><span>Messages and Video Sharing</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_activity_feeds" data-title="Activity Feeds"><span>Activity Feeds</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_sup" data-title="Using the Simple Update Protocol (SUP)"><span>Using the Simple Update Protocol (SUP)</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_batch_processing" data-title="Using Batch Processing"><span>Using Batch Processing</span></a></li><li class=""><span class="tlw-title" data-title="Partial Feeds (Experimental)">Partial Feeds (Experimental)</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_partial" data-title="Partial Responses"><span>Partial Responses</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_partial_updates" data-title="Partial Updates"><span>Partial Updates</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_testing" data-title="Testing and Troubleshooting"><span>Testing and Troubleshooting</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_insight" data-title="Retrieving Insight Data for a Video"><span>Retrieving Insight Data for a Video</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_error_responses" data-title="Understanding API Error Responses"><span>Understanding API Error Responses</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_release_notes" data-title="Revision History"><span>Revision History</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol" data-title="(Printable version)"><span>(Printable version)</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/reference" data-title="Reference Guide (v2.0)"><span>Reference Guide (v2.0)</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/2.0/migration" data-title="Migration Guide (v2.0)"><span>Migration Guide (v2.0)</span></a></li><li class=""><a href="https://web.archive.org/web/20120401215416/http://gdata.youtube.com/demo/index.html" data-title="Interactive Demo"><span>Interactive Demo</span></a></li></ul></li><li class=""><span class="tlw-title" data-title="YouTube Player Tools">YouTube Player Tools</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/player_parameters" data-title="Player Parameters"><span>Player Parameters</span></a></li><li class=""><span class="tlw-title" data-title="Player APIs">Player APIs</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/js_api_reference" data-title="JavaScript API"><span>JavaScript API</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/flash_api_reference" data-title="Flash API (AS3)"><span>Flash API (AS3)</span></a><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/flash_api_reference_as2" data-title="Flash API (AS2)"><span>Flash API (AS2)</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/iframe_api_reference" data-title="IFrame API (Experimental)"><span>IFrame API (Experimental)</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/youtube_player_demo" data-title="Player API Demo"><span>Player API Demo</span></a></li><li class=""><a href="//web.archive.org/web/20120401215416/https://code.google.com/apis/ajax/playground/?exp=youtube" data-title="Sample Playground"><span>Sample Playground</span></a></li></ul></li><li class=""><span class="tlw-title" data-title="Additional Resources">Additional Resources</span><ul><li class=""><a href="https://web.archive.org/web/20120401215416/http://apiblog.youtube.com/" data-title="API Blog"><span>API Blog</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/ytdirect" data-title="YouTube Direct"><span>YouTube Direct</span></a></li><li class=""><a href="https://web.archive.org/web/20120401215416/http://youtube-gallery.appspot.com/" data-title="Application Gallery"><span>Application Gallery</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/media_gallery" data-title="Presentations"><span>Presentations</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/articles" data-title="Articles"><span>Articles</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/faq" data-title="FAQ"><span>FAQ</span></a></li><li class=""><span class="tlw-title" data-title="Developer Forum">Developer Forum</span><ul><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/forum/announce" data-title="Announcements"><span>Announcements</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/forum/discussion" data-title="Discussion"><span>Discussion</span></a></li></ul></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/branding" data-title="Branding Guidelines"><span>Branding Guidelines</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/compatibility_guidelines" data-title="Compatibility Guidelines"><span>Compatibility Guidelines</span></a></li><li class=""><a href="/web/20120401215416/https://developers.google.com/youtube/terms" data-title="Terms of Service"><span>Terms of Service</span></a></li><li class=""><a href="//web.archive.org/web/20120401215416/https://code.google.com/p/gdata-issues/issues/list?q=label:API-YouTube" data-title="Issue Tracker"><span>Issue Tracker</span></a></li></ul></li></ul></div> </div> <div id="gc-content"> <div> <h1 class="page-title">API Overview Guide</h1> <p>The YouTube APIs and Tools let you bring the YouTube experience to your webpage, application, or device. The <a href="#data_api">Data API</a> lets you perform most of the operations a normal YouTube user can on the YouTube website. The <a href="#player_apis">Player APIs</a> let you control the YouTube player using JavaScript or ActionScript. You can also use the basic <a href="#embedded_player">embedded player</a>, which already contains player controls, or the <a href="#chromeless_player">chromeless player</a>, which lets you create your own player controls.</p> <p>First, you should decide which of our APIs and tools best suits your needs. Start with the <a href="#embedded_player">embedded player</a> if you want to add a player to your website to show individual videos or a playlist. If you're comfortable with JavaScript or Flash, you may want to use the <a href="#player_apis">Player APIs</a> to customize a chromeless player. If you are programming a device or server-side logic for a website, look at the <a href="#data_api">Data API</a>. The table below attempts to describe the experience level of a developer for each option:</p> <table> <tr> <th>Basic</th> <td><a href="#player_apis">Player APIs</a> with <a href="#embedded_player">embedded player</a></td> </tr> <tr> <th>Medium</th> <td><a href="#player_apis">Player APIs</a> with <a href="#chromeless_player">chromeless player</a></td> </tr> <tr> <th>Advanced</th> <td><a href="#data_api">Data API</a> and <a href="#player_apis">Player APIs</a> with <a href="#chromeless_player">chromeless player</a></td> </tr> </table> <h2 id="player_apis">Player APIs</h2> <img style="float:left; margin-right:10px; margin-bottom:5px;" src="/web/20120401215416im_/https://developers.google.com/youtube/images/player_apis.png"> <p>The player APIs let you control how YouTube videos look on your site. The first thing you should know is there are two kinds of players: the normal "embedded" player you've seen around the web, and a second "chromeless" player that is just a video box without any controls. The chromeless player is intended for experienced web programmers that want to design their own video player. Both of these players have the same API that are exposed in <a href="/web/20120401215416/https://developers.google.com/youtube/js_api_reference">JavaScript</a> and <a href="/web/20120401215416/https://developers.google.com/youtube/flash_api_reference">ActionScript</a>.</p> <p class="note" style="margin-left: 160px"><strong>Note:</strong> To allow room for critical player functionality, players must be at least 200px by 200px.</p><br/> <p>The following sections discuss each option and their uses:</p> <h3 id="embedded_player">Embedded Player</h3> <p>The embedded player is the simplest way to place a YouTube video on a webpage. To customize the behavior and color of the player, you can use the documented <a href="/web/20120401215416/https://developers.google.com/youtube/player_parameters">Player Parameters</a>. The code to display this player can be quickly generated from a program, making it possible to find a video using the <a href="#data_api">Data API</a> and then display it using the embedded player.</p> <p>Once the embedded player has been added to a webpage, it can be controlled using <a href="/web/20120401215416/https://developers.google.com/youtube/js_api_reference">JavaScript</a>. Alternatively, if you are embedding the player in a Flash application, you can use <a href="/web/20120401215416/https://developers.google.com/youtube/flash_api_reference">ActionScript</a> instead. Using either system, you can perform actions similar to what the user can do by clicking on the controls: you can pause the video, seek ahead, mute the sound, etc. You are also able to poll the status of the player and listen for events, to let your code react to whatever the player is currently doing.</p> <h3 id="chromeless_player">Chromeless Player</h3> <p>Interface elements and controls around content is sometimes referred to as "chrome" (e.g. the browser buttons on the top of a webpage.) The chromeless player is, by definition, a YouTube video with no controls. This makes it easy to customize within Flash or HTML.</p> <p>The chromeless player exposes the same <a href="/web/20120401215416/https://developers.google.com/youtube/js_api_reference">JavaScript</a> and <a href="/web/20120401215416/https://developers.google.com/youtube/flash_api_reference">ActionScript</a> APIs that the embedded player does. The <a href="/web/20120401215416/https://developers.google.com/youtube/youtube_player_demo">player demo</a> lets you preview the embedded and chromeless players using JavaScript and some simple HTML controls. You can also use the <a href="/web/20120401215416/https://developers.google.com/apis/ajax/playground/?exp=youtube#simple_embed">Google Code Playground</a> to debug and run JavaScript player code.</p> <h2 id="data_api">Data API</h2> <img style="float:right; margin-left:10px; margin-bottom:5px;" src="/web/20120401215416im_/https://developers.google.com/youtube/images/data_api.png"> <p>The Data API allows a program to perform many of the operations available on the YouTube website. It is possible to search for videos, retrieve standard feeds, and see related content. A program can also authenticate as a user to upload videos, modify user playlists, and more.</p> <p>The Data API is primarily for developers who are used to programming in server-side languages. It is useful for sites or applications that wish to have a deeper integration with YouTube. This integration could be a web application allowing users to upload video to YouTube. It could also be a device or desktop application that brings the YouTube experience to a new platform. The Data API gives you programmatic access to the video and user information stored on YouTube. With this, you can personalize your site or application with the user's existing information as well as perform actions on their behalf (like commenting on and rating videos.)</p> <p>If you are curious about how the Data API works at the basic level using XML and HTTP, you can read the <a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_protocol_audience">Protocol Guide</a>. This guide details the requests and responses that the YouTube API servers expect and return. To learn more about the structure of these requests and responses, read the <a href="/web/20120401215416/https://developers.google.com/youtube/2.0/reference">Reference Guide</a>. This guide defines the API's feed types, HTTP request parameters, HTTP response codes, and XML elements. You may also want to read about the <a href="https://web.archive.org/web/20120401215416/http://code.google.com/apis/gdata/">Google Data Protocol</a> and the <a href="https://web.archive.org/web/20120401215416/http://tools.ietf.org/html/rfc5023">Atom Publishing Protocol</a>, which are the standards upon which the Data API is built.</p> <p>To make working with the API easier, we have a number of <a href="/web/20120401215416/https://developers.google.com/youtube/code#client_libraries">client libraries</a> that abstract the API into a language-specific object model. These client libraries are open source and can be used and modified under the <a href="https://web.archive.org/web/20120401215416/http://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>. There are Developer's Guides for <a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_java">Java</a>, <a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_dotnet">.NET</a>, <a href="/web/20120401215416/https://developers.google.com/youtube/2.0/developers_guide_php">PHP</a>, and <a href="/web/20120401215416/https://developers.google.com/youtube/1.0/developers_guide_python">Python</a> as well as <a href="/web/20120401215416/https://developers.google.com/youtube/code#sample_code">sample code</a>.</p> </div><!-- end gc-pagecontent --> </div><!-- end gooey wrapper --> </div> </div> </div> <footer id="gc-footer"> <a href="/web/20120401215416/https://developers.google.com/footer"></a> <div style="min-height: 40px"></div> </footer> </div> <div id="needAuth" class="msgDialogContent"> <h1>Authentication required</h1> You need to be signed in to do that. <button>Sign in</button> <button>Cancel</button> </div> <div id="signingIn" class="msgDialogContent"> <h1>Signing you in...</h1> Google Developers needs your<br/> permission to do that. <button>Try again</button> <button>Cancel</button> </div> <script src="/web/20120401215416js_/https://developers.google.com/js/script_foot.js"></script> <script> (function($) { devsite.devsite.Init($); })(jQuery); devsite.devsite.localInit = function() { }; </script> <!-- Google Code for PXL - Developers - Codesite - HP - 90d Remarketing List --> <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = 992540712; var google_conversion_language = "en"; var google_conversion_format = "3"; var google_conversion_color = "ffffff"; var google_conversion_label = "qio2CKCPwQMQqPCj2QM"; var google_conversion_value = 0; /* ]]> */ </script> <script type="text/javascript" src="//web.archive.org/web/20120401215416js_/https://www.googleadservices.com/pagead/conversion.js"> </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="//web.archive.org/web/20120401215416im_/https://www.googleadservices.com/pagead/conversion/992540712/?label=qio2CKCPwQMQqPCj2QM&guid=ON&script=0"/> </div> </noscript> <script type="text/javascript"> $(document).ready(function(e) { // Render any carousels on the page $('.carousel').carousel(); // Render any feed widgets on the page $('.feed').rss(); // Render any OSS widgets on the page. $('.oss').oss(); }); </script> <script type="text/javascript" defer> // Add the handlers once the document has loaded. $(document).ready(function() { contentTimer.name = 'content'; contentTimer.tick('ol'); window.jstiming.report(contentTimer); // Boilerplate javascript to enable the plusone button var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://web.archive.org/web/20120401215416/https://apis.google.com/js/plusone.js?onload=devsite_plusoneLoaded'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); }); </script> </body> </html> <!-- FILE ARCHIVED ON 21:54:16 Apr 01, 2012 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 01:58:20 Nov 29, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.684 exclusion.robots: 0.032 exclusion.robots.policy: 0.019 esindex: 0.012 cdx.remote: 4.429 LoadShardBlock: 63.939 (3) PetaboxLoader3.datanode: 95.649 (4) load_resource: 174.209 PetaboxLoader3.resolve: 88.162 -->