# YouTube Data API . search

## Instance Methods

Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.

Retrieves the next page of results.

### Method Details

`list(part=None, channelId=None, videoSyndicated=None, channelType=None, videoCaption=None, publishedAfter=None, onBehalfOfContentOwner=None, forContentOwner=None, regionCode=None, type=None, topicId=None, publishedBefore=None, videoDimension=None, videoLicense=None, maxResults=None, videoType=None, videoDefinition=None, pageToken=None, relatedToVideoId=None, videoDuration=None, forMine=None, q=None, safeSearch=None, videoEmbeddable=None, videoCategoryId=None, order=None)`

    Returns a collection of search results that match the query parameters specified in the API request. By default, a search result set identifies matching video, channel, and playlist resources, but you can also configure queries to only retrieve a specific type of resource.

    Args:
      part: string, The part parameter specifies a comma-separated list of one or more search resource properties that the API response will include. The part names that you can include in the parameter value are id and snippet.

    If the parameter identifies a property that contains child properties, the child properties will be included in the response. For example, in a search result, the snippet property contains other properties that identify the result's title, description, and so forth. If you set part=snippet, the API response will also contain all of those nested properties. (required)
      channelId: string, The channelId parameter indicates that the API response should only contain resources created by the channel
      videoSyndicated: string, The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com.
        Allowed values
          any - Return all videos, syndicated or not.
          true - Only retrieve syndicated videos.
      channelType: string, The channelType parameter lets you restrict a search to a particular type of channel.
        Allowed values
          any - Return all channels.
          show - Only retrieve shows.
      videoCaption: string, The videoCaption parameter indicates whether the API should filter video search results based on whether they have captions.
        Allowed values
          any - Do not filter results based on caption availability.
          closedCaption - Only include videos that have captions.
          none - Only include videos that do not have captions.
      publishedAfter: string, The publishedAfter parameter indicates that the API response should only contain resources created after the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
      onBehalfOfContentOwner: string, USE_DESCRIPTION --- channels:list:onBehalfOfContentOwner
      forContentOwner: boolean, The forContentOwner parameter restricts the search to only retrieve resources owned by the content owner specified by the onBehalfOfContentOwner parameter. The user must be authenticated as a CMS account linked to the specified content owner and onBehalfOfContentOwner must be provided.
      regionCode: string, The regionCode parameter instructs the API to return search results for the specified country. The parameter value is an ISO 3166-1 alpha-2 country code.
      type: string, The type parameter restricts a search query to only retrieve a particular type of resource.
      topicId: string, The topicId parameter indicates that the API response should only contain resources associated with the specified topic. The value identifies a Freebase topic ID.
      publishedBefore: string, The publishedBefore parameter indicates that the API response should only contain resources created before the specified time. The value is an RFC 3339 formatted date-time value (1970-01-01T00:00:00Z).
      videoDimension: string, The videoDimension parameter lets you restrict a search to only retrieve 2D or 3D videos.
        Allowed values
          2d - Restrict search results to exclude 3D videos.
          3d - Restrict search results to only include 3D videos.
          any - Include both 3D and non-3D videos in returned results. This is the default value.
      videoLicense: string, The videoLicense parameter filters search results to only include videos with a particular license. YouTube lets video uploaders choose to attach either the Creative Commons license or the standard YouTube license to each of their videos.
        Allowed values
          any - Return all videos, regardless of which license they have, that match the query parameters.
          creativeCommon - Only return videos that have a Creative Commons license. Users can reuse videos with this license in other videos that they create. Learn more.
          youtube - Only return videos that have the standard YouTube license.
      maxResults: integer, USE_DESCRIPTION --- channels:list:maxResults
      videoType: string, The videoType parameter lets you restrict a search to a particular type of videos.
        Allowed values
          any - Return all videos.
          episode - Only retrieve episodes of shows.
          movie - Only retrieve movies.
      videoDefinition: string, The videoDefinition parameter lets you restrict a search to only include either high definition (HD) or standard definition (SD) videos. HD videos are available for playback in at least 720p, though higher resolutions, like 1080p, might also be available.
        Allowed values
          any - Return all videos, regardless of their resolution.
          high - Only retrieve HD videos.
          standard - Only retrieve videos in standard definition.
      pageToken: string, USE_DESCRIPTION --- channels:list:pageToken
      relatedToVideoId: string, The relatedToVideoId parameter retrieves a list of videos that are related to the video that the parameter value identifies. The parameter value must be set to a YouTube video ID and, if you are using this parameter, the type parameter must be set to video.
      videoDuration: string, The videoDuration parameter filters video search results based on their duration.
        Allowed values
          any - Do not filter video search results based on their duration. This is the default value.
          long - Only include videos longer than 20 minutes.
          medium - Only include videos that are between four and 20 minutes long (inclusive).
          short - Only include videos that are less than four minutes long.
      forMine: boolean, The forMine parameter restricts the search to only retrieve videos owned by the authenticated user.
      q: string, The q parameter specifies the query term to search for.
      safeSearch: string, The safeSearch parameter indicates whether the search results should include restricted content as well as standard content.
        Allowed values
          moderate - YouTube will filter some content from search results and, at the least, will filter content that is restricted in your locale. Based on their content, search results could be removed from search results or demoted in search results. Note: The default value for the safeSearch parameter is moderate.
          none - YouTube will not perform any filtering on the search result set.
          strict - YouTube will try to exclude all restricted content from the search result set. Based on their content, search results could be removed from search results or demoted in search results.
      videoEmbeddable: string, The videoEmbeddable parameter lets you to restrict a search to only videos that can be embedded into a webpage.
        Allowed values
          any - Return all videos, embeddable or not.
          true - Only retrieve embeddable videos.
      videoCategoryId: string, The videoCategoryId parameter filters video search results based on their category.
      order: string, The order parameter specifies the method that will be used to order resources in the API response.
        Allowed values
          date - Resources are sorted in reverse chronological order based on the date they were created.
          rating - Resources are sorted from highest to lowest rating.
          relevance - Resources are sorted based on their relevance to the search query. This is the default value for this parameter.
          title - Resources are sorted based on their title.
          videoCount - Channels are sorted from highest to lowest number of video uploaded.
          viewCount - Resources are sorted from highest to lowest number of views.

    Returns:
      An object of the form:

        { # A paginated list of search results returned as the response to a youtube.search.list call.
        "eventId": "A String", # Serialized EventId of the request which produced this response.
        "nextPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the next page in the result set.
        "kind": "youtube#searchListResponse", # The type of the API response. For this operation, the value will be youtube#searchListResponse.
        "visitorId": "A String", # The visitorId identifies the visitor.
        "items": [ # A list of results that match the search criteria.
          { # A search result contains information about a YouTube video, channel, or playlist that matches the search parameters specified in an API request. While a search result points to a uniquely identifiable resource, like a video, it does not have its own persistent data.
            "snippet": { # Basic details about a search result, including title, description and thumbnails of the item referenced by the search result. # The snippet object contains basic details about a search result, such as its title or description. For example, if the search result is a video, then the title will be the video's title and the description will be the video's description.
              "thumbnails": { # Internal representation of thumbnails for a YouTube resource. # A map of thumbnail images associated with the search result. 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.
                },
              },
              "title": "A String", # The title of the search result.
              "channelId": "A String", # The value that YouTube uses to uniquely identify the channel that published the resource that the search result identifies.
              "publishedAt": "A String", # The creation date and time of the resource that the search result identifies. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
              "channelTitle": "A String", # The title of the channel that published the resource that the search result identifies.
              "description": "A String", # A description of the search result.
            },
            "kind": "youtube#searchResult", # The kind, fixed to "youtube#searchResult".
            "etag": "A String", # Etag of this resource.
            "id": { # A resource id is a generic reference that points to another YouTube resource. # The id object contains information that can be used to uniquely identify the resource that matches the search request.
              "kind": "A String", # The type of the API resource.
              "channelId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a channel. This property is only present if the resourceId.kind value is youtube#channel.
              "playlistId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a playlist. This property is only present if the resourceId.kind value is youtube#playlist.
              "videoId": "A String", # The ID that YouTube uses to uniquely identify the referred resource, if that resource is a video. This property is only present if the resourceId.kind value is youtube#video.
            },
          },
        ],
        "etag": "A String", # The ETag for the response.
        "prevPageToken": "A String", # The token that can be used as the value of the pageToken parameter to retrieve the previous page in the result set.
        "pageInfo": { # Paging details for lists of resources, including total number of items available and number of resources returned in a single page. # The pageInfo object encapsulates paging information for the search result set.
          "totalResults": 42, # The total number of results in the result set.
          "resultsPerPage": 42, # The number of results included in the API response.
        },
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.