Ready to get started?

Download a free trial of the YouTube Analytics Driver to get started:

 Download Now

Learn more:

YouTube Analytics Icon YouTube Analytics JDBC Driver

Easy-to-use YouTube Analytics client enables Java-based applications to easily consume YouTube Analytics Traffic, Sources, Demographics, Subscribers, etc.

Use JayDeBeApi to access YouTube Analytics Data in Python



Use standard Python scripting and the development environment of your choice to access live YouTube Analytics data.

Access YouTube Analytics data with Python scripts and standard SQL on any machine where Python and Java can be installed. You can use the CData JDBC Driver for YouTube Analytics and the JayDeBeApi module to work with remote YouTube Analytics data in Python. By using the CData Driver, you are leveraging a driver written for industry-proven standards to access your data in the popular Python language. This article shows how to use the driver to execute SQL queries to YouTube Analytics and visualize YouTube Analytics data with standard Python.

Use the JayDeBeApi module

JayDeBeApi is a Python library that serves as a JDBC (Java Database Connectivity) bridge, allowing Python programs to interact with Java databases, including CData JDBC Drivers. Use the pip install command to install the module:

pip install JayDeBeApi

Create the JDBC URL

Once you have JayDeBeApi installed, you are ready to work with YouTube Analytics data in Python using SQL.

YouTube Analytics uses the OAuth authentication standard. You can use the embedded CData OAuth credentials or you can register an application with Google to obtain your own.

In addition to the OAuth values, to access YouTube Analytics data set ChannelId to the Id of a YouTube channel. You can obtain the channel Id in the advanced account settings for your channel. If not specified, the channel of the currently authenticated user will be used.

If you want to generate content owner reports, specify the ContentOwnerId property. This is the Id of the copyright holder for content in YouTube's rights management system. The content owner is the person or organization that claims videos and sets their monetization policy.

Built-in Connection String Designer

For assistance in constructing the JDBC URL, use the connection string designer built into the YouTube Analytics JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.

java -jar cdata.jdbc.youtubeanalytics.jar

Fill in the connection properties and copy the connection string to the clipboard.

Below is a sample variable assignment, including a typical JDBC connection string:

jdbc_url = "jdbc:youtubeanalytics:ContentOwnerId=MyContentOwnerId;ChannelId=MyChannelId;InitiateOAuth=GETANDREFRESH"

Access YouTube Analytics data in Python

With the JDBC URL configured, you only need the absolute path to the JDBC driver JAR file, which is in the "lib" folder in the installation directory ("C:\Program Files\CData[product_name] 20XX\lib\cdata.jdbc.youtubeanalytics.jar" on Windows).

NOTE: If you haven't already, set the JAVA_HOME environment variable to the Java installation directory.

Use code similar to the follow to read and print data from YouTube Analytics:

import jaydebeapi #The JDBC connection string jdbc_url = "jdbc:youtubeanalytics:ContentOwnerId=MyContentOwnerId;ChannelId=MyChannelId;InitiateOAuth=GETANDREFRESH" username = "****" password = "****" #The absolute Path to the JDBC driver JAR file, typically: jdbc_driver_jar = "C:\Program Files\CData[product_name] 20XX\lib\cdata.jdbc.youtubeanalytics.jar" conn = jaydebeapi.connect( "cdata.jdbc.youtubeanalytics.jar", jdbc_url, [username, password], jdbc_driver_jar, ) cursor = conn.cursor() cursor.execute("SELECT * FROM Groups;") results = cursor.fetchall() for row in results: print(row) cursor.close() conn.close()

Free trial & more information

Download a free, 30-day trial of the CData JDBC Driver for YouTube Analytics and start working with your live YouTube Analytics data in Python. Reach out to our Support Team if you have any questions.