Revision History

This page lists YouTube Data API (v3) changes and documentation updates. Subscribe to this changelog. Subscribe

March 26, 2025

Starting March 31, 2025, YouTube will change how views for Shorts are counted. In the past, for Shorts, a view was counted after a Short was played for a certain number of seconds. Now, views will count the number of times your Short starts to play or replay, with no minimum watch time requirement. Learn more

Starting March 31, 2025, the following fields in the Data API will return the view count for Shorts as per this change:

  • channels.statistics.viewCount
  • videos.statistics.viewCount

October 30, 2024

The API now supports the ability to identify videos that contain realistic Altered or Synthetic (A/S) content. Learn more about YouTube policies related to A/S content.

Examples of A/S content include videos that:

  • Make a real person appear to say or do something they didn't actually say or do
  • Alter footage of a real event or place
  • Generate a realistic-looking scene that did not actually occur

To indicate whether a video contains A/S content, set the status.containsSyntheticMedia property. This property can be set when calling the videos.insert or videos.update methods. If set, the property is returned in the video resource.

April 30, 2024

Note: This is a deprecation announcement.

This update contains the following changes:

The API no longer supports the ability to insert or retrieve channel discussions. This change is consistent with the functionality supported on the YouTube website, which does not support posting comments to channels.

March 13, 2024

Note: This is a deprecation announcement.

This update contains the following changes:

The sync parameter for the captions.insert and captions.update methods has been deprecated. YouTube will stop supporting the parameter as of April 12, 2024.

As a result of this change, developers must include timing information when inserting or updating caption tracks or the upload will fail.

March 12, 2024

This update contains the following changes:

Documentation for the captions resource has been updated to note that the maximum allowed length for the snippet.name field is 150 characters. The API returns a nameTooLong error if the track name is longer than that.

March 7, 2024

Note: This is a deprecation announcement.

The channel resource property brandingSettings.channel.moderateComments has been deprecated. YouTube will stop supporting the parameter as of March 7, 2024.

January 31, 2024

This update contains the following changes:

The channels.list method's new forHandle parameter enables you to retrieve information about a channel by specifying its YouTube handle.

November 09, 2023

All references to the videoId resource under Comments have been removed as the videoId resource is not being returned using an API call.

September 12, 2023

Note: This is a deprecation announcement.

The comments.markAsSpam method has been deprecated for several years. This method is already unsupported on YouTube and is no longer supported through the API.

A deprecation notice has been added to all of the documents referencing the comments.markAsSpam method.

August 22, 2023

The search.list method now supports the videoPaidProductPlacement parameter. This parameter enables you to filter search results to include only videos that the creator has denoted as having a paid promotion.

August 18, 2023

The definition of the video resource's liveStreamingDetails.concurrentViewers has been updated to note that the concurrent viewer counts that the YouTube Data API returns might differ from the processed, despammed concurrent viewer counts available through YouTube Analytics. The YouTube Help Center provides more information about live streaming metrics.

August 7, 2023

As announced on June 12, 2023, the search.list method's relatedToVideoId parameter has been deprecated. That parameter is no longer supported, and references to the parameter have been removed from the API documentation.

June 28, 2023

The thumbnails.set method now supports the uploadRateLimitExceeded error, which indicates that the channel has uploaded too many thumbnails during the past 24 hours and should try again later.

June 12, 2023

Note: This is a deprecation announcement.

The search.list method's relatedToVideoId parameter has been deprecated. YouTube will stop supporting the parameter as of August 7, 2023.

At this time, a deprecation notice has been added to the search.list method's documentation. This parameter will be fully removed from the search.list documentation on or after August 7, 2023.

In addition, an example demonstrating how to retrieve related videos has been removed from the API implementation guide.

August 22, 2022

Corrected type annotations for video.statistics fields to string from unsigned long.

August 5, 2022

YouTube has changed the way that caption IDs are generated and, as part of that change, is assigning new caption IDs to all caption tracks. This change might be a backward-incompatible change for applications that store caption_id values, though it will not affect applications that do not store caption_id values.

Between now and December 1, 2022, the captions.list, captions.update, captions.download, and and captions.delete methods will support both the old and new caption track IDs. However, on or after December 1, 2022, YouTube will stop supporting the old caption track IDs. At that time, calling any of those API methods with an old caption track ID will result in a captionNotFound error.

