Revision History

This page lists API changes and documentation updates for both the YouTube Reporting API and the YouTube Analytics API. Both APIs enable developers to access YouTube Analytics data, albeit in different ways. Subscribe to this changelog.

November 1, 2018

This update contains the following changes related to the YouTube Analytics (Targeted Queries) API:

Version 1 of the API is now deprecated. If you have not done so already, please update your API clients to use version 2 of the API as soon as possible to minimize service disruptions. See the migration guide for more details.

Note that the schedule for this deprecation was originally announced on April 26, 2018.

September 17, 2018

This update contains the following changes related to the YouTube Analytics (Targeted Queries) API:

The new data anonymization section in the Data Model overview document explains that some YouTube Analytics data is limited when metrics do not meet a certain threshold. This can happen in a variety of cases. In practice, it means that a report might not contain all (or any) of your data if:

a video or channel has limited traffic during a specified time period,

or

you have selected a filter or dimension, such as traffic source or country, for which values do not meet a certain threshold.

The new section also includes a discussion of the types of data that might be limited in YouTube Analytics reports.

the https://www.googleapis.com/auth/youtube.readonly scopeand
the https://www.googleapis.com/auth/yt-analytics.readonly scope

The first option uses one scope, which happens to be a read-write scope, while the second option uses two read-only scopes.

May 23, 2018

This update contains the following changes to the YouTube Analytics (Targeted Queries) API:

The API Overview contains a new section, aggregate metrics and deleted items, which explains how API responses handle data associated with deleted resources, such as videos, playlists, or channels.

The API Overview's best practices section has been updated to remind you that you can use the YouTube Data API to retrieve additional metadata for resources identified in YouTube Analytics API responses. As noted in the YouTube API Services Developer Policies (sections III.E.4.b through III.E.4.d), API clients must either delete or refresh stored resource metadata from that API after 30 days.

May 22, 2018

This update contains the following changes related to the YouTube Reporting (Bulk Reports) API:

The following changes are currently scheduled to go into effect in July 2018, and the new policies apply globally to all reports and reporting jobs.

After the change, most API reports, including backfill reports, will be available for 60 days from the time that they are generated. However, reports containing historical data will be available for 30 days from the time they are generated.

Prior to this announcement, all API reports have been available for 180 days from the time that they were generated. To be clear, when this policy change goes into effect, historical data reports that are more than 30 days old will also no longer be accessible via the API. All other reports that are more than 60 days old will also no longer be accessible. As such, the documentation now states that reports created prior to the policy change will be available for up to 180 days.

After the change, when you schedule a reporting job, YouTube will generate reports from that day forward and covering the 30-day period prior to the time the job was scheduled. Prior to the change, when you schedule a reporting job, YouTube will generate reports covering the 180-day period prior to the time that the job was scheduled.

The best practices section has been updated to remind you that you can use the YouTube Data API to retrieve additional metadata for resources identified in reports. As noted in the YouTube API Services Developer Policies (sections III.E.4.b through III.E.4.d), API clients must either delete or refresh stored resource metadata from that API after 30 days.

The Report characteristics section has been updated to note that even though report data is not filtered, reports that contain data for a time period on or after June 1, 2018, will not contain any references to YouTube resources that were deleted at least 30 days prior to the date the report was generated.

The historical data section of the API overview has been updated to note that when you schedule a new reporting job, the historical reports are typically posted within a couple of days. Previously, the documentation stated that it could take up to 30 days for such reports to be available.

The backfill data section of the API overview has been updated to more clearly define backfill data as a data set that replaces a previously delivered set.

April 26, 2018

Version 2 of the YouTube Analytics (Targeted Queries) API (v2) is now publicly available. The following list identifies product and documentation changes related to the new API version:

The v2 API is almost identical to the v1 API. However, you will likely need to update your code to reflect the changes listed below. All of these changes are explained in detail in the new migration guide.

The API's version has changed from v1 to v2.

The base URL for API requests has changed from https://www.googleapis.com/youtube/analytics/v1 to https://youtubeanalytics.googleapis.com/v2.

Several parameters for the reports.query method have updated names. Specifically, parameter names that contain hyphens, like end-date in the v1 API use camel case (endDate) rather than hyphens in the v2 API. This change makes parameter names consistent throughout the API since the API's methods for creating and managing groups already used camel casing for parameter names.

The v2 API does not support batch requests sent to Google's global HTTP batch endpoint (www.googleapis.com/batch). If you are sending batch requests in the v2 API, you need to use the endpoint https://youtubeanalytics.googleapis.com/v2 instead.

In addition, a few v1 features are not supported in the v2 API:

The reports.query method no longer supports the alt, quotaUser, and userIp request parameters.

The v2 API does not provide a batch endpoint that supports batches comprised of requests to different APIs. (A batch can be comprised of requests to different methods of the same API, however.) This deprecation is not specific to the YouTube Analytics API as Google is deprecating the global batch endpoint across all of its APIs.

The v2 API does not support the JSON-RPC protocol, which was supported in API v1. Again, this deprecation is not specific to the YouTube Analytics API.

Note: This is a deprecation announcement.

Version 1 of the API (v1) is now deprecated and will be supported until October 31, 2018. All requests to the v1 API will stop working after that date. As such, please be sure to upgrade to the v2 API no later than October 31, 2018, to avoid any interruption in your ability to access YouTube Analytics data via the API.

February 21, 2018

This update contains the following changes to the YouTube Analytics (Targeted Queries) API:

Viewer demographic reports, which aggregate viewing statistics based on viewers' age group and gender, no longer support the youtubeProduct dimension, which identifies the YouTube service on which the user activity occurred.

January 18, 2018

This update contains the following changes:

YouTube Reporting API (Bulk Reports)

The operating_system dimension, which identifies the software system of the device on which views occurred, now supports the following value:

December 20, 2017

This update contains two changes related to the YouTube Reporting API:

The API server now supports gzip compression for requests that download reports. Note that gzip compression is not supported for other types of API requests. Enabling gzip compression reduces the bandwidth needed for each API response. And, while your application will need additional CPU time to uncompress API responses, the benefit of consuming fewer network resources usually outweighs that cost.

