API Overview Guide
The YouTube APIs and Tools let you bring the YouTube experience to your webpage, application, or device. The Data API lets you perform most of the operations a normal YouTube user can on the YouTube website. The Player APIs let you control the YouTube player using JavaScript or ActionScript. You can also use the basic embedded player, which already contains player controls, or the chromeless player, which lets you create your own player controls.
First, you should decide which of our APIs and tools best suits your needs. Start with the embedded player 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 Player APIs to customize a chromeless player. If you are programming a device or server-side logic for a website, look at the Data API. The table below attempts to describe the experience level of a developer for each option:
Player APIs with embedded player

Player APIs with chromeless player

Data API and Player APIs with chromeless player

Players and Player APIs
YouTube players can be embedded in a web page or app using either an <iframe> tag or an <object> tag. YouTube supports two kinds of players:
Note: To allow room for critical player functionality, players must be at least 200px by 200px.
After selecting a player, you can use one of the YouTube Player APIs to control the player using either JavaScript or ActionScript. So, you can develop your own player controls or create other functions that respond to specific player events, and use a Player API to operate the controls or notify your application of those events.
The player demo lets you preview the embedded and chromeless players using JavaScript and some simple HTML controls. You can also use the Google Code Playground to debug and run JavaScript player code.
Data API
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.
The Data API is useful for sites or applications that want to have a deep integration with YouTube, such as an app that captures video and lets users upload that video directly to YouTube. The Data API gives you programmatic access to YouTube video and user information, enabling you to personalize your application with users' existing information and to perform actions, like rating or commenting on videos, on their behalf.
YouTube currently supports the following Data API versions:
Last updated January 9, 2013.
Authentication required
You need to be signed in with Google+ to do that.
Signing you in...
Google Developers needs your permission to do that.

<div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="//web.archive.org/web/20130308010830im_/https://www.googleadservices.com/pagead/conversion/992540712/?label=qio2CKCPwQMQqPCj2QM&amp;guid=ON&amp;script=0"/> </div>
Getting StartedApplication GalleryVersion 3.0Experimental!Getting StartedRegister your appClient librariesJavaScriptPythonGuides and TutorialsAuthenticating requestsUploading a videoSearching with Freebase topicsReferenceActivitieslistinsertChannelslistGuideCategorieslistPlaylistItemslistinsertupdatedeletePlaylistslistinsertupdatedeleteSearchlistSubscriptionslistinsertdeleteVideoCategorieslistVideoslistinsertupdatedeleteStandard Query ParametersErrorsRevision HistoryRegister Developer KeysClient Library Guides and CodeJava GuideJSON-C / JavaScript GuideInteractive DemoJSON / JavaScript Guide.NET GuidePHP GuidePython (v1.0)Developer's GuideAuthenticationOAuth 2.0Flash ApplicationsUnderstanding Video Feeds and EntriesDisplaying a List of VideosIdentifying Related FeedsDisplaying Video InformationVideo Feed TypesBrowsing with Categories and KeywordsAPI Query ParametersRetrieving Data for a Single VideoSearching for ChannelsSearching for PlaylistsUploading VideosBrowser-based UploadingDirect UploadingResumable uploadsChecking a Video's StatusUpdating and Deleting VideosProviding Captions for a VideoRetrieving Live EventsManaging Live EventsMovies and ShowsYouTube EDUAdding a RatingCommentsVideo ResponsesAdding a ComplaintFavorite VideosPlaylistsSubscriptionsChannel SuggestionsVideo RecommendationsWatch HistoryUser Profiles and AccountsContactsMessages and Video SharingActivity FeedsUsing the Simple Update Protocol (SUP)Using Batch ProcessingPartial ResponsesPartial UpdatesTesting and TroubleshootingRetrieving Insight Data for a VideoUnderstanding API Error ResponsesRevision HistoryChannel branding optionsDeprecated FeaturesOAuth 1.0AuthSubClientLogin(Printable version)Reference Guide (v2.0)Migration Guide (v2.0)Interactive DemoPlayer ParametersAndroid APIExperimental!DownloadRegister your appSetup instructionsSample ApplicationsReference GuideYouTubePlayerYouTubePlayer.OnFullscreenListenerYouTubePlayer.OnInitializedListenerYouTubePlayer.PlaybackEventListenerYouTubePlayer.PlayerStateChangeListenerYouTubePlayer.PlaylistEventListenerYouTubePlayer.ProviderYouTubeThumbnailLoaderYouTubeThumbnailLoader.OnThumbnailLoadedListenerYouTubeThumbnailView.OnInitializedListenerYouTubeApiServiceUtilYouTubeBaseActivityYouTubeIntentsYouTubePlayerFragmentYouTubePlayerSupportFragmentYouTubePlayerViewYouTubeStandalonePlayerYouTubeThumbnailViewYouTubeInitializationResultYouTubePlayer.ErrorReasonYouTubePlayer.PlayerStyleYouTubeThumbnailLoader.ErrorReasonRevision HistoryIFrame APIJavaScript APIFlash API (AS3)Flash API (AS2)Player API DemoSample PlaygroundYouTube Upload WidgetYouTube Analytics APIExperimental!Getting StartedRegister your appClient librariesAuthenticationAvailable ReportsDimensionsMetricsSample ApplicationReferenceRevision HistoryAsk a QuestionFile a BugRequest a FeatureSee Open IssuesYouTube API BlogGoogle+Email AnnouncementsTerms of ServiceBranding GuidelinesMonetization GuidelinesYouTube DirectTrainingArticlesCompatibility Guidelines