To prepare for this change, you should plan to fully replace all stored caption track data between now and December 1, 2022. This means that for any video for which you store caption track data, you should delete the currently stored data, then call the captions.list method to retrieve the current set of caption tracks for the video and store the data in the API response as you would normally.

July 12, 2022

The YouTube API Services Terms of Service has been updated. Please see the YouTube API Services Terms of Service - Revision History for more information.

April 27, 2022

The videos.insert method description has been updated to note that the maximum file size for uploaded videos has increased from 128GB to 256GB.

April 8, 2022

The subscriptions.list method's myRecentSubscribers and mySubscribers parameter definitions have both been updated to note that the maximum number of subscribers returned by the API might be limited. This change represents a documentation correction and not a change in API behavior.

December 15, 2021

As announced on November 18, 2021, in conjunction with changes to make video dislike counts private across the entire YouTube platform, the video resource's statistics.dislikeCount property is now private.

You can learn more about this change on YouTube's official blog.

November 18, 2021

In conjunction with changes to make video dislike counts private across the entire YouTube platform, the video resource's statistics.dislikeCount property will be made private as of December 13, 2021. This means that the property will only be included in an API response from the videos.list endpoint if the API request was authenticated by the video owner.

The videos.rate endpoint is not affected by this change.

Developers who do not display dislike counts publicly and still need the dislike count for their API client can apply to be put on an allow list for an exemption. To apply for an exemption, you must complete this application form.

You can learn more about this change on YouTube's official blog.

July 2, 2021

Note: This is a deprecation announcement.

The commentThreads.update endpoint has been deprecated and is no longer supported. This endpoint duplicated functionality available through other API endpoints. Instead, you can call the comments.update

method and, if your code requires a commentThreads resource, make a secondary call to the commentThreads.list method.

July 1, 2021

All developers using YouTube’s API Services must complete an API Compliance Audit in order to be granted more than the default quota allocation of 10,000 units. To date, both the compliance audit process and requests for additional quota unit allocations have been conducted by developers filling out and submitting the YouTube API Services - Audit and Quota Extension Form.

To clarify these processes and better meet the needs of developers using our API Services, we are adding three new forms and a guide to completing those forms:

  • Audited Developer Requests Form: Developers who have already passed an API Compliance Audit can fill out and submit this shorter form to request an allocated quota extension.
  • Appeals Form: Developers whose API projects have failed a compliance audit (or been denied a quota unit increase) can fill out and submit this form.
  • Change of Control Form: Developers, or any party operating an API client on a developer's behalf, who experience a change of control (for example, through a stock purchase or sale, merger or other form of corporate transaction) associated with an API project must fill out and submit this form. This enables YouTube's API team to update our records, audit the new API project's use case compliance, and validate the developer's current quota allocation.

Each new form will inform us of your intended usage of YouTube's API and enable us to better assist you.

More details are available in our new API Compliance Audits guide.

May 12, 2021

Note: This is a deprecation announcement.

This update covers the following API changes:

  • The channel resource's contentDetails.relatedPlaylists.favorites property has been deprecated. Favorite videos functionality has already been deprecated for several years as noted in the April 28, 2016, revision history entry.

    Prior to this update, the API would still create a new playlist if an API client attempted to add a video to a nonexistent favorites playlist. Going forward, the playlist will not be created in this case and the API will return an error. Attempts to modify favorites playlists by adding, modifying, or deleting items are also all deprecated per prior announcements and might start returning errors at any time.

  • The following channel resource properties have been deprecated. These properties are already unsupported in the YouTube Studio UI and on YouTube. As a result, they are also no longer supported via the API.

    • brandingSettings.channel.defaultTab
    • brandingSettings.channel.featuredChannelsTitle
    • brandingSettings.channel.featuredChannelsUrls[]
    • brandingSettings.channel.profileColor
    • brandingSettings.channel.showBrowseView
    • brandingSettings.channel.showRelatedChannels

    All of the properties have been removed from the channel resource representation, and their definitions have been removed from the resource's property list. In addition, errors associated with these properties have been removed from the method-specific documentation.

  • The following channelSection resource properties have been deprecated. These properties are already unsupported in the YouTube Studio UI and on YouTube. As a result, they are also no longer supported via the API.

    • snippet.style
    • snippet.defaultLanguage
    • snippet.localized.title
    • localizations
    • localizations.(key)
    • localizations.(key).title
    • targeting
    • targeting.languages[]
    • targeting.regions[]
    • targeting.countries[]

    In conjunction with this change, the channelSection.list method's hl parameter has also been deprecated since the features it supports are not supported.

    All of the properties have been removed from the channelSection resource representation, and their definitions have been removed from the resource's property list. In addition, errors associated with these properties have been removed from the method-specific documentation.

  • For the channelSection resource's snippet.type property, the following values have been deprecated. These values are already unsupported on YouTube channel pages and, as a result, they are also no longer supported via the API.

    • likedPlaylists
    • likes
    • postedPlaylists
    • postedVideos
    • recentActivity
    • recentPosts
  • The playlist resource's snippet.tags[] property has been deprecated. This property is already unsupported on YouTube and, as a result, it is no longer supported via the API.