To receive a gzip-encoded response, set the Accept-Encoding HTTP request header to gzip as shown in the following example:

Accept-Encoding: gzip

This functionality is explained in the API overview and in the definition of the report resource's downloadUrl property.

The documentation of the age group and gender dimensions has been corrected to show the actual values that the API returns for those dimensions. Note that this is a documentation correction and does not reflect a change in API functionality or behavior. Specifically, the following values have changed:

Values for the age_group dimension use uppercase letters, contain underscores between the word AGE and the numbers in the age group, and use underscores instead of hyphens. As such, values like age13-17 and age18-24 have been corrected to AGE_13_17 and AGE_18_24, respectively.

Values for the gender dimension use uppercase letters. Thus, the values female, male, and gender_other have been corrected to FEMALE, MALE, and GENDER_OTHER.

August 10, 2017

On August 10, 2016, this documentation announced the deprecation of the YouTube Analytics API's earnings metric. (At the same time, the API added support for a new metric, named estimatedRevenue, that provides the same data.)

Since the earnings metric was a core metric, it was supported for one year from the date of the announcement. Now that that yearlong period has ended, however, the earnings metric is no longer supported. As a result, API requests that specify the earnings metric now return a 400 HTTP response code. If you haven't already updated your app to use the estimatedRevenue metric instead of the earnings metric, please do so as soon as possible.

The API documentation has been updated to remove remaining references to the earnings metric.

July 6, 2017

This update contains the following changes:

YouTube Analytics API (Targeted Queries)

The API documentation has been updated to reflect the fact that API responses contain data up until the last day in the requested date range for which all metrics being queried are available.

For example, if a request specifies an end date of July 5, 2017, and values for all of the requested metrics are only available through July 3, 2017, that will be the last date for which data is included in the response. (That is true even if data for some of the requested metrics is available for July 4, 2017.)

The adType dimension now supports the value reservedBumperInstream, which refers to a non-skippable video ad of up to 6 seconds that plays before a video can be viewed. The ad format is identical to the auctionBumperInstream ad, but this type refers to ads sold on a reserved rather than an auction basis.

YouTube Reporting API (Bulk Reports)

The ad_type dimension now supports the value 20, which refers to bumper ads sold on a reserved basis. Bumper ads are non-skippable video ads of up to 6 seconds that play before a video can be viewed. Note that the value 19 for this dimension also refers to bumper ads that are sold on an auction rather than a reserved basis.

Reporting jobs for the following YouTube Reporting API reports have been deleted:

channel_basic_a1

channel_province_a1

channel_playback_location_a1

channel_traffic_source_a1

channel_device_os_a1

channel_subtitles_a1

channel_combined_a1

content_owner_basic_a2

content_owner_province_a1

content_owner_playback_location_a1

content_owner_traffic_source_a1

content_owner_device_os_a1

content_owner_subtitles_a1

content_owner_combined_a1

content_owner_asset_basic_a1

content_owner_asset_province_a1

content_owner_asset_playback_location_a1

content_owner_asset_traffic_source_a1

content_owner_asset_device_os_a1

content_owner_asset_combined_a1

These report types were announced as deprecated on September 15, 2016, and reports were no longer generated for those report types after December 15, 2016. Previously generated reports were still available for 180 days from the time they were generated. Thus, some reports were accessible as late as June 15, 2017. However, since the reports are no longer available, the jobs associated with the reports are not needed either.

May 24, 2017

All reporting jobs for the following YouTube Reporting API reports have been deleted:

content_owner_ad_performance_a1

content_owner_asset_estimated_earnings_a1

content_owner_estimated_earnings_a1

These report types were announced as deprecated on June 22, 2016, and reports were no longer generated for those report types after September 22, 2016. Previously generated reports were still available for 180 days from the time they were generated. Thus, some reports were accessible as late as March 22, 2017. However, since the reports are no longer available, the jobs associated with the reports are not needed either.

May 22, 2017

This update contains the following changes:

YouTube Reporting API (Bulk Reports)

The sharing_service dimension, which identifies the service that was used to share videos, now supports the following values:

85: YouTube Music

86: YouTube Gaming

87: YouTube Kids

88: YouTube TV

In addition, the name used to identify value 52 has been updated in the documentation to Kakao (Kakao Talk) to more clearly differentiate it from value 73 (Kakao Story). This change does not reflect any change in API behavior or classification of videos shared with these services.

March 17, 2017

This update contains the following changes:

The YouTube Analytics API supports the redViews and estimatedRedMinutesWatched metrics, both of which relate to YouTube Red viewership. In fact, the API has actually supported these metrics for some time, and the YouTube Reporting API already supports both metrics as announced on September 15, 2016.

The redViews metric identifies the number of times that a video was viewed by YouTube Red members.

March 3, 2017

This update contains the following changes:

YouTube Reporting API (Bulk Reports)

The definition of the date dimension has been corrected to note that the dimension value refers to the period beginning at 12:00 a.m. Pacific time and ending at 11:59 p.m. Pacific time on the specified day, month, and year. Depending on the time of year, Pacific time is either UTC-7 or UTC-8.

Though dates typically represent a 24-hour period, dates when clocks are adjusted forward represent a 23-hour period, and dates when clocks are adjusted backward represent a 25-hour period. (Previously, the documentation stated that each date represented a unique 24-hour period and that Pacific time was always UTC-8.)

Note that this correction does not represent a change in actual API behavior.

The operating_system dimension, which identifies the software system of the device on which views occurred, now supports the following values:

22: Tizen

23: Firefox

24: RealMedia

All reporting jobs for the content_owner_basic_a1 report type have been deleted. That report type had been fully deprecated as of August 19, 2016, but previously generated content_owner_basic_a1 reports were still available for 180 days from the time they were generated. Thus, some reports were accessible as late as February 19, 2017. However, since the reports are no longer available, the jobs associated with the reports are not needed either.

YouTube Analytics API (Targeted Queries)

The description of dimensions related to time periods has been corrected to note that the dimension value refers to the period beginning at 12:00 a.m. Pacific time and ending at 11:59 p.m. Pacific time on the specified day, month, and year. Depending on the time of year, Pacific time is either UTC-7 or UTC-8.

