Skip to main content

Community

Connector Improvement: YouTube Analytics - Add Account (subs count) + Video Details (video name, video length, publish time (minute/hour/day), thumbnail URL)

Answered

Please sign in to leave a comment.

Comments

4 comments

  • Official comment

    Hi Dan and Brandon, Drew from the Product Team here!

    It looks like this request is to add a metadata table for video details, which would have video_id as the primary key. This type of request has been in my backlog, are there any additional metadata tables for Youtube that you would find useful?

    This would be very helpful for us as well. Right now, we are unable to provide the level of detail needed for our clients, since they want to analyze this data at the video level. Right now, we are only able to see the video_id - we will need the video name at the very least to provide meaningful analysis.

    Hi Drew - it would also be useful to have a channel overview table. One that features channel metadata and high-level statistics. Here is the endpoint we use through other providers: https://developers.google.com/youtube/v3/docs/channels/list

    And here is an example response. The fields we're mostly interested in include:

    • Channel Title
    • Thumbnail URLs
    • View Count
    • Subscriber Count
    • Video Count

    If these are stored daily, we could start to monitor total video views & subscribers over time. Below is an example response using my personal YouTube Channel (which has been dormant for 15 years):

    {
    "kind": "youtube#channelListResponse",
    "etag": "hb48CqTLU5K_buLlSRR9UR9vVr8",
    "pageInfo": {
    "totalResults": 1,
    "resultsPerPage": 5
    },
    "items": [
    {
    "kind": "youtube#channel",
    "etag": "QzZ7dYU_wSUnFAp860XBuYk6isA",
    "id": "UClnrEZRF9tfFYDN8xStRwcg",
    "snippet": {
    "title": "Brandon Thomson",
    "description": "",
    "publishedAt": "2006-12-27T04:53:53Z",
    "thumbnails": {
    "default": {
    "url": "https://yt3.ggpht.com/ytc/AAUvwnjkUHanXcYzkXSEI1VtlGqFOlLDWrOXSsYGpFGu3Q=s88-c-k-c0x00ffffff-no-rj",
    "width": 88,
    "height": 88
    },
    "medium": {
    "url": "https://yt3.ggpht.com/ytc/AAUvwnjkUHanXcYzkXSEI1VtlGqFOlLDWrOXSsYGpFGu3Q=s240-c-k-c0x00ffffff-no-rj",
    "width": 240,
    "height": 240
    },
    "high": {
    "url": "https://yt3.ggpht.com/ytc/AAUvwnjkUHanXcYzkXSEI1VtlGqFOlLDWrOXSsYGpFGu3Q=s800-c-k-c0x00ffffff-no-rj",
    "width": 800,
    "height": 800
    }
    },
    "localized": {
    "title": "Brandon Thomson",
    "description": ""
    }
    },
    "contentDetails": {
    "relatedPlaylists": {
    "likes": "LL",
    "favorites": "FLlnrEZRF9tfFYDN8xStRwcg",
    "uploads": "UUlnrEZRF9tfFYDN8xStRwcg"
    }
    },
    "statistics": {
    "viewCount": "1214",
    "subscriberCount": "0",
    "hiddenSubscriberCount": false,
    "videoCount": "3"
    }
    }
    ]
    }

     

    Another useful bit of data would be the comments endpoint (https://developers.google.com/youtube/v3/docs/comments/list). This would allow us to analyze all comments as they relate to a video. Example response here:

    {
     
    "kind": "youtube#comment",
     
    "etag": etag,
     
    "id": string,
     
    "snippet": {
       
    "authorDisplayName": string,
       
    "authorProfileImageUrl": string,
       
    "authorChannelUrl": string,
       
    "authorChannelId": {
         
    "value": string
       
    },
       
    "channelId": string,
       
    "videoId": string,
       
    "textDisplay": string,
       
    "textOriginal": string,
       
    "parentId": string,
       
    "canRate": boolean,
       
    "viewerRating": string,
       
    "likeCount": unsigned integer,
       
    "moderationStatus": string,
       
    "publishedAt": datetime,
       
    "updatedAt": datetime
     
    }
    }

    Hey Drew, 

    Thanks for this! For us, the highest priority is getting video name, but ideally the table would look something like this: 

    Channel ID (not too important) | Video ID | Publish Date/time | Video Length | Video Likes | Video Comments (+ anything else easily available, but that's the biggest stuff off the top of my head)

    Then a separate account table which has:

    Channel ID | Subscribers 

    –- 

    Comments would also be helpful but less business critical.

    –– 

    Another thing that would be great is pulling 'custom_ids' for Content Owners. Explanation of how is below: 

    Custom IDs are tied to Assets and not to Videos. However, Videos are linked to Assets by a Claim:
     
    Video <-> Claim <-> Asset
     
    What I would do to achieve what you are looking for would be using a combination of the Content ID API's ClaimSearch: listAssets: list and Data API's Videos: list.
     
    1) Using Content ID API's ClaimSearch: list + includeThirdPartyClaims = false you'll get all of your 1st party claims (essentially your own videos)
    Important: You will need to loop through all the pages to get all of the claims
     
    [Step 1 will give you the list of all Video IDs + the Asset IDs connected to them]
     
    2) From the list of Claims, search for all the Asset IDs using Content ID API's Assets: list to get their Custom IDs
    Important: You can only query 50 Asset IDs per call to this method
     
    [Step 2 will give you a link between Video ID and Custom ID]
     

Didn’t find what you need?

Contact support