February 9, 2021

The playlistItem resource supports two new properties:

January 28, 2021

This update contains the following changes:

  • The playlistItems.delete, playlistItems.insert, playlistItems.list, playlistItems.update, playlists.delete, playlists.list, and playlists.update methods all support a new playlistOperationUnsupported error. The error occurs when a request attempts to perform an operation that is not allowed for a particular playlist. For example, a user cannot delete a video from their uploaded videos playlist or delete the playlist itself.

    In all cases, this error returns a 400 HTTP response code (Bad Request).

  • The playlistItems.list method's watchHistoryNotAccessible and watchLaterNotAccessible errors have been removed from the documentation. While users' watch history and watch later lists are, indeed, not accessible via the API, these particular errors are not returned by the API.

October 15, 2020

Two new sections have been added to the Developer Policies:

  • The new Section III.E.4.i provides additional information about the data collected and sent via the YouTube embedded player. You are responsible for any user data you send to us via any YouTube embedded player before the user has interacted with the player to indicate playback intent. You can limit the data shared with YouTube before a user interacts with the player by setting Autoplay to false.
  • The new Section III.E.4.j relates to checking the Made for Kids (MFK) status of content before embedding it on your sites and apps. You are responsible for knowing when videos that you embed on your API Client are made for kids and treating data collected from the embedded player accordingly. As such, you must check the status of content using YouTube Data API Service before embedding it on your API Client via any YouTube embedded players.

The new Finding the MadeForKids status of a video guide explains how to look up the MFK status of a video using the YouTube Data API Service.

In conjunction with these changes, a reminder has been added to the Embedded Player Parameter documentation to explain 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.

October 8, 2020