Though dates typically represent a 24-hour period, dates when clocks are adjusted forward represent a 23-hour period, and dates when clocks are adjusted backward represent a 25-hour period. (Previously, the documentation stated that Pacific time was UTC-8 and did not mention the possibility that a day might not represent a 24-hour period.)

Note that this correction does not represent a change in actual API behavior.

The channel reports documentation has been updated to note that channel reports do not currently contain earnings or ad performance metrics. As a result, the https://www.googleapis.com/auth/yt-analytics-monetary.readonly scope does not currently grant access to monetary data in channel reports.

February 8, 2017

The parameter allows a content owner to indicate that an API response should include channels' watch time and view data from the time period prior to when the channels were linked to the content owner. The default parameter value is false, which means that, by default, the API response only includes watch time and view data from the time that channels were linked to the content owner.

These rules also apply if the API request retrieves data for multiple channels:

If the parameter value is false, then the watch time and views data returned for any given channel is based on the date that that channel was linked to the content owner.

It is important to remember that different channels might have been linked to a content owner on different dates. If the API request is retrieving data for multiple channels and the parameter value is false, then the API response contains watch time and view data based on the linking date for each respective channel.

If the parameter value is true, then the response returns watch time and view data for all channels based on the start and end dates specified in the API request.

December 15, 2016

The following YouTube Reporting API reports are no longer supported and have been removed from the documentation. A newer version of each report is available. (The deprecation announcement for these reports was made on September 15, 2016.)

November 11, 2016

This update contains the following changes:

The YouTube Reporting API supports three new end screen reports as well as new dimensions and metrics for those reports. The reports provide impression and click-through statistics for the end screens that display after a video stops playing.

End screen reports

The end screen report for channel videos contains statistics for all of a channel's videos.

The end screen report for content owner videos contains statistics for videos on any of a content owner's channels.

The end screen report for content owner assets contains statistics for the assets associated with the videos after which the end screens display.

The following reports are no longer supported and have been removed from the documentation. A newer version of each report is available. (The deprecation announcement for these reports was made on June 22, 2016.)

November 8, 2016

This update contains the following changes to the YouTube Analytics API:

The metrics in the following list are fully deprecated and no longer supported. As announced on August 10, 2016, new metrics referring to the same data are already supported. The table below shows the deprecated metric name and the new metric name:

October 27, 2016

YouTube now automatically generates a set of system-managed ad revenue reports for content owners that have access to the corresponding reports in the Reports section of YouTube's Creator Studio. The new system-managed API reports are designed to provide programmatic access to data that is also available in the manually downloadable Creator Studio reports.

The system-managed reports overview provides a brief overview of the new reports and explains the process for retrieving them via the API. This process is slightly different from that for retrieving bulk reports for YouTube Analytics since partners do not need to schedule jobs to generate the reports.

The reportType resource's id property has been updated to include a list of the system-managed reports that you can access via the API:

Monthly, worldwide ad revenue per video

Daily, per-country ad revenue per video

Monthly, worldwide ad revenue per asset

Daily, per-country ad revenue per asset

Claims (this report does not contain revenue data)

September 27, 2016

Note: This is a deprecation announcement.

The YouTube Analytics API's uniques metric has been deprecated. This is not a core metric and it will be supported until October 31, 2016.

September 15, 2016

This update contains the following YouTube Reporting API changes:

The API supports two new metrics related to YouTube Red viewership:

red_views: The number of times that a video was viewed by YouTube Red members.

The API supports new versions of 20 reports. All of the new versions support the new red_views and red_watch_time_minutes metrics.

For each report, the number in the new report type ID is one number higher than in the old report type ID. (The old versions of these reports are now deprecated as described later in this revision history.) For example, the channel_basic_a1 report is now deprecated and has been replaced by the channel_basic_a2 report.

Note that if you already have jobs to create any of the older versions of the reports listed above, you need to create new jobs for the renamed reports. In conjunction with the release of the new report versions, the following report versions have been deprecated:

channel_basic_a1

channel_province_a1

channel_playback_location_a1

channel_traffic_source_a1

channel_device_os_a1

channel_subtitles_a1

channel_combined_a1

content_owner_basic_a2

content_owner_province_a1

content_owner_playback_location_a1

content_owner_traffic_source_a1

content_owner_device_os_a1

content_owner_subtitles_a1

content_owner_combined_a1

content_owner_asset_basic_a1

content_owner_asset_province_a1

content_owner_asset_playback_location_a1

content_owner_asset_traffic_source_a1

content_owner_asset_device_os_a1

content_owner_asset_combined_a1

If you have jobs for any of those reports, you should not expect YouTube to generate new reports for those jobs after December 15, 2016. Generated reports will still be available for 180 days from the time they were generated.

August 19, 2016

This update contains the following YouTube Reporting API change:

The content_owner_basic_a1 report has been fully deprecated and removed from the documentation. YouTube will no longer generate new reports of that type, though reports that were already generated will still be available for 180 days from the time they were generated.

August 11, 2016

This update contains the following changes:

The newly published YouTube API Services Terms of Service ("the Updated Terms"), discussed in detail on the YouTube Engineering and Developers Blog, provides a rich set of updates to the current Terms of Service. In addition to the Updated Terms, which will go into effect as of February 10, 2017, this update includes several supporting documents to help explain the policies that developers must follow.

The full set of new documents is described in the revision history for the Updated Terms. In addition, future changes to the Updated Terms or to those supporting documents will also be explained in that revision history. You can subscribe to an RSS feed listing changes in that revision history from a link in that document.

August 10, 2016

This update includes the following changes:

YouTube Analytics API (Targeted Queries)

Note: This is a deprecation announcement.

The metrics in the following table are being deprecated. At the same time, new metrics referring to the same data are being introduced. In effect, this means that the old metrics are being renamed, though the YouTube Analytics API will support both metric names until the deprecation dates listed in the table.

Note that the earnings metric was a core metric, so it will be supported for one year from the date of this announcement. The other metrics, which were not core metrics, will be supported for three months, until November 4, 2016.

For example, until November 4, 2016, an API request can specify the impressionBasedCpm metric, the cpm metric, or both. However, after that date, only the cpm metric will be supported.

