YouTube Data API . videos

Instance Methods

delete(id, onBehalfOfContentOwner=None)

Deletes a YouTube video.

getRating(id, onBehalfOfContentOwner=None)

Get user ratings for videos.

insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, autoLevels=None)

Uploads a video to YouTube and optionally sets the video's metadata.

list(part=None, pageToken=None, onBehalfOfContentOwner=None, locale=None, chart=None, maxResults=None, videoCategoryId=None, myRating=None, id=None)

Returns a list of videos that match the API request parameters.

list_next(previous_request, previous_response)

Retrieves the next page of results.

rate(id, rating, onBehalfOfContentOwner=None)

Like, dislike, or remove rating from a video.

update(part=None, body, onBehalfOfContentOwner=None)

Updates a video's metadata.

Method Details

delete(id, onBehalfOfContentOwner=None)
Deletes a YouTube video.

Args:
  id: string, The id parameter specifies the YouTube video ID for the resource that is being deleted. In a video resource, the id property specifies the video's ID. (required)
  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
getRating(id, onBehalfOfContentOwner=None)
Get user ratings for videos.

Args:
  id: string, The id parameter specifies a comma-separated list of the YouTube video ID(s) for the resource(s) that are being retrieved. In a video resource, the id property specifies the video's ID. (required)
  onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner

Returns:
  An object of the form:

    { # A list of video ratings returned as the response to a youtube.videos.getRating call.
    "items": [ # A list of ratings that match the request criteria.
      { # Basic details about rating of a video.
        "rating": "A String", # Rating of a video.
        "videoId": "A String", # The ID that YouTube uses to uniquely identify the video.
      },
    ],
    "kind": "youtube#videoGetRatingResponse", # The type of the API response. For this operation, the value will be youtube#videoGetRatingResponse.
    "etag": "A String", # The ETag of the response.
  }
insert(part=None, body=None, media_body=None, onBehalfOfContentOwner=None, stabilize=None, onBehalfOfContentOwnerChannel=None, autoLevels=None)
Uploads a video to YouTube and optionally sets the video's metadata.

Args:
  part: string, The part parameter serves two purposes in this operation. It identifies the properties that the write operation will set as well as the properties that the API response will include.

The part names that you can include in the parameter value are snippet, contentDetails, player, statistics, status, and topicDetails. However, not all of those parts contain properties that can be set when setting or updating a video's metadata. For example, the statistics object encapsulates statistics that YouTube calculates for a video and does not contain values that you can set or modify. If the parameter value specifies a part that does not contain mutable values, that part will still be included in the API response. (required)
  body: object, The request body.
    The object takes the form of:

{ # A video resource represents a YouTube video.
    "status": { # Basic details about a video category, such as its localized title. # The status object contains information about the video's uploading, processing, and privacy statuses.
      "license": "A String", # The video's license.
      "embeddable": True or False, # This value indicates if the video can be embedded on another website.
      "privacyStatus": "A String", # The video's privacy status.
      "publicStatsViewable": True or False, # This value indicates if the extended video statistics on the watch page can be viewed by everyone. Note that the view count, likes, etc will still be visible if this is disabled.
      "uploadStatus": "A String", # The status of the uploaded video.
      "rejectionReason": "A String", # This value explains why YouTube rejected an uploaded video. This property is only present if the uploadStatus property indicates that the upload was rejected.
      "failureReason": "A String", # This value explains why a video failed to upload. This property is only present if the uploadStatus property indicates that the upload failed.
    },
    "snippet": { # Basic details about a video, including title, description, uploader, thumbnails and category. # The snippet object contains basic details about the video, such as its title, description, and category.
      "description": "A String", # The video's description.
      "tags": [ # A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.
        "A String",
      ],
      "channelId": "A String", # The ID that YouTube uses to uniquely identify the channel that the video was uploaded to.
      "publishedAt": "A String", # The date and time that the video was uploaded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
      "channelTitle": "A String", # Channel title for the channel that the video belongs to.
      "title": "A String", # The video's title.
      "categoryId": "A String", # The YouTube video category associated with the video.
      "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the video. For each object in the map, the key is the name of the thumbnail image, and the value is an object that contains other information about the thumbnail.
        "default": { # A thumbnail is an image representing a YouTube resource. # The default image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "high": { # A thumbnail is an image representing a YouTube resource. # The high quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "medium": { # A thumbnail is an image representing a YouTube resource. # The medium quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "maxres": { # A thumbnail is an image representing a YouTube resource. # The maximum resolution quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
        "standard": { # A thumbnail is an image representing a YouTube resource. # The standard quality image for this resource.
          "url": "A String", # The thumbnail image's URL.
          "width": 42, # (Optional) Width of the thumbnail image.
          "height": 42, # (Optional) Height of the thumbnail image.
        },
      },
    },
    "kind": "youtube#video", # The kind, fixed to "youtube#video".
    "statistics": { # Statistics about the video, such as the number of times the video was viewed or liked. # The statistics object contains statistics about the video.
      "commentCount": "A String", # The number of comments for the video.
      "viewCount": "A String", # The number of times the video has been viewed.
      "favoriteCount": "A String", # The number of users who currently have the video marked as a favorite video.
      "dislikeCount": "A String", # The number of users who have indicated that they disliked the video by giving it a negative rating.
      "likeCount": "A String", # The number of users who have indicated that they liked the video by giving it a positive rating.
    },
    "topicDetails": { # Freebase topic information related to the video. # The topicDetails object encapsulates information about Freebase topics associated with the video.
      "topicIds": [ # A list of Freebase topic IDs that are centrally associated with the video. These are topics that are centrally featured in the video, and it can be said that the video is mainly about each of these. You can retrieve information about each topic using the Freebase Topic API.
        "A String",
      ],
      "relevantTopicIds": [ # Similar to topic_id, except that these topics are merely relevant to the video. These are topics that may be mentioned in, or appear in the video. You can retrieve information about each topic using Freebase Topic API.
        "A String",
      ],
    },
    "monetizationDetails": { # Details about monetization of a YouTube Video. # The monetizationDetails object encapsulates information about the monetization status of the video.
      "access": { # Rights management policy for YouTube resources. # The value of access indicates whether the video can be monetized or not.
        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
          "A String",
        ],
        "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
      },
    },
    "contentDetails": { # Details about the content of a YouTube Video. # The contentDetails object contains information about the video content, including the length of the video and its aspect ratio.
      "definition": "A String", # The value of definition indicates whether the video is available in high definition or only in standard definition.
      "countryRestriction": { # Rights management policy for YouTube resources. # The countryRestriction object contains information about the countries where a video is (or is not) viewable.
        "exception": [ # A list of region codes that identify countries where the default policy do not apply.
          "A String",
        ],
        "allowed": True or False, # The value of allowed indicates whether the access to the policy is allowed or denied by default.
      },
      "contentRating": { # Ratings schemes. The country-specific ratings are mostly for movies and shows. # Specifies the ratings that the video received under various rating schemes.
        "ytRating": "A String", # Internal YouTube rating.
        "russiaRating": "A String", # Rating system in Russia
        "tvpgRating": "A String", # TV Parental Guidelines rating of the content.
        "cbfcRating": "A String", # Rating system in India - Central Board of Film Certification
        "acbRating": "A String", # Rating system in Australia - Australian Classification Board
        "fskRating": "A String", # Rating system in Germany - Voluntary Self Regulation of the Movie Industry
        "eirinRating": "A String", # Rating system in Japan - Eiga Rinri Kanri Iinkai
        "bbfcRating": "A String", # British Board of Film Classification
        "kmrbRating": "A String", # Rating system in South Korea - Korea Media Rating Board
        "mpaaRating": "A String", # Motion Picture Association of America rating for the content.
        "icaaRating": "A String", # Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales
        "fmocRating": "A String", # Rating system in France - French Minister of Culture
        "chvrsRating": "A String", # Canadian Home Video Rating System
        "rtcRating": "A String", # Rating system in Mexico - General Directorate of Radio, Television and Cinematography
        "djctqRating": "A String", # Rating system in Brazil - Department of Justice, Rating, Titles and Qualification
        "oflcRating": "A String", # Rating system in New Zealand - Office of Film and Literature Classification
      },
      "caption": "A String", # The value of captions indicates whether the video has captions or not.
      "regionRestriction": { # DEPRECATED Region restriction of the video. # The regionRestriction object contains information about the countries where a video is (or is not) viewable. The object will contain either the contentDetails.regionRestriction.allowed property or the contentDetails.regionRestriction.blocked property.
        "blocked": [ # A list of region codes that identify countries where the video is blocked. If this property is present and a country is not listed in its value, then the video is viewable in that country. If this property is present and contains an empty list, the video is viewable in all countries.
          "A String",
        ],
        "allowed": [ # A list of region codes that identify countries where the video is viewable. If this property is present and a country is not listed in its value, then the video is blocked from appearing in that country. If this property is present and contains an empty list, the video is blocked in all countries.
          "A String",
        ],
      },
      "duration": "A String", # The length of the video. The tag value is an ISO 8601 duration in the format PT#M#S, in which the letters PT indicate that the value specifies a period of time, and the letters M and S refer to length in minutes and seconds, respectively. The # characters preceding the M and S letters are both integers that specify the number of minutes (or seconds) of the video. For example, a value of PT15M51S indicates that the video is 15 minutes and 51 seconds long.
      "licensedContent": True or False, # The value of is_license_content indicates whether the video is licensed content.
      "dimension": "A String", # The value of dimension indicates whether the video is available in 3D or in 2D.
    },
    "ageGating": { # Age restriction details related to a video.
      "restricted": True or False, # Age-restricted trailers. For redband trailers and adult-rated video-games. Only users aged 18+ can view the content. The the field is true the content is restricted to viewers aged 18+. Otherwise The field won't be present.
      "alcoholContent": True or False, # Indicates whether or not the video has alcoholic beverage content. Only users of legal purchasing age in a particular country, as identified by ICAP, can view the content.
      "videoGameRating": "A String", # Video game rating, if any.
    },
    "fileDetails": { # Describes original video file properties, including technical details about audio and video streams, but also metadata information like content length, digitization time, or geotagging information. # The fileDetails object encapsulates information about the video file that was uploaded to YouTube, including the file's resolution, duration, audio and video codecs, stream bitrates, and more. This data can only be retrieved by the video owner.
      "bitrateBps": "A String", # The uploaded video file's combined (video and audio) bitrate in bits per second.
      "container": "A String", # The uploaded video file's container format.
      "recordingLocation": { # Geographical coordinates of a point, in WGS84. # Geographic coordinates that identify the place where the uploaded video was recorded. Coordinates are defined using WGS 84.
        "latitude": 3.14, # Latitude in degrees.
        "altitude": 3.14, # Altitude above the reference ellipsoid, in meters.
        "longitude": 3.14, # Longitude in degrees.
      },
      "fileType": "A String", # The uploaded file's type as detected by YouTube's video processing engine. Currently, YouTube only processes video files, but this field is present whether a video file or another type of file was uploaded.
      "creationTime": "A String", # The date and time when the uploaded video file was created. The value is specified in ISO 8601 format. Currently, the following ISO 8601 formats are supported:
          # - Date only: YYYY-MM-DD
          # - Naive time: YYYY-MM-DDTHH:MM:SS
          # - Time with timezone: YYYY-MM-DDTHH:MM:SS+HH:MM
      "durationMs": "A String", # The length of the uploaded video in milliseconds.
      "fileName": "A String", # The uploaded file's name. This field is present whether a video file or another type of file was uploaded.
      "fileSize": "A String", # The uploaded file's size in bytes. This field is present whether a video file or another type of file was uploaded.
      "videoStreams": [ # A list of video streams contained in the uploaded video file. Each item in the list contains detailed metadata about a video stream.
        { # Information about a video stream.
          "bitrateBps": "A String", # The video stream's bitrate, in bits per second.
          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
          "codec": "A String", # The video codec that the stream uses.
          "widthPixels": 42, # The encoded video content's width in pixels. You can calculate the video's encoding aspect ratio as width_pixels / height_pixels.
          "heightPixels": 42, # The encoded video content's height in pixels.
          "aspectRatio": 3.14, # The video content's display aspect ratio, which specifies the aspect ratio in which the video should be displayed.
          "rotation": "A String", # The amount that YouTube needs to rotate the original source content to properly display the video.
          "frameRateFps": 3.14, # The video stream's frame rate, in frames per second.
        },
      ],
      "audioStreams": [ # A list of audio streams contained in the uploaded video file. Each item in the list contains detailed metadata about an audio stream.
        { # Information about an audio stream.
          "bitrateBps": "A String", # The audio stream's bitrate, in bits per second.
          "codec": "A String", # The audio codec that the stream uses.
          "vendor": "A String", # A value that uniquely identifies a video vendor. Typically, the value is a four-letter vendor code.
          "channelCount": 42, # The number of audio channels that the stream contains.
        },
      ],
    },
    "processingDetails": { # Describes processing status and progress and availability of some other Video resource parts. # The processingProgress object encapsulates information about YouTube's progress in processing the uploaded video file. The properties in the object identify the current processing status and an estimate of the time remaining until YouTube finishes processing the video. This part also indicates whether different types of data or content, such as file details or thumbnail images, are available for the video.
        # 
        # The processingProgress object is designed to be polled so that the video uploaded can track the progress that YouTube has made in processing the uploaded video file. This data can only be retrieved by the video owner.
      "fileDetailsAvailability": "A String", # This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request.
      "editorSuggestionsAvailability": "A String", # This value indicates whether video editing suggestions, which might improve video quality or the playback experience, are available for the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
      "processingStatus": "A String", # The video's processing status. This value indicates whether YouTube was able to process the video or if the video is still being processed.
      "processingIssuesAvailability": "A String", # This value indicates whether the video processing engine has generated suggestions that might improve YouTube's ability to process the the video, warnings that explain video processing problems, or errors that cause video processing problems. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
      "processingFailureReason": "A String", # The reason that YouTube failed to process the video. This property will only have a value if the processingStatus property's value is failed.
      "thumbnailsAvailability": "A String", # This value indicates whether thumbnail images have been generated for the video.
      "processingProgress": { # Video processing progress and completion time estimate. # The processingProgress object contains information about the progress YouTube has made in processing the video. The values are really only relevant if the video's processing status is processing.
        "timeLeftMs": "A String", # An estimate of the amount of time, in millseconds, that YouTube needs to finish processing the video.
        "partsProcessed": "A String", # The number of parts of the video that YouTube has already processed. You can estimate the percentage of the video that YouTube has already processed by calculating:
            # 100 * parts_processed / parts_total
            #
            # Note that since the estimated number of parts could increase without a corresponding increase in the number of parts that have already been processed, it is possible that the calculated progress could periodically decrease while YouTube processes a video.
        "partsTotal": "A String", # An estimate of the total number of parts that need to be processed for the video. The number may be updated with more precise estimates while YouTube processes the video.
      },
      "tagSuggestionsAvailability": "A String", # This value indicates whether keyword (tag) suggestions are available for the video. Tags can be added to a video's metadata to make it easier for other users to find the video. You can retrieve these suggestions by requesting the suggestions part in your videos.list() request.
    },
    "player": { # Player to be used for a video playback. # The player object contains information that you would use to play the video in an embedded player.
      "embedHtml": "A String", # An