This update covers three small changes related to the channel resource:

  • The snippet.thumbnails object, which identifies a channel's thumbnail images, might be empty for newly created channels and might take up to one day to populate.
  • The statistics.videoCount property reflects the count of the channel's public videos only, even to owners. This behavior is consistent with counts shown on the YouTube website.
  • Channel keywords, which are identified in the brandingSettings.channel.keywords property, might be truncated if they exceed the maximum allowed length of 500 characters or if they contained unescaped quotation marks ("). Note that the 500 character limit is not a per-keyword limit but rather a limit on the total length of all keywords. This behavior is consistent with that on the YouTube website.

September 9, 2020

Note: This is a deprecation announcement.

This update covers the following API changes. All changes will go into effect on or after 9 September 2020, the date of this announcement. With that in mind, developers should no longer rely on any of the API features listed below.

  • The following API resources, methods, parameters, and resource properties are deprecated immediately and will stop working on or after the date of this announcement:
    • The following channel resource properties:
      • The statistics.commentCount property
      • The brandingSettings.image object and all of its child properties
      • The brandingSettings.hintslist and all of its child properties
    • The channels.list method's categoryId filter parameter
    • The guideCategories resource and the guideCategories.list method
  • API responses for the channels.list method no longer contain the prevPageToken property if the API request sets the managedByMe parameter to true. This change does not affect the prevPageToken property for other channels.list requests, and it does not affect the nextPageToken property for any requests.
  • The channel resource's contentDetails.relatedPlaylists.watchLater and contentDetails.relatedPlaylists.watchHistory properties were both announced as deprecated on 11 August 2016. The playlistItems.insert method's and playlistItems.delete method's support for these playlists are also now fully deprecated, and the two properties have been removed from the documentation.
  • The channels.list method's mySubscribers parameter, which was announced as deprecated on 30 July 2013, has been removed from the documentation. Use the subscriptions.list method and its mySubscribers parameter to retrieve a list of subscribers to the authenticated user's channel.
  • The channel resource's invideoPromotion object and all of its child properties, which were announced as deprecated on 27 November 2017, have been removed from the documentation.

July 29, 2020

We have simplified our process for charging quota for API requests by removing the additional cost associated with the part parameter. Effective immediately, we will only charge the base cost for the method that is called. You can find more information about the simplified quota here.

The effect of this change is that most API calls will have a marginally lower quota cost, while some API calls will still have the same cost. This change does not increase the cost of any API calls. Overall, the likely impact is that your allocated quota, which can be seen in the Google Cloud Console, will go a little further.

We strongly recommend that all developers complete a compliance audit for their projects to ensure continued access to the YouTube API Services.

This revision history entry was originally published on July 20, 2020.

July 28, 2020

All videos uploaded via the videos.insert endpoint from unverified API projects created after 28 July 2020 will be restricted to private viewing mode. To lift this restriction, each project must undergo an audit to verify compliance with the Terms of Service.

Creators who use an unverified API client to upload video will receive an email explaining that their video is locked as private, and that they can avoid the restriction by using an official or audited client.

API projects created prior to 28 July 2020 are not currently affected by this change. However, we strongly recommend that all developers complete a compliance audit for their projects to ensure continued access to the YouTube API Services.

July 21, 2020

[Updated July 28, 2020.] The documentation update referenced in this revision history entry was republished on July 28, 2020.

Yesterday, we published a documentation update related to our process for charging quota. However, due to unforeseen circumstances, the quota change is not yet in effect. As a result, the documentation has been reverted in the interest of accuracy. To avoid confusion, the revision history entry explaining the change has been removed and will be republished in the near future.

July 7, 2020

Note: This is a deprecation announcement.

The videos.insert method's autoLevels and stabilize parameters are now deprecated, and both parameters have been removed from the documentation. Their values are ignored and do not affect the way newly uploaded videos are processed.

June 15, 2020

The new Complying with the YouTube Developer Policies guide provides guidance and examples to help you ensure that your API clients adhere to specific portions of the YouTube API Services Terms and Policies (API TOS).

This guidance offers insight into how YouTube enforces certain aspects of the API TOS but does not replace any existing documents. The guide addresses some of the most common questions that developers ask during API compliance audits. We hope that it simplifies your feature development process by helping you understand how we interpret and enforce our policies.

June 4, 2020

Note: This is an update to a prior deprecation announcement.

The channel bulletin feature has now been fully deprecated. This change was initially announced on 17 April 2020 and has now taken effect. As a result, the activities.insert method is no longer supported, and the activities.list method no longer returns channel bulletins. For more details, please see the YouTube Help Center.

April 17, 2020

Note: This is a deprecation announcement.

YouTube is deprecating the channel bulletin feature. As a result, the activities.insert method will be deprecated, and the activities.list method will stop returning channel bulletins. These changes will be effective in the API on or after May 18, 2020. For more details, please see the YouTube Help Center.

March 31, 2020

This update contains the following changes:

  • New resources and methods

    • The new member resource represents a channel member for a YouTube channel. A member provides recurring monetary support to a creator and receives special benefits. For example, members are able to chat when the creator turns on members-only mode for a chat.

      This resource replaces the sponsor resource, which is documented as part of the YouTube Live Streaming API. The sponsor resource is now deprecated and API clients should update calls to the sponsors.list method to use the members.list method instead.

    • The new membershipsLevel resource identifies a pricing level managed by the creator that authorized the API request. The membershipsLevels.list method retrieves a list of all of the creator's membership levels.

January 10, 2020

The API now supports the ability to identify child-directed content, which YouTube calls "made for kids." Learn more about "made for kids" content in the YouTube Help Center.

The channel and video resources support two new properties to enable content creators and viewers to identify content that is made for kids:

  • The selfDeclaredMadeForKids property enables content creators to specify whether a channel or video is made for kids.

    For channels, this property can be set when calling the channels.update method. For videos, this property can be set when calling either the videos.insert or videos.update methods.

    Note that this property is only included in API responses that contain channel or video resources if the channel owner authorized the API request.
  • The madeForKids property enables any user to retrieve the "made for kids" status of a channel or video. For example, the status might be determined based on the value of the selfDeclaredMadeForKids property. See the YouTube Help Center for more information about setting the audience for your channel, videos, or broadcasts.

We have also updated the YouTube API Services Terms of Service and Developer Policies. Please see the YouTube API Services Terms of Service - Revision History for more information. The changes to the YouTube API Services Terms of Service and Developer Policies will take effect on January 10, 2020 Pacific Time.

September 10, 2019

The API reference documentation has been updated to reflect a change to the way that subscriber counts are reported on YouTube and, consequently, in API responses. As a result of the change, subscriber counts returned by the YouTube Data API Service are rounded down to three significant figures for subscriber counts greater than 1000 subscribers. This change affects the channel resource's statistics.subscriberCount property.

Note: This change affects this property value even in cases where a user sends an authorized request for data about their own channel. Channel owners can still see exact subscriber counts in YouTube Studio.

For example, if a channel has 123,456 subscribers, the statistics.subscriberCount property will contain the value 123000. The table below shows examples of how subscriber counts are rounded in API responses and abbreviated in other publicly visible YouTube user interfaces:

Example subscriber count YouTube Data API Publicly visible YouTube UIs
1,234 1230 1.23K
12,345 12300 12.3K
123,456 123000 123K
1,234,567 1230000 1.23M
12,345,678 12300000 12.3M
123,456,789 123000000 123M

April 4, 2019

This update contains the following changes:

  • The API reference documentation has been updated to better explain common use cases for each method and to provide dynamic, high-quality code samples through the APIs Explorer widget. See the channels.list method's documentation for an example. There are now two new elements on pages that describe API methods:

    • The APIs Explorer widget lets you select authorization scopes, enter sample parameter and property values, and then send actual API requests and see actual API responses. The widget also offers a fullscreen view that shows complete code samples, which dynamically update to use the scopes and values that you have entered.

    • The Common use cases section describes one or more common use cases for the method explained on the page. For example, you could call the channels.list method to retrieve data about a specific channel or to retrieve data about the current user's channel.

      You can use links in that section to populate the APIs Explorer with sample values for your use case or to open the fullscreen APIs Explorer with those values already populated. These changes aim to make it easier for you to see code samples that are directly applicable to the use case that you're trying to implement in your own application.

    Code samples are currently supported for Java, JavaScript, PHP, Python, and curl.

  • The code samples tool has also been updated with a new UI that offers all of the same features described above. Using that tool, you can explore use cases for different methods, load values into the APIs Explorer, and open the fullscreen APIs Explorer to get code samples in Java, JavaScript, PHP, and Python.

    In conjunction with this change, the pages that previously listed available code samples for Java, JavaScript, PHP, and Python have been removed.

  • The quickstart guides for Java, JavaScript, PHP, and Python have been updated. The revised guides explain how to run one sample with an API key and another sample with an OAuth 2.0 client ID using code samples from the APIs Explorer.

Note that the changes described above replace an interactive tool that had been added to the API documentation in 2017.

July 9, 2018

This update contains the following changes:

  • The definition of the channel resource's snippet.thumbnails property has been updated to note that when displaying thumbnails in your application, your code should use the image URLs exactly as they are returned in API responses. For example, your application should not use the http domain instead of the https domain in a URL returned in an API response.

    Beginning in July 2018, channel thumbnail URLs will only be available in the https domain, which is how the URLs appear in API responses. After that time, you might see broken images in your application if it tries to load YouTube images from the http domain.

  • Note: This is a deprecation announcement.

    The video resource's recordingDetails.location.altitude property has been deprecated. There is no guarantee that videos will return values for this property. Similarly, even if API requests attempt to set a value for that property, it is possible that the incoming data will not be stored.

June 22, 2018

The Implementation guide, formerly known as the Implementation and Migration guide, has been updated to remove instructions for migrating from the v2 API to the v3 API. In addition, instructions have also been removed for features that have since been deprecated in the v3 API, such as favorite videos.

November 27, 2017

This update contains the following changes:

  • Note: This is a deprecation announcement.

    YouTube is removing support for the Featured Video and Featured Website features, which are supported in the API via the channel resource's invideoPromotion object. As a result, that object, including all of its child properties are being deprecated.

    You can still retrieve and set invideoPromotion data until December 14, 2017. After that date:

    • Attempts to retrieve the invideoPromotion part when calling channels.list will return an empty invideoPromotion or will not return any invideoPromotion data at all.
    • Attempts to update invideoPromotion data when calling channels.update will return a successful response until at least May 27, 2018, but they will be treated as no-ops, meaning that they will not actually perform an update.

    After May 27, 2018, it is possible that these requests could return error messages to indicate, for example, that invalidPromotion is an invalid part.

November 16, 2017

This update contains the following changes:

  • The interactive code snippet tool now supports Node.js code samples. The samples are also visible in the documentation for almost all API methods, such as the channels.list method.

    The customizable samples are designed to give you a use-case-specific starting point for a Node.js application. The functionality is similar to the code in the Node.js quickstart guide. However, the samples do contain some utility functions that don't appear in the quickstart:

    • The removeEmptyParameters function takes a list of key-value pairs corresponding to API request parameters and removes the parameters that don't have values.
    • The createResource function takes a list of key-value pairs corresponding to properties in an API resource. It then converts the properties into a JSON object that can be used in insert and update operations. The example below shows a set of property names and values and the JSON object that the code would create for them:
      # Key-value pairs:
      {'id': 'ABC123',
       'snippet.title': 'Resource title',
       'snippet.description': 'Resource description',
       'status.privacyStatus': 'private'}
      
      # JSON object:
      {
       'id': 'ABC123',
       'snippet': {
         'title': 'Resource title',
         'description': 'Resource description',
       },
       'status': {
         'privacyStatus': 'private'
       }
      }

    All of these samples are designed to be downloaded and run locally. For more information, see the prerequisites for running full code samples locally in the code snippet tool instructions.

October 25, 2017

This update contains the following changes:

  • The Python code samples in the interactive code snippet tool have been updated to use the google-auth and google-auth-oauthlib libraries instead of the oauth2client library, which is now deprecated.

    In addition to that change, the tool now provides full code samples for installed Python applications and Python web server applications, which use slightly different authorization flows. To see the full samples (and this change):

    1. Go to the interactive code snippet tool or to the documentation for any API method, such as the channels.list method.
    2. Click the Python tab above the code samples.
    3. Click the toggle above the tabs to switch from seeing a snippet to a full sample.
    4. The tab should now show a complete code sample that uses the InstalledAppFlow authorization flow. The description above the sample explains this and also links to a sample for a web server application.
    5. Click the link to switch to the web server example. That sample uses the Flask web application framework and a different authorization flow.

    All of these samples are designed to be downloaded and run locally. If you'd like to run the samples, see the instructions for running full code samples locally in the code snippet tool instructions.

August 29, 2017

This update contains the following changes:

  • The definition of the search.list method's forContentOwner parameter has been updated to note that if that parameter is set to true, the type parameter must be set to video.
  • The definition of the search.list method's regionCode parameter has been updated to clarify that the parameter restricts search results to videos that can be viewed in the specified region.
  • YouTube has updated its branding logos and icons. New "developed with YouTube" logos can be downloaded from the branding guidelines page. Other new YouTube logos and icons are also shown on that page and can be downloaded from the YouTube brand site.

July 24, 2017

This update contains the following changes:

  • A new YouTube Data API quickstart guide is available for iOS. The guide explains how to use the YouTube Data API in a simple iOS application written in either Objective-C or Swift.
  • The interactive code snippet tool for the YouTube Data API now includes documentation explaining some of the tool's features:
    • Executing API requests
    • Toggling between code snippets and full code samples
    • Using boilerplate functions
    • Loading existing resources (for update methods)

    Note: The tool is also embedded in API reference documentation for API methods (example).

June 1, 2017

This update contains the following changes:

May 17, 2017

This update contains the following changes:

  • The API reference documentation has been updated to make code snippets more ubiquitous and interactive. Pages that explain API methods, like channels.list or videos.rate, now feature an interactive tool that lets you view and customize code snippets in Java, JavaScript, PHP, Python, Ruby, Apps Script, and Go.

    For any given method, the tool shows code snippets for one or more use cases, and each use case describes a common way of calling that method. For example, you can call the channels.list method to retrieve data about a specific channel or about the current user's channel.

    You can also interact with code samples:

    • Modify parameter and property values, and the code snippets dynamically update to reflect the values you provide.

    • Toggle between code snippets and full samples. A code snippet shows the portion of the code that calls the API method. A full sample contains that snippet as well as boilerplate code for authorizing and sending requests. Full samples can be copied and run from the command line or a local web server.

    • Execute requests by clicking a button. (To execute requests, you need to authorize the tool to call the API on your behalf.)

    Note that this tool has replaced the APIs Explorer on the pages where it is available. (Each page displays a link so that you also have the option of loading the request you are working on in the APIs Explorer.)

  • The Data API Code Snippets tool has also been updated with a new UI that offers all of the same features described above. The major new features available on this page are:

    • Support for API requests that write data.
    • Support for Java samples.
    • More flexible and comprehensive boilerplate code for authorizing users and building API requests.

April 27, 2017

This update contains the following changes:

March 30, 2017

This update contains the following changes:

  • The channel resource's new topicDetails.topicCategories[] property contains a list of Wikipedia URLs that describe the channel's content. The URLs correspond to the topic IDs returned in the resource's topicDetails.topicIds[] property.
  • The playlistItem resource's new contentDetails.videoPublishedAt property identifies the time that the video was published to YouTube. The resource already contains the snippet.publishedAt property, which identifies the time that the item was added to the playlist.
  • Like the channel resource, the video resource now returns the topicDetails.topicCategories[] property, which contains a list of Wikipedia URLs that describe the video's content. For video resources, the URLs correspond to the topic IDs returned in the resource's topicDetails.relevantTopicIds[] property.
  • The video resource's new contentDetails.contentRating.mpaatRating property identifies the rating that the Motion Picture Association of America gave to a movie trailer or preview.

February 27, 2017

As originally announced on August 11, 2016, YouTube has switched the supported list of topic IDs to a curated list. The complete list of supported topic IDs is included in the topicDetails properties for channel and video resources as well as in the search.list method's topicId parameter.

Note that there are several changes to the curated list:

  • The following topics have been added as subtopics of Society:
    Nametopic ID
    Business/m/09s1f
    Health/m/0kt51
    Military/m/01h6rj
    Politics/m/05qt0
    Religion/m/06bvp
  • The Animated cartoon topic, previously a child of Entertainment, has been removed.
  • The Children's music topic, previously a child of Music, has been removed.

As a result of this change, topics related to a video are now always returned in the video resource's topicDetails.relevantTopicIds[] property value.

November 29, 2016

This update contains the following changes:

  • There are three small changes to the list of topic IDs that will be supported as of February 10, 2017:

    • The Professional wrestling category, which was previously a child of the Sports category, is now a child of Entertainment.
    • The TV shows category, which is a child of Entertainment, is new.
    • The Health category, previously a child of Lifestyle, has been removed.

    Also note that there are a few parent categories (Entertainment, Gaming, Lifestyle, Music, and Sports). Any video that is associated with a child category, like Tennis, will also be associated with the parent category (Sports).

November 10, 2016

This update contains the following changes:

  • As first announced on August 11, 2016, the deprecation of Freebase and the Freebase API requires several changes related to topic IDs. Topic IDs identify topics associated with channel and video resources, and you can also use the topicId search parameter to find channels or videos related to a particular topic.

    On February 10, 2017, YouTube will start returning a small set of topic IDs instead of the much more granular set of IDs returned thus far. In addition, note that channels and videos are not guaranteed to be associated with any topics, which is consistent with current API behavior.

    So that you can prepare your API Clients for those changes, the definitions of the following API parameters and properties have been updated to list the topic IDs that will be supported after that time. Note that the list of categories is the same for all of the properties.

  • Note: This is a deprecation announcement.

    The following properties are being deprecated:

    • The channel resource's topicDetails.topicIds[] property. This property will be supported until November 10, 2017.
    • The video resource's topicDetails.relevantTopicIds[] property. This property will be supported until November 10, 2017.
    • The video resource's topicDetails.topicIds[] property. This property will not contain values after February 10, 2017. (After that date, the topicDetails.relevantTopicIds[] property value will identify all of the topics associated with a video.)
  • Since Freebase has already been deprecated, the Searching with Freebase Topics guide has been removed from the documentation. That guide provided code samples to show how an application would work with the Freebase API.

    In addition, several code samples related to topic IDs have been removed from the search.list method's documentation.

November 2, 2016

This update contains the following changes:

  • New properties and parameters

    • The video resource contains several new properties:

      • The player.embedHtml property contains an