CAMPAIGN_CARD: This traffic source is only supported for content owner reports. It indicates that the views originated from claimed, user-uploaded videos that the content owner used to promote the viewed content.

END_SCREEN: The data pertains to views that originated from the endscreen of another video.

19: This traffic source is only supported for content owner reports. It indicates that the views originated from claimed, user-uploaded videos that the content owner used to promote the viewed content.

20: The data pertains to views that originated from the endscreen of another video.

For both new traffic sources, the traffic_source_detail dimension identifies the video from which the viewer was referred.

The API's list of core metrics has been corrected to list estimated_partner_revenue as a core metric and to remove the earnings from that list. (The earnings metric has never been supported in the YouTube Reporting API.)

The ad_type dimension now supports the value 19 that refers to bumper ads, which are non-skippable video ads of up to 6 seconds that play before a video can be viewed.

July 18, 2016

This update includes the following changes:

YouTube Analytics API (Targeted Queries)

The lists of supported metrics for the following channel reports have been updated to include card metrics. Support for card metrics in these reports was actually added on June 28, 2016, and the revision history entry for that date explains the change in more detail. The reports are:

Previously, the documentation for both reports incorrectly stated that the report could be retrieved using one of those two filters or using neither filter.

YouTube Reporting API (Bulk Reports)

In the API overview, the section that explains how to retrieve a report's download URL has been corrected to state that YouTube does generate downloadable reports for days on which no data was available. Those reports contain a header row but do not contain additional data. This information had already been updated in the Report characteristics section of the same document on April 12, 2016.

The list of dimensions in the content_owner_asset_cards_a1 report has been corrected to reflect that the report uses the card_id dimension. Previously, the documentation incorrectly listed the dimension name as card_title.

June 28, 2016

The YouTube Analytics API documentation has been updated to reflect support for card metrics in numerous channel and content owner reports. The newly supported metrics are:

June 22, 2016

This update contains the following YouTube Reporting API changes. The first change pertains to the API in general, and the remaining changes only affect content owner reports:

The Report characteristics section of the API overview has been updated to clarify that reports are available via the API for 180 days from the time that they are generated.

Previously, the documentation stated that reports are available for a period of up to 180 days prior to the date that the API request is sent. While also technically true, the original text was, at best, rather confusing.

The API supports new versions of three reports. Two of those reports also contain new and renamed metrics:

The content_owner_ad_rates_a1 report is the new version of the content_owner_ad_performance_a1 report. The newly renamed report is identical to the previous version.

Two reports that have new versions have been renamed:

The new version of the content_owner_estimated_earnings_a1 report is named content_owner_estimated_revenue_a1.

The new version of the content_owner_asset_estimated_earnings_a1 report is named content_owner_asset_estimated_revenue_a1.

Both newly renamed reports differ from their predecessors in the following ways:

Note that if you already have jobs to create any of the older versions of these reports, you need to create new jobs for the renamed reports. In conjunction with the release of the new report versions, the content_owner_ad_performance_a1, content_owner_estimated_earnings_a1, and content_owner_asset_estimated_earnings_a1 reports have been deprecated.

If you have jobs for any of those reports, you should not expect YouTube to generate new reports for those jobs after September 22, 2016. Generated reports will still be available for 180 days from the time they were generated.

The definition of the reportType resource's id property has been updated to reflect the current set of available reports.

The names of two metrics have been corrected in the documentation to match the names that appear in reports. This is purely a documentation fix and does not reflect a change in actual report contents:

The estimated_partner_adsense_revenue metric's name has been updated to estimated_partner_ad_sense_revenue. Note, however, that this metric only appears in two reports that are being deprecated with this update. As described above, this metric has been renamed estimated_partner_ad_auction_revenue in newer versions of those reports.

The estimated_partner_doubleclick_revenue metric's name has been updated to estimated_partner_double_click_revenue. Again, note that this metric only appears in two reports that are being deprecated with this update. As described above, this metric has been renamed estimated_partner_ad_reserved_revenue in newer versions of those reports.

The dimensions documentation for the Reporting API has been updated to no longer list the elapsed_video_time_percentage and audience_retention_type properties. These dimensions are not currently supported by any reports available through the API.

May 19, 2016

This update contains the following YouTube Reporting API changes:

The API supports a new version of the user activity report for content owners. The report type ID for the new report is content_owner_basic_a2. Unlike the previous version of the report, content_owner_basic_a1, the new version supports the likes and dislikes metrics.

If you already have a job to create the content_owner_basic_a1 report, you still need to create a new job for the content_owner_basic_a2 report. YouTube is not automatically migrating content owners to the new report version or automatically creating a job to generate the new report version. In some implementations, the appearance of a new, unexpected job could be a breaking change.

In conjunction with the release of the new report, the content_owner_basic_a1 report has been deprecated. If you have a job for that report, you should not expect YouTube to generate new reports for that job after August 19, 2016. Generated reports will still be available for 180 days from the time they were generated.

The reportType, job, and report resources all support a new property that identifies whether the associated resource represents a deprecated report type:

The reportType resource's deprecateTime property specifies the date and time that the report type will be deprecated. This property only has a value for reports that have been announced as deprecated, and the value represents the date when YouTube will stop generating reports of that type.

After a report type is announced as deprecated, YouTube generates reports of that type for another three months. For example, this update on May 19, 2016, announces the deprecation of the content_owner_basic_a1 report. Thus, the deprecateTime for that report type specifies a time on August 19, 2016, after which YouTube will stop generating reports of that type.

The job resource's expireTime property specifies the date and time that the job expired or will expire. This property has a value if the report type associated with the job has been deprecated or if reports generated for the job have not been downloaded for a prolonged period of time. The date marks the time after which YouTube no longer generates new reports for the job.

The report resource's jobExpireTime property specifies the date and time that the job that is associated with the report either expired or will expire. This property contains the same value as the expireTime property in the job resource, as described in the previous item in this list.

The jobs.create method now returns a 400 HTTP response code (Bad Request) if you try to create a job for a deprecated report. In addition, the method's documentation now lists several other reasons that cause an API request to fail.

April 12, 2016

This update contains the following changes, all of which only affect the YouTube Reporting API:

