How to integrate YouTube using SSIS
Learn how to quickly and efficiently connect YouTube with SSIS for smooth data access.
Read and write YouTube data effortlessly. Integrate, manage, and automate videos, playlists, channels, and analytics — almost no coding required. You can do it all using the high-performance YouTube Connector for SSIS. We'll walk you through the entire setup.
Ready to dive in? Download the product to jump right in, or follow the step-by-step guide below to see how it works.
Video Tutorial
This video covers the following topics and more, so please watch carefully. After watching the video, follow the steps outlined in this article:
- How to download and install the required PowerPack for YouTube integration in SSIS
- How to configure the connection for YouTube
- Features of the ZappySys API Source (Authentication / Query Language / Examples / Driver UI)
- How to use the YouTube in SSIS
Prerequisites
Before we begin, make sure the following prerequisites are met:
- SSIS designer installed. Sometimes it is referred as BIDS or SSDT (download it from Microsoft).
- Basic knowledge of SSIS package development using Microsoft SQL Server Integration Services.
- SSIS PowerPack is installed (if you are new to SSIS PowerPack, then get started!).
Read data from YouTube in SSIS (Export data)
In this section we will learn how to configure and use YouTube Connector in API Source to extract data from YouTube.
-
Begin with opening Visual Studio and Create a New Project.
-
Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.
In the new SSIS project screen you will find the following:
- SSIS ToolBox on left side bar
- Solution Explorer and Property Window on right bar
- Control flow, data flow, event Handlers, Package Explorer in tab windows
- Connection Manager Window in the bottom
Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link. -
Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
-
From the SSIS toolbox drag and API Source (Predefined Templates) on the data flow designer surface, and double click on it to edit it:
-
Select New Connection to create a new connection:
-
Use a preinstalled YouTube Connector from Popular Connector List or press Search Online radio button to download YouTube Connector. Once downloaded simply use it in the configuration:
YouTube
-
Now it's time to configure authentication. Firstly, configure authentication settings in YouTube service and then proceed by configuring API Connection Manager. Start by expanding an authentication type:
YouTube authentication
This walkthrough will help you create an API Key which you will be able to use in all requests and authenticate accordingly.- Go to Google API Console
- From the Project Dropdown (usually found at the top bar) click Select Project
- On Project Popup click CREATE PROJECT
- Once project is created you can click Select Project to switch the context (You can click on Notification link or Choose from Top Dropdown)
- Click ENABLE APIs AND SERVICES
- Now we need to Enable three APIs one by one (YouTube Data API, YouTube Analytics API, YouTube Reporting API).
- Search YouTube Data API. Select and click ENABLE
- Search YouTube Analytics API. Select and click ENABLE
- Search YouTube Reporting API. Select and click ENABLE
- Go to back to main screen of Google API Console
- Click OAuth Consent Screen Tab. Enter necessary details and Save.
- Click Credentials Tab
- Click CREATE CREDENTIALS (some where in topbar) and select API key option.
- In the popup, copy API Key from the field "Your API key", close this window, and use it in the UI configuration, "key" field
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
API Key [Http] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
YouTubeAPI Key [Http]https://youtube.googleapis.com/youtube/v3Required Parameters key Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 403|429 RetryCountMax 5 RetryMultiplyWaitTime True
YouTube authentication
To register a custom app, perform the following steps (detailed steps found in the help link at the end)- Go to Google API Console
- From the Project Dropdown (usually found at the top bar) click Select Project
- On Project Popup click CREATE PROJECT
- Once project is created you can click Select Project to switch the context (You can click on Notification link or Choose from Top Dropdown)
- Click ENABLE APIs AND SERVICES
- Now we need to Enable three APIs one by one (YouTube Data API, YouTube Analytics API, YouTube Reporting API).
- Search YouTube Data API. Select and click ENABLE
- Search YouTube Analytics API. Select and click ENABLE
- Search YouTube Reporting API. Select and click ENABLE
- Go to back to main screen of Google API Console
- Click OAuth Consent Screen Tab. Enter necessary details and Save.
- Click Credentials Tab
- Click CREATE CREDENTIALS (some where in topbar) and select OAuth Client ID option.
- When prompted Select Application Type as Desktop App and click Create to receive your ClientID and Secret. Later on you can use this information now to configure Connection.
- Go to OAuth Consent Screen tab. Under Publishing Status click PUBLISH APP to ensure your refresh token doesnt expire often. If you planning to use App for Private use then do not have to worry about Verification Status after Publish.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
User Account [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Press Generate Token button to generate the tokens.
- Finally, hit OK button:
YouTubeUser Account [OAuth]https://youtube.googleapis.com/youtube/v3Required Parameters UseCustomApp Fill-in the parameter... Optional Parameters ClientId ClientSecret Scope https://www.googleapis.com/auth/youtube~https://www.googleapis.com/auth/youtube.readonly~https://www.googleapis.com/auth/youtubepartner~https://www.googleapis.com/auth/youtube.force-ssl~https://www.googleapis.com/auth/youtube.upload~https://www.googleapis.com/auth/youtubepartner-channel-audit~https://www.googleapis.com/auth/yt-analytics-monetary.readonly~https://www.googleapis.com/auth/yt-analytics.readonly RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 403|429 RetryCountMax 5 RetryMultiplyWaitTime True Redirect URL (Only for Web App)
YouTube authentication
Use these steps to authenticate as service account rather than Google / GSuite User. Learn more about service account here Basically to call Google API as Service account we need to perform following steps listed in 3 sections (Detailed steps found in the help link at the end)Create Project
First thing is create a Project so we can call Google API. Skip this section if you already have Project (Go to next section)- Go to Google API Console
- From the Project Dropdown (usually found at the top bar) click Select Project
- On Project Popup click CREATE PROJECT
- Once project is created you can click Select Project to switch the context (You can click on Notification link or Choose from Top Dropdown)
- Click ENABLE APIs AND SERVICES
- Now we need to Enable three APIs one by one (YouTube Data API, YouTube Analytics API, YouTube Reporting API)
- Search YouTube Data API. Select and click ENABLE
- Search YouTube Analytics API. Select and click ENABLE
- Search YouTube Reporting API. Select and click ENABLE
Create Service Account
Once Project is created and APIs are enabled we can now create a service account under that project. Service account has its ID which looks like some email ID (not to confuse with Google /Gmail email ID)- Go to Create Service Account
- From the Project Dropdown (usually found at the top bar) click Select Project
- Enter Service account name and Service account description
- For Role, do not select anything for now and Click Continue and then click Done. Next we will create Key.
Create Key
Once service account is created we need to create key file (i.e. credentials).- In the Cloud Console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, then click Create new key.
- Click Create and select P12 format. A P12 key file is downloaded to your computer. We will use this file in our API connection.
- Click Close.
- Now you may use downloaded *.p12 key file as secret file and Service Account Email as Client ID (e.g. some-service-account-name@your-project-id.iam.gserviceaccount.com ).
Add Permission
Now last thing is give read/write permission to Service Account. Basically you can create or open Google Sheet and add the Service Account as an editor to it as below.- Copy the email address of your service account we created in previous step (its usually like this some-service-account-name@your-project-id.iam.gserviceaccount.com).
- Create or select an existing Google Sheet.
- Navigate to Sheet for which you like to give read/write access to Service Account.
- Click on the Share button in the top right, and add the email address of the service account as an editor. Here is how to share file(s) with specific people. Juse share with Service Account (use Service Account Email found on previous section)
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
Service Account (Using *.json OR *.p12 key file) [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
YouTubeService Account (Using *.json OR *.p12 key file) [OAuth]https://youtube.googleapis.com/youtube/v3Required Parameters Service Account Email Fill-in the parameter... Service Account Private Key Path (i.e. *.p12) Fill-in the parameter... Optional Parameters Scope https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/youtube.readonly https://www.googleapis.com/auth/youtubepartner https://www.googleapis.com/auth/youtube.force-ssl https://www.googleapis.com/auth/youtube.upload https://www.googleapis.com/auth/youtubepartner-channel-audit https://www.googleapis.com/auth/yt-analytics-monetary.readonly https://www.googleapis.com/auth/yt-analytics.readonly RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 403|429 RetryCountMax 5 RetryMultiplyWaitTime True
-
Select the desired endpoint, change/pass the properties values, and click on Preview Data button to make the API call.
API Source - YouTubeRead and write YouTube data effortlessly. Integrate, manage, and automate videos, playlists, channels, and analytics — almost no coding required.
-
That's it! We are done! Just in a few clicks we configured the call to YouTube using YouTube Connector.
You can load the source data into your desired destination using the Upsert Destination , which supports SQL Server, PostgreSQL, and Amazon Redshift. We also offer other destinations such as CSV , Excel , Azure Table , Salesforce , and more . You can check out our SSIS PowerPack Tasks and components for more options. (*loaded in Trash Destination)
Write data to YouTube using SSIS (Import data)
In this section we will learn how to configure and use YouTube Connector in the API Destination to write data to YouTube.
Video tutorial
This video covers following and more so watch carefully. After watching this video follow the steps described in this article.
- How to download SSIS PowerPack for YouTube integration in SSIS
- How to configure connection for YouTube
- How to write or lookup data to YouTube
- Features about SSIS API Destination
- Using YouTube Connector in SSIS
Step-by-step instructions
In upper section we learned how to read data, now in this section we will learn how to configure YouTube in the API Source to POST data to the YouTube.
-
Begin with opening Visual Studio and Create a New Project.
-
Select Integration Service Project and in new project window set the appropriate name and location for project. And click OK.
In the new SSIS project screen you will find the following:
- SSIS ToolBox on left side bar
- Solution Explorer and Property Window on right bar
- Control flow, data flow, event Handlers, Package Explorer in tab windows
- Connection Manager Window in the bottom
Note: If you don't see ZappySys SSIS PowerPack Task or Components in SSIS Toolbox, please refer to this help link. -
Now, Drag and Drop SSIS Data Flow Task from SSIS Toolbox. Double click on the Data Flow Task to see Data Flow designer.
-
Read the data from the source, using any desired source component. You can even make an API call using the ZappySys JSON/XML/API Source and read data from there. In this example, we will use an OLE DB Source component to read real-time data from a SQL Server database.
-
From the SSIS Toolbox drag and drop API Destination (Predefined Templates) on the Data Flow Designer surface and connect source component with it, and double click to edit it.
-
Select New Connection to create a new connection:
API Destination - YouTubeRead and write YouTube data effortlessly. Integrate, manage, and automate videos, playlists, channels, and analytics — almost no coding required.
-
To configure the YouTube connector, choose one of the following methods:
- Choose from Popular Connector List: Select a pre-installed service directly from the dropdown menu.
- Search Online: Use this to find and download a new connector file to your computer.
- Use Saved/Downloaded File: Once the file is downloaded, browse your local drive to load it into the configuration.
After that, just click Continue >>:
YouTube
-
Proceed with selecting the desired Authentication Type. Then select API Base URL (in most cases default one is the right one). Finally, fill in all the required parameters and set optional parameters if needed. You may press a link Steps to Configure which will help set certain parameters. More info is available in Authentication section.
YouTube authentication
This walkthrough will help you create an API Key which you will be able to use in all requests and authenticate accordingly.- Go to Google API Console
- From the Project Dropdown (usually found at the top bar) click Select Project
- On Project Popup click CREATE PROJECT
- Once project is created you can click Select Project to switch the context (You can click on Notification link or Choose from Top Dropdown)
- Click ENABLE APIs AND SERVICES
- Now we need to Enable three APIs one by one (YouTube Data API, YouTube Analytics API, YouTube Reporting API).
- Search YouTube Data API. Select and click ENABLE
- Search YouTube Analytics API. Select and click ENABLE
- Search YouTube Reporting API. Select and click ENABLE
- Go to back to main screen of Google API Console
- Click OAuth Consent Screen Tab. Enter necessary details and Save.
- Click Credentials Tab
- Click CREATE CREDENTIALS (some where in topbar) and select API key option.
- In the popup, copy API Key from the field "Your API key", close this window, and use it in the UI configuration, "key" field
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
API Key [Http] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
YouTubeAPI Key [Http]https://youtube.googleapis.com/youtube/v3Required Parameters key Fill-in the parameter... Optional Parameters RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 403|429 RetryCountMax 5 RetryMultiplyWaitTime True
YouTube authentication
To register a custom app, perform the following steps (detailed steps found in the help link at the end)- Go to Google API Console
- From the Project Dropdown (usually found at the top bar) click Select Project
- On Project Popup click CREATE PROJECT
- Once project is created you can click Select Project to switch the context (You can click on Notification link or Choose from Top Dropdown)
- Click ENABLE APIs AND SERVICES
- Now we need to Enable three APIs one by one (YouTube Data API, YouTube Analytics API, YouTube Reporting API).
- Search YouTube Data API. Select and click ENABLE
- Search YouTube Analytics API. Select and click ENABLE
- Search YouTube Reporting API. Select and click ENABLE
- Go to back to main screen of Google API Console
- Click OAuth Consent Screen Tab. Enter necessary details and Save.
- Click Credentials Tab
- Click CREATE CREDENTIALS (some where in topbar) and select OAuth Client ID option.
- When prompted Select Application Type as Desktop App and click Create to receive your ClientID and Secret. Later on you can use this information now to configure Connection.
- Go to OAuth Consent Screen tab. Under Publishing Status click PUBLISH APP to ensure your refresh token doesnt expire often. If you planning to use App for Private use then do not have to worry about Verification Status after Publish.
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
User Account [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Press Generate Token button to generate the tokens.
- Finally, hit OK button:
YouTubeUser Account [OAuth]https://youtube.googleapis.com/youtube/v3Required Parameters UseCustomApp Fill-in the parameter... Optional Parameters ClientId ClientSecret Scope https://www.googleapis.com/auth/youtube~https://www.googleapis.com/auth/youtube.readonly~https://www.googleapis.com/auth/youtubepartner~https://www.googleapis.com/auth/youtube.force-ssl~https://www.googleapis.com/auth/youtube.upload~https://www.googleapis.com/auth/youtubepartner-channel-audit~https://www.googleapis.com/auth/yt-analytics-monetary.readonly~https://www.googleapis.com/auth/yt-analytics.readonly RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 403|429 RetryCountMax 5 RetryMultiplyWaitTime True Redirect URL (Only for Web App)
YouTube authentication
Use these steps to authenticate as service account rather than Google / GSuite User. Learn more about service account here Basically to call Google API as Service account we need to perform following steps listed in 3 sections (Detailed steps found in the help link at the end)Create Project
First thing is create a Project so we can call Google API. Skip this section if you already have Project (Go to next section)- Go to Google API Console
- From the Project Dropdown (usually found at the top bar) click Select Project
- On Project Popup click CREATE PROJECT
- Once project is created you can click Select Project to switch the context (You can click on Notification link or Choose from Top Dropdown)
- Click ENABLE APIs AND SERVICES
- Now we need to Enable three APIs one by one (YouTube Data API, YouTube Analytics API, YouTube Reporting API)
- Search YouTube Data API. Select and click ENABLE
- Search YouTube Analytics API. Select and click ENABLE
- Search YouTube Reporting API. Select and click ENABLE
Create Service Account
Once Project is created and APIs are enabled we can now create a service account under that project. Service account has its ID which looks like some email ID (not to confuse with Google /Gmail email ID)- Go to Create Service Account
- From the Project Dropdown (usually found at the top bar) click Select Project
- Enter Service account name and Service account description
- For Role, do not select anything for now and Click Continue and then click Done. Next we will create Key.
Create Key
Once service account is created we need to create key file (i.e. credentials).- In the Cloud Console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, then click Create new key.
- Click Create and select P12 format. A P12 key file is downloaded to your computer. We will use this file in our API connection.
- Click Close.
- Now you may use downloaded *.p12 key file as secret file and Service Account Email as Client ID (e.g. some-service-account-name@your-project-id.iam.gserviceaccount.com ).
Add Permission
Now last thing is give read/write permission to Service Account. Basically you can create or open Google Sheet and add the Service Account as an editor to it as below.- Copy the email address of your service account we created in previous step (its usually like this some-service-account-name@your-project-id.iam.gserviceaccount.com).
- Create or select an existing Google Sheet.
- Navigate to Sheet for which you like to give read/write access to Service Account.
- Click on the Share button in the top right, and add the email address of the service account as an editor. Here is how to share file(s) with specific people. Juse share with Service Account (use Service Account Email found on previous section)
API Connection Manager configuration
Just perform these simple steps to finish authentication configuration:
-
Set Authentication Type to
Service Account (Using *.json OR *.p12 key file) [OAuth] - Optional step. Modify API Base URL if needed (in most cases default will work).
- Fill in all the required parameters and set optional parameters if needed.
- Finally, hit OK button:
YouTubeService Account (Using *.json OR *.p12 key file) [OAuth]https://youtube.googleapis.com/youtube/v3Required Parameters Service Account Email Fill-in the parameter... Service Account Private Key Path (i.e. *.p12) Fill-in the parameter... Optional Parameters Scope https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/youtube.readonly https://www.googleapis.com/auth/youtubepartner https://www.googleapis.com/auth/youtube.force-ssl https://www.googleapis.com/auth/youtube.upload https://www.googleapis.com/auth/youtubepartner-channel-audit https://www.googleapis.com/auth/yt-analytics-monetary.readonly https://www.googleapis.com/auth/yt-analytics.readonly RetryMode RetryWhenStatusCodeMatch RetryStatusCodeList 403|429 RetryCountMax 5 RetryMultiplyWaitTime True
-
Select the desired endpoint, change/pass the properties values, and go to the Mappings tab to map the columns.
API Destination - YouTubeRead and write YouTube data effortlessly. Integrate, manage, and automate videos, playlists, channels, and analytics — almost no coding required.
-
Finally, map the desired columns:
API Destination - YouTubeRead and write YouTube data effortlessly. Integrate, manage, and automate videos, playlists, channels, and analytics — almost no coding required.
-
That's it; we successfully configured the POST API Call. In a few clicks we configured the YouTube API call using ZappySys YouTube Connector
Load YouTube data into SQL Server using Upsert Destination (Insert or Update)
Once you configured the data source, you can load YouTube data into SQL Server using Upsert Destination.
Upsert Destination can merge or synchronize source data with the target table.
It supports Microsoft SQL Server, PostgreSQL, and Redshift databases as targets.
Upsert Destination also supports very fast bulk upsert operation along with bulk delete.
Upsert operation
- a database operation which performs INSERT or UPDATE SQL commands
based on record's existence condition in the target table.
It
Upsert Destination supports INSERT, UPDATE, and DELETE operations,
so it is similar to SQL Server's MERGE command, except it can be used directly in SSIS package.
-
From the SSIS Toolbox drag-and-drop Upsert Destination component onto the Data Flow designer background.
-
Connect your SSIS source component to Upsert Destination.
-
Double-click on Upsert Destination component to open configuration window.
-
Start by selecting the Action from the list.
-
Next, select the desired target connection or create one by clicking <New [provider] Connection> menu item from the Target Connection dropdown.
-
Then select a table from the Target Table list or click New button to create a new table based on the source columns.
-
Continue by checking Insert and Update options according to your scenario (e.g. if Update option is unchecked, no updates will be made).
-
Finally, click Map All button to map all columns and then select the Key columns to match the columns on:
-
Click OK to save the configuration.
-
Run the package and YouTube data will be merged with the target table in SQL Server, PostgreSQL, or Redshift:
-
Done!
Deploy and schedule SSIS package
After you are done creating SSIS package, most likely, you want to deploy it to SQL Server Catalog and run it periodically. Just follow the instructions in this article:
Running SSIS package in Azure Data Factory (ADF)
To use SSIS PowerPack in ADF, you must first prepare Azure-SSIS Integration Runtime. Follow this link for detailed instructions:
Supported YouTube Connector actions
Got a specific use case in mind? We've mapped out exactly how to perform a variety of essential YouTube operations directly in SSIS, so you don't have to figure out the setup from scratch. Check out the step-by-step guides below:
- Get channels
- Get comments
- Get playlist items
- Get playlists
- Get report
- Get video details
- Get videos
- Get videos rating
- Search
- Make Generic REST API Request
- Make Generic REST API Request (Bulk Write)
Conclusion
In this article we showed you how to connect to YouTube in SSIS and integrate data without writing complex code — all of this was powered by YouTube Connector.
Download SSIS PowerPack now or ping us via chat if you have any questions or are looking for a specific feature (you can also reach out to us by submitting a ticket):