Engineering and Developers Blog
What's happening with engineering and developers at YouTube
Access to YouTube Analytics data in bulk
Friday, October 2, 2015
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:
Get an OAuth token
(authentication credentials)
Call the
reportTypes.list
method to retrieve a list of the available report types
Create a new reporting job by calling
jobs.create
and passing the desired report type (and/or query in the future)
Retrieve reports:
Get an OAuth token
(authentication credentials)
Call the
jobs.list
method to retrieve a list of the available reporting jobs and remember its ID.
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.
Creators can check the report’s last modified date to determine whether the report has been updated since the last time it was retrieved.
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.
Cheers,
—
Markus Lanthaler
,
Paul Harvey
,
Ronnie Falcon
,
Ibrahim Ulukaya
, and the YouTube API Team
Labels
.net
360
acceleration
access control
accessibility
actionscript
activities
activity
android
announcements
apis
app engine
appengine
apps script
as2
as3
atom
authentication
authorization
authsub
best practices
blackops
blur faces
bootcamp
captions
categories
channels
charts
chrome
chromeless
client library
clientlibraries
clientlogin
code
color
comments
compositing
create
curation
custom player
decommission
default
deprecation
devs
direct
discovery
docs
Documentation RSS
dotnet
education
embed
embedding
events
extension
feeds
flash
format
friendactivity
friends
fun
gears
google developers live
google group
googlegamedev
googleio
html5
https
iframe
insight
io12
io2011
ios
iphone
irc
issue tracker
java
javascript
json
json-c
jsonc
knight
legacy
Live Streaming API
LiveBroadcasts API
logo
machine learning
mashups
media:keywords keywords tags metadata
metadata
mobile
mozilla
NAB 2016
news
oauth
oauth2
office hours
open source
partial
partial response
partial update
partners
patch
php
player
playlists
policy
previews
pubsubhubbub
push
python
quota
rails
releases
rendering
reports
responses
resumable
ruby
samples
sandbox
shortform
ssl https certificate staging stage
stack overflow
stage video
staging
standard feeds
storify
storyful
subscription
sup
Super Chat API
survey
tdd
theme
tos
tutorials
updates
uploads
v2
v3
video
video files
video transcoding
virtual reality
voting
VR
watch history
watchlater
webvtt
youtube
youtube api
YouTube Data API
youtube developers live
youtube direct
YouTube Engineering & Developers Blog
YouTube IFrame Player API
YouTube live
YouTube Reporting API
ytd
Archive
2020
Nov
2019
Aug
Apr
2018
Dec
Aug
Apr
2017
Nov
Sep
Aug
Mar
Jan
2016
Nov
Oct
Aug
May
Apr
2015
Dec
Nov
Oct
May
Apr
Mar
Jan
2014
Oct
Sep
Aug
May
Mar
2013
Dec
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
2012
Dec
Nov
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Nov
Oct
Sep
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
2007
Dec
Nov
Aug
Jun
May
Feed
Follow @youtubedev