YouTube now generates data covering the 180-day period prior to the time a reporting job was first scheduled. Previously, the Reporting API did not deliver any historical data. This change affects all jobs, including those created prior to this announcement.

Historical reports are posted as soon as they are available, though it takes roughly one month for all of the historical data to be posted for a job. So, a month after scheduling a reporting job, you will have access to around seven months of data. (All of the historical data for jobs created prior to this announcement should be posted within a month of the announcement.)

Note that historical data is only available as of July 1, 2015. As a result, jobs created before December 28, 2015, will have less than 180 days of historical data.

These change are all explained in the new historical data section of the Reporting API overview.

The report characteristics section of the YouTube Reporting API overview has been updated with the following changes:

The documentation now states that reports are available for a period of 180 days after they are generated and, therefore, available for API clients to download. Previously, the documentation stated that reports were available for a period of up to six months prior to the date that the API request is sent.

The documentation has been updated to reflect the fact that the API now generates downloadable reports for days on which no data was available. Those reports will contain header rows but will not contain additional data.

The YouTube Reporting API will soon support a set of automatically generated, system-managed reports that contain ad revenue data or YouTube Red subscription revenue data. The reports will be available to content owners who can already access manually downloadable revenue reports in the YouTube Creator Studio. Thus, the new API functionality will provide programmatic access to that data.

The following API changes are being announced now in preparation for the launch of system-managed reports:

The jobs.list method's new includeSystemManaged parameter indicates whether the API response should include jobs for system-managed reports. The parameter's default value is false.

The jobs.reports.list method's new startTimeAtOrAfter parameter indicates that the API response should only contain reports if the earliest data in the report is on or after the specified date. Similarly, the startTimeBefore parameter indicates that the API response should only contain reports if the earliest data in the report is before the specified date.

Unlike the method's createdAfter parameter, which pertains to the time that the report was created, the new parameters pertain to the data in the report.

7: The data pertains to views that took place on the YouTube home page or home screen, in the user's subscription feed, or in another YouTube browsing feature.

8: The data pertains to views that took place directly on the YouTube search results page.

The traffic_source_type dimension now supports 18 as a dimension value. This value indicates that the video views originated from a page that lists all of the videos in a playlist. This source differs from source type 14, which indicates that the views occurred while the video was being played as part of a playlist.

BROWSE: The data pertains to views that took place on the YouTube home page or home screen, in the user's subscription feed, or in another YouTube browsing feature.

SEARCH: The data pertains to views that took place directly on the YouTube search results page.

The insightTrafficSourceType dimension now supports YT_PLAYLIST_PAGE as a dimension value. This value indicates that the video views originated from a page that lists all of the videos in a playlist. This source differs from the PLAYLIST source type, which indicates that the views occurred while the video was being played as part of a playlist.

February 8, 2016

