Access to YouTube Analytics data in bulk

Want to get all of your YouTube data in bulk? Are you hitting the quota limits while accessing analytics data one request at a time? Do you want to be able to break down reports by more dimensions? What about accessing assets and revenue data?
With the new YouTube Bulk Reports API, your authorized application can retrieve bulk data reports in the form of CSV files that contain YouTube Analytics data for a channel or content owner. Once activated, reports are generated daily and contain data for a unique, 24-hour period.

While the known YouTube Analytics API supports real-time targeted queries of much of the same data as the YouTube Bulk Reports API, the latter is designed for applications that can retrieve and import large data sets, then use their own tools to filter, sort, and mine that data.

As of now the API supports video, playlist, ad performance, estimated earnings and asset reports.

How to start developing

  • Choose your reports:
    • Video reports provide statistics for all user activity related to a channel's videos or a content owner's videos. For example, these metrics include the number of views or ratings that videos received. Some video reports for content owners also include earnings and ad performance metrics.
    • Playlist reports provide statistics that are specifically related to video views that occur in the context of a playlist.
    • Ad performance reports provide impression-based metrics for ads that ran during video playbacks. These metrics account for each ad impression, and each video playback can yield multiple impressions.
    • Estimated earnings reports provide the total earnings for videos from Google-sold advertising sources as well as from non-advertising sources. These reports also contain some ad performance metrics.
    • Asset reports provide user activity metrics related to videos that are linked to a content owners' assets. For its data to included in the report, a video must have been uploaded by the content owner and then claimed as a match of an asset in the YouTube Content ID system.

  • Schedule reports:
  1. Get an OAuth token (authentication credentials)
  2. Call the reportTypes.list method to retrieve a list of the available report types
  3. Create a new reporting job by calling jobs.create and passing the desired report type (and/or query in the future)

  • Retrieve reports:
  1. Get an OAuth token (authentication credentials)
  2. Call the jobs.list method to retrieve a list of the available reporting jobs and remember its ID.
  3. Call the reports.list method with the jobId filter parameter set to the ID found in the previous step to retrieve a list of downloadable reports that that particular job created.
  4. Creators can check the report’s last modified date to determine whether the report has been updated since the last time it was retrieved.
  5. Fetch the report from the URL obtained by step 3.

  • While using our sample code and tools
    • Client libraries for many different programming languages can help you implement the YouTube Reporting API as well as many other Google APIs.
    • Don't write code from scratch! Our Java, PHP, and Python code samples will help you get started.
    • The APIs Explorer lets you try out sample calls before writing any code.