The list of metrics supported for the YouTube Analytics API has been updated so that card metrics are no longer listed as supported metrics for that API. (None of that API's reports had been documented as supporting any of the card metrics.)

December 18, 2015

European Union (EU) laws require that certain disclosures must be given to and consents obtained from end users in the EU. Therefore, for end users in the European Union, you must comply with the EU User Consent Policy. We have added a notice of this requirement in our YouTube API Terms of Service.

December 15, 2015

This update contains the following changes, all of which affect the YouTube Analytics API:

The YouTube Analytics API now supports three new playback detail dimensions, which can be used in a variety of channel and content owner reports:

liveOrOnDemand: This dimension indicates whether the data in the report describes user activity that occurred during a live broadcast.

subscribedStatus: This dimension indicates whether the user activity metrics in the data are associated with viewers who were subscribed to the video's or playlist's channel.

The documentation has been updated to identify new playback detail reports that are available for channels and content owners. In addition, many other reports have been updated to note that one or more of these dimensions can optionally be used as dimensions and/or filters in those reports.

The format of the tables that explain the reports has changed to make it easier for you to identify valid combinations of dimensions, metrics, and filters that can be used to retrieve each report. The table below, which explains the "Device Type" report for channels, shows the new format:

The terminology describing required and optional fields is explained in the documentation for channel and content owner reports.

The YouTube Analytics API now automatically drops entities that the API user cannot retrieve data for from filters that support multiple values (video, playlist, and channel). Previously, the API server would have just returned an error if the API user could not access data for at least one of the specified items.

For example, suppose a user submits an API request in which the video filter lists 20 video IDs. The user owns 18 of the videos. However, one videos ID identifies a video owned by another channel, and another ID identifies a video that was deleted and, therefore, no longer exists. In this case, instead of returning an error, the API server now drops the two videos that the user cannot access, and the API response contains data for the 18 videos that the API user owns.

If you request data for an empty YouTube Analytics group, the API now returns an empty data set rather than an error.

The YouTube Analytics API's groupItems.insert method now returns an unauthorized (403 HTTP response code) error if you try to add an entity to a group but you do not have access to that entity. Previously, the API would have allowed you to add the entity to the group, but later returned an unauthorized error when you tried to retrieve report data for that group.

The YouTube Analytics API's groups.list method now supports pagination. If the API response does not contain all available groups, then the response's nextPageToken parameter specifies a token that can be used to retrieve the next page of results. Set the method's pageToken parameter to that value to retrieve additional results.

November 10, 2015

This update contains the following changes:

The YouTube Analytics API now supports the redPartnerRevenue metric, which reports the total estimated revenue earned from YouTube Red subscriptions for the selected report dimensions. The metric's value reflects earnings from both music and non-music content and is subject to month-end adjustment.

The YouTube Analytics API's list of content owner reports has been updated to identify the video reports that support the redPartnerRevenue metric:

October 29, 2015

This update contains the following changes:

The documentation for the YouTube Reporting API's date dimension has been corrected to reflect that dates reference the 24-hour period beginning at 12:00 a.m. Pacific time (UTC-8). Previously, the documentation stated that the date began at 12:00 a.m. (GMT).

In addition, the YouTube Analytics API documentation has been updated to note that all date-related dimensions (day, 7DayTotals, 30DayTotals, and month) refer to dates beginning at 12:00 a.m. Pacific time (UTC-8).

The YouTube Reporting API's jobs.reports.list() method now supports the createdAfter query parameter. If specified, this parameter indicates that the API response should only list reports created after the specified date and time, including new reports with backfilled data. Note that the parameter value pertains to the time that the report is created and not the dates associated with the returned data.

The parameter value is a timestamp in RFC3339 UTC "Zulu" format, accurate to microseconds. Example: "2015-10-02T15:01:23.045678Z".

The YouTube Reporting API best practices have also been updated to explain how you can use the createdAfter parameter to avoid repeatedly processing the same report.

The definitions of the job resource's createTime property and the report resource's startTime, endTime, and createTime properties have all been corrected to note that the property values are accurate to microseconds, not nanoseconds. In addition, all of the definitions now accurately reflect that the property value is a timestamp.

October 8, 2015

This update contains the following changes:

The documentation for the YouTube Analytics API's sharingService dimension has been updated to include a list of possible dimension values. The list includes a number of newly supported services.

The YouTube Reporting API's sharing_service dimension's definition has also been updated to list the newly supported values. The enum values that are greater than 59 are the new ones in the list.

September 24, 2015

This update contains the following changes:

The new YouTube Reporting API retrieves bulk data reports that contain YouTube Analytics data for a channel or content owner. It is designed for applications that can import large data sets and that provide tools to filter, sort, and mine that data.

Each YouTube Reporting API report contains a predefined set of dimensions and metrics. (YouTube Analytics API reports also use metrics and dimensions.) In a report, each row of data has a unique combination of dimension values. You can aggregate data across rows based on dimension values to calculate metrics for individual videos, countries, live videos, subcribed users, and so forth.

You can use the API to schedule reporting jobs, each of which identifies a report that YouTube should generate. Once you have set up a job, YouTube generates a daily report that can be asynchronously downloaded. Each report contains data for a unique, 24-hour period.

Although they are different APIs, the YouTube Analytics API and the YouTube Reporting API both enable developers to retrieve YouTube Analytics data. Since the APIs both provide access to similar data sets, the documentation for the two APIs is being published as a single set of documentation.

The Guides tab in the documentation set contains information common to both APIs, including instructions for authorizing API requests.

The Bulk reports tab contains reference documentation and other content specifically for the YouTube Reporting API.

The Targeted queries tab contains reference documentation and other content specifically for the YouTube Analytics API.

The Samples tab lists code samples available for either of the two APIs.

The Tools tab lists additional resources available to help developers implement either of the two APIs.

August 20, 2015

This update contains the following changes:

The API documentation has been restructured in an effor to make the API easier to understand. As such, these changes do not describe new features:

The documentation now contains one page that lists all available channel reports and another that lists all available content owner reports. Previously, the documentation had separate pages for channel video reports, channel playlist reports, and so forth.

The new data model overview seeks to provide a clearer introduction to how the API works. Specifically, this document tries to better explain how YouTube uses metrics, dimensions, and filters to calculate report values.

The API's reports.query method, which you use to retrieve reports, is now documented separately. The information on that page had previously been on some other pages. The new page is designed to help you more easily identify the information you need to send to retrieve a report.

July 22, 2015

This update contains several changes, all of which only apply to content owners:

The new adEarnings metric includes total estimated earnings (net revenue) from all Google-sold advertising sources. It is not a core metric. The API supports the adEarnings metric for any report that already supported the earnings metric.

In addition, the definition of the earnings metric has been corrected to reflect the fact that its value includes total estimated earnings from all Google-sold advertising sources as well as from non-advertising sources. Previously, the definition incorrectly indicated that the metric only included earnings from advertising sources.

The primaryAdGrossRevenue metric has been deprecated. Instead, use the grossRevenue metric to retrieve revenue data.

videosAddedToPlaylists – The number of times that videos in the scope of the query were added to any YouTube playlists. The videos could have been added to the video owner's playlist or to other channels' playlists.

videosRemovedFromPlaylists – The number of times that videos in the scope of the query were removed from any YouTube playlists. The videos could have been removed from the video owner's playlist or from other channels' playlists.

Both metrics include default playlists like the "Watch Later" playlist. However, they do not count playlists that a video is automatically added to, such as a channel's uploads playlist or a user's watch history. Also note that these metrics reflect the absolute number of additions and deletions. So, if a user adds a video to a playlist, then removes it, and then adds it again, the metrics indicate that the video was added to two playlists and removed from one.

March 16, 2015

This update contains the following changes:

The new currency parameter allows you to retrieve earnings metrics in a currency other than United States dollars (USD). If the parameter is set, then the API converts values for the earnings, grossRevenue, playbackBasedCpm, and impressionBasedCpm metrics to the specified currency. The values returned are estimates calculated using exchange rates that change on a daily basis.

The parameter value is a three-letter, ISO 4217 currency code. The default value is USD. The parameter definition contains a list of supported currency codes.

February 25, 2015

This update contains the following changes:

The API now supports the ability to create and manage YouTube Analytics groups as well as the ability to retrieve report data for those groups.

Creating and managing groups

This update introduces the group and groupItem resources for creating and managing groups.

The group resource represents an Analytics group, a custom collection of up to 200 channels, videos, playlists, or assets. The API supports list, insert, update, and delete methods for this resource.

The groupItem resource represents an item in an Analytics group. The API supports list, insert, and delete methods for this resource.

The dimensions documentation has been updated to include the group dimension, which can be used as a filter for many channel reports and content owner reports. When you use the group filter, the API returns data for all of the items in that group. Note that the API does not currently support the ability to create reports for asset groups.

February 13, 2015

This update contains the following changes:

The API no longer supports the show dimension.

August 28, 2014

This update contains the following changes:

The API now supports the ability to specify multiple values for the video, playlist, channel, and show dimensions when those dimensions are used as filters. To specify multiple values, set the filters parameter value to a comma-separated list of the video, playlist, channel, or show IDs for which the API response should be filtered. The parameter value can specify up to 200 IDs.

If you specify multiple values for the same filter, you can also add that filter to the list of dimensions that you specify for the request. This is true even if the filter is not listed as a supported dimension for a particular report. If you do add the filter to the list of dimensions, then the API also uses the filter values to group results.

See the filters parameter definition for complete details about this functionality.

July 16, 2014

This update contains the following changes:

When retrieving a channel report, you can now retrieve data for the authenticated user's channel by setting the value of the ids parameter to channel==MINE. (You can also still set the ids parameter to channel==CHANNEL_ID to retrieve data for the specified channel.)

The API now supports playlist reports, which contain statistics related to video views that occur in the context of a playlist. Playlist reports are available for channels and content owners.

In addition, all playlist reports support the following new metrics. Note that each of these metrics only reflect playlist views that occurred on the web.

playlistStarts: The number of times viewers initiated playback of a playlist.

viewsPerPlaylistStart: The average number of video views that occurred each time a playlist was initiated.

averageTimeInPlaylist: The estimated average amount of time, in minutes, that a viewer viewed videos in a playlist after the playlist was initiated.

Any request to retrieve a playlist report must use the isCurated filter, which must be set to 1 (isCurated==1).

The API now supports an audience retention report. This report measures a video's ability to retain its audience. The report's new elapsedVideoTimeRatio dimension measures the amount of the video that has elapsed for the corresponding metric values:

The audienceWatchRatio metric identifies the absolute ratio of viewers watching the video at the given point in the video. The ratio is calculated by comparing the number of times a portion of a video has been watched to the total number of views of the video.

Note that a portion of a video could be watched more than once (or not at all) in a given video view. For example, if users rewind and watch the same portion of a video multiple times, then the absolute ratio for that portion of the video the could be greater than 1.

The relativeRetentionPerformance metric shows how well a video retains viewers during playbacks in comparison to all YouTube videos of similar length. A value of 0 indicates that the video retains viewers worse than any other video of similar length, while a value of 1 indicates that the video retains viewers better than any other video of similar length. A median value of 0.5 indicates that half of the videos of similar length retain viewers better while half retain viewers worse.

You can also use the audienceType filter so that the report only returns data associated with organic views, views from TrueView in-stream ads, or views from TrueView in-display ads. (Organic views are the direct result of user action, such as a search for a video or a click on a suggested video.)

All of the new metrics are core metrics and are subject to the Deprecation Policy. However, note that data is available for the new metrics as of July 16, 2013. (Data for the annotationClickThroughRate and annotationCloseRate metrics is available as of June 10, 2012.)

GOOGLE_SEARCH is no longer reported as a separate value for the insightTrafficSourceType dimension. Instead, referrals from Google search results are now attributed to the EXT_URL traffic source type. As a result, it's also no longer possible to retrieve an insightTrafficSourceDetail report that sets the insightTrafficSourceType filter to GOOGLE_SEARCH.

January 16, 2014

This update contains the following changes:

The sample requests document has been redesigned to group examples in categories, using a tab format similar to the one recently released for channel and content owner reports. With the new design, examples are grouped into the following categories:

Basic stats

Time-based

Geographic

Playback location

Traffic source

Device/OS

Demographic

Social

Earnings/Ads (for content owner reports only)

The sample requests document now includes new examples for retrieving province-specific data in either channel reports or content owner reports.

Province-specific metrics for U.S. states and Washington D.C.: This report retrieves a province-by-province breakdown of view counts and other statistics for a channel's videos. The data covers U.S. states and Washington D.C. The example uses the province dimension, and also uses the filters parameter to restrict the response to only include results for the United States.

Viewer demographics in California (age group and gender): This report retrieves statistics about the age group and gender of viewers in California who watched a channel's videos or, for content owner reports, a content owner's claimed content. This example uses the filters parameter to ensure the response only includes data for a particular province.

The definition of the province dimension has been updated to note that when province is included in the dimensions parameter value, the request must also restrict data to the United States by including country==US in the filters parameter value.

January 6, 2014

This update contains the following changes:

The documents that list the supported channel and content owner reports have been redesigned. Instead of providing a table that lists all possible reports, each document instead groups the reports into categories:

Basic stats

Time-based

Geographic

Playback location

Traffic source

Device/OS

Demographic

Social

Top videos

Each document displays these categories as a list of tabs, and you can click any tab to see the supported reports in that category.

The API now supports three new geographic dimensions: province, continent, and subContinent.

The province dimension lets you retrieve statistics for U.S. states and for the District of Colombia. The API supports two uses for this dimension:

The API supports two reports that break statistics down on a state-by-state basis. Both reports are available for channels and content owners.

The time-based report provides the same statistics, but aggregates data on a daily, 7-day, 30-day, or monthly basis.

You can use the filters query parameter to restrict a report to only contain statistics for a particular state. Several reports support this type of filtering, including geographic reports, playback location reports, traffic source reports, device reports, operating system reports, demographic reports, and top-video reports.

The continent dimension specifies a United Nations (UN) statistical region code that identifies a continent. This dimension can only be used as a filter.

The subContinent dimension specifies a United Nations (UN) statistical region code that identifies a sub-region of a continent. This dimension can also only be used as a filter.

Since each sub-region is only associated with one continent, there is no need to also use the continent filter when you are using the subContinent filter. (In fact, the API will return an error if a request uses both dimensions.)

September 30, 2013

This update contains the following changes:

The YouTube Analytics API is now subject to the Deprecation Policy described in the Terms of Service. However, the API's non-core dimensions and non-core metrics are not subject to the Deprecation Policy. The dimensions and metrics pages have been updated to list core dimensions and core metrics. In addition, the definitions on those pages have been updated to explicitly identify core dimensions and metrics.

The API now supports EXTERNAL_APP as a value for the insightPlaybackLocationType dimension. In conjunction with this update, as of September 10, 2013, playbacks are no longer categorized as MOBILE playbacks, though mobile playbacks that occurred before that date will still be categorized with that value.

With this update, mobile playbacks are now classified as either WATCH, EMBEDDED, or EXTERNAL_APP playbacks, depending on the type of application where the playbacks occur.

The API now supports PLAYLIST as a value for the insightTrafficSourceType dimension. The value indicates that video views were referred from a playlist. Previously, these views would have been classified using the dimension's YT_OTHER_PAGE category.

July 16, 2013

This update contains the following changes:

The API now supports the ability to sort reports by multiple dimensions and metrics. The sample requests document contains a new example, Sorting requests by multiple dimensions/metrics, that demonstrates this functionality. The request retrieves traffic source data and has a sort parameter value of day,-views. Results are sorted chronologically, but within the result set for each day, the first row contains data for the traffic source that generated the most views, the second row contains data for the source with that generated the next highest amount of views, and so forth.

The API now supports two new dimensions, deviceType and operatingSystem, which can be used to retrieve data about the devices where viewers are watching your videos. The API supports reports that use either or both dimensions.

The deviceType report lets you retrieve view counts and estimated watch time for different types of devices, including desktop, mobile, and tablet devices. You can also use the operatingSystem filter to restrict the device type report to only contain statistics for devices running a specific operating system, such as Android or iOS.

The operatingSystem report lets you retrieve view counts and estimated watch time for different operating systems, such as Android, iOS, Linux, and more. You can also use the deviceType filter to restrict the operating system report to only contain statistics for a specific type of device, such as mobile devices or tablets.

The sample requests document has been updated to include three device reports for channels and three device reports for content owners.

The insightPlaybackLocationType dimension may return the value YT_OTHER, which identifies views that are not classified using one of the dimension's other values.

May 23, 2013

This update contains the following changes:

The content owner reports document has been updated to reflect that you can sort the top video report in descending order of earnings to identify videos with the highest earnings. This report is the first one listed in the second table of the User activity and earnings reports section.

The lists of available channel reports and content owner reports have been updated to reflect this change. (The lists are actually shorter now since the watch time metrics can be retrieved as part of other listed reports.)

Content owners can now retrieve these reports using any of the following new filter combinations. Note that all of these combinations also support the optional country filter.

Playback location detail

channel,insightPlaybackLocationType==EMBEDDED

show,insightPlaybackLocationType==EMBEDDED

claimedStatus,insightPlaybackLocationType==EMBEDDED

uploaderType,insightPlaybackLocationType==EMBEDDED

uploaderType,claimedStatus,insightPlaybackLocationType==EMBEDDED

Traffic source detail

channel,insightTrafficSourceType

show,insightTrafficSourceType

claimedStatus,insightTrafficSourceType

uploaderType,insightTrafficSourceType

uploaderType,claimedStatus,insightTrafficSourceType

May 3, 2013

This update contains the following changes:

The new Sample API requests document provides examples that demonstrate how to retrieve many different types of reports using the YouTube Analytics API. Each example includes a brief description of the report that the request retrieves and then shows the dimensions, metrics, filters, and sort parameters for the request.

The insightTrafficSourceType dimension now supports SUBSCRIBER as a valid value. This value identifies video views that were referred from feeds on the YouTube homepage or from YouTube subscription features. If you filter based on this traffic source, the insightTrafficSourceDetail field will specify the homepage feed or other page from which views were referred.

annotationClickThroughRate – The ratio of annotations that viewers clicked to the total number of clickable annotation impressions.

annotationCloseRate – The ratio of annotations that viewers closed to the total number of annotation impressions.

March 21, 2013

This update contains the following changes:

The API now supports earnings and ad performance metrics as well as new ad performance reports. The metrics and the reports are all accessible only to YouTube content partners who participate in the YouTube Partner Program.

Any request that retrieves earnings or ad performance metrics must send an authorization token that grants access using the new https://www.googleapis.com/auth/yt-analytics-monetary.readonly scope.

The API documentation has been reorganized so that different types of reports are explained on separate pages. As such, there are now separate pages explaining the different types of channel reports and content owner reports.

February 4, 2013

This update contains the following changes:

The API's reference guide now has an examples section, which includes code samples that demonstrate how to call the API using the Java, JavaScript, Python, and Ruby client libraries. The JavaScript code sample is the same one discussed in detail in the sample application documentation.

November 14, 2012

This update contains the following changes:

The API reference guide now features the APIs Explorer, which enables you to call the API, see the API request, and retrieve real data in the response.

The playback location detail report identifies the embedded players that generated the most views for a specified video. It provides a more fine-grained view than the playback location report by identifying the URLs associated with the top embedded players.

The traffic source detail report identifies the referrers that generated the most views for a specified video and a specified traffic source type. For example, this report could you the related videos that sent the most traffic to a specific video. This report is supported for several traffic sources.

Watch time reports provide the amount of time viewers spent watching your content. The reports can aggregate data for a specific time frame – day, previous seven days, previous 30 days, etc. – or country. If a report aggregates data by either day or country, it can also specify the average length of each video view as well as the average percentage of each video that users watched.

October 2, 2012

This update contains the following changes:

The YouTube Analytics API is now available to all developers. You can activate the API for your project, without having to first request access, from the Services panel in the APIs console.

The new Getting Started section outlines the prerequisites and basic steps for building an application that uses the YouTube Analytics API.

September 12, 2012

This update contains the following changes:

The new understanding quota usage section provides guidelines for optimizing your API quota usage. The API server calculates a query cost for each request, and that cost is deducted from your API usage quota. Since different types of reports may have greatly different query costs, you should plan to use your quota efficiently, and your application should only request the metrics and data that it actually needs.

The temporal dimensions section has been updated to explain that those dimensions indicate that an Analytics report should aggregate data based on a time period. The API now supports the following additional temporal dimensions:

7DayTotals – Data in the report will be aggregated so that each row contains data for a seven-day period.

30DayTotals – Data in the report will be aggregated so that each row contains data for a 30-day period.

month – Data in the report will be aggregated by calendar month.

Similarly, the available reports section has been updated to reflect the API's support for reports that use these dimensions.

The reporting entity dimensions section has been updated to note that API requests to retrieve content owner reports must filter data using either one of these dimensions (video, channel, or show) or a supported combination of the claimedStatus and uploaderType dimensions.

The API now supports two new sorting options for top-video reports. These reports, which are available as channel reports or content owner reports, contain metrics (views, comments, likes, etc.) on a per-country basis and break down those metrics by video. You can now sort these reports based on the number of users who subscribed to or unsubscribed from a channel from the video's watch page.

The definitions of the subscribersGained and subscribersLostmetrics have been updated to explain that a channel can gain or lose subscribers in several places, including the video watch page, the channel page, and the guide that appears on the YouTube home page. When these metrics appear in a video-specific report, they only include statistics from the specified video's watch page.