YouTube Channel Shorts API Documentation

GET   /api/v1/search?engine=youtube_channel_shorts

The YouTube Channel Shorts API retrieves the shorts feed of a YouTube channel. It returns channel details and the channel's shorts sorted by latest, popular, or oldest, with pagination support.

API Parameters

Search Query

  • Name
    channel_id
    Required
    Required
    Description

    Identifies the YouTube channel to query. Accepts a channel ID or an '@' handle from YouTube URLs. For channel IDs, use the format: https://www.youtube.com/channel/CHANNEL_ID. For '@' handles, use: https://www.youtube.com/@HANDLE. Examples: UCWJ2lWNubArHWmf3FIHbfcQ for channel IDs; @NBA for '@' handles.

Localization

  • Name
    gl
    Required
    Optional
    Description

    The default parameter us defines the country of the search. Check the full list of supported YouTube gl countries.

  • Name
    hl
    Required
    Optional
    Description

    The default parameter en defines the interface language of the search. Check the full list of supported YouTube hl languages.

Sorting

  • Name
    sort_by
    Required
    Optional
    Description

    Sorts the shorts based on various criteria. The default is latest. Available options are:

    • latest – displays the most recent shorts first.
    • popular – displays the most viewed shorts first.
    • oldest – displays the oldest shorts first.

Pagination

  • Name
    next_page_token
    Required
    Optional
    Description

    A token used to retrieve the next page of shorts. Use the pagination.next_page_token from the response to continue pagination.

Engine

  • Name
    engine
    Required
    Required
    Description

    Parameter defines the engine that will be used to retrieve real-time data. To retrieve shorts from a YouTube channel, it must be set to youtube_channel_shorts.

API key

  • Name
    api_key
    Required
    Required
    Description

    The api_key authenticates your requests. Use it as a query parameter (https://www.searchapi.io/api/v1/search?api_key=YOUR_API_KEY) or in the Authorization header (Bearer YOUR_API_KEY).

Zero Data Retention

  • Name
    zero_retention
    Enterprise Only
    Enterprise Only
    Required
    Optional
    Description

    Set this parameter to true to disable all logging and persistent storage. No request parameters, HTML, or JSON responses are stored or logged. Suitable for high-compliance use cases. Debugging and support may be limited while enabled.

API Examples

Full Response

Full Response

Shorts don't expose exact view counts, likes, comments, duration, or publish dates. YouTube's shorts feed only renders the title, link, thumbnail, and an approximate view count.

Set sort_by to popular or oldest to change the order, and use the pagination.next_page_token to retrieve the next page of shorts in the selected order. Sorted and paginated responses don't include the channel object.

GET
https://www.searchapi.io/api/v1/search?channel_id=%40NBA&engine=youtube_channel_shorts
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "youtube_channel_shorts",
  "channel_id": "@NBA"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_N0SS5vCXLJxUgs6qKFG2LIrv",
    "status": "Success",
    "created_at": "2026-08-30T02:14:20Z",
    "request_time_taken": 1.43,
    "parsing_time_taken": 0.11,
    "total_time_taken": 1.55,
    "request_url": "https://www.youtube.com/@NBA/shorts",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_N0SS5vCXLJxUgs6qKFG2LIrv.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_N0SS5vCXLJxUgs6qKFG2LIrv"
  },
  "search_parameters": {
    "engine": "youtube_channel_shorts",
    "channel_id": "@NBA",
    "hl": "en",
    "gl": "US"
  },
  "channel": {
    "handle": "@NBA",
    "id": "UCWJ2lWNubArHWmf3FIHbfcQ",
    "title": "NBA",
    "subscribers": 24400000,
    "videos": 79000,
    "description": "The NBA is the premier professional basketball league in the United States and Canada. The league is truly global, with games and programming in 215 countries and territories in 47 languages. The NBA consists of 30 teams. The NBA offers real time access to live regular season NBA games with a subscription to NBA LEAGUE PASS, available globally for TV, broadband, and mobile.  Real-time Stats, Scores, Highlights and more are available to fans on web and mobile with the NBA App. \n\nFor news, stories, highlights and more, go to our official website at https://app.link.nba.com/e/NBA_site\n",
    "keywords": "NBA \"Full Game Recaps\" \"Full Game Highlights\"",
    "tags": [
      "NBA",
      "Full Game Recaps",
      "Full Game Highlights"
    ],
    "available_countries": [
      "AF",
      "AZ",
      ...
    ],
    "badges": [
      "NBA",
      "Verified"
    ],
    "first_link": "https://nba.smart.link/NBAApp-YTBio",
    "is_verified": true,
    "is_family_safe": true,
    "banner": "https://yt3.googleusercontent.com/Ee_nr7XAjtljuxEFxlLqcJmOW7zGv_UVSbpsg4dC3CeAScXizrlsRQk43BQKtQIIJFUQQ_pO=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj",
    "avatar": "https://yt3.googleusercontent.com/eGmO8yk_eHvLzEywzlPwRV_-7RiDayDLeXWWBVExMLN4qXA7z7fD6ldPXatXZiQOvgW4--jzNA=s900-c-k-c0x00ffffff-no-rj"
  },
  "shorts": [
    {
      "position": 1,
      "id": "Tsah78lYG7A",
      "title": "Still trying to figure out how he kicked the net full of basketballs 🤔",
      "link": "https://www.youtube.com/shorts/Tsah78lYG7A",
      "views": 47000,
      "thumbnail": "https://i.ytimg.com/vi/Tsah78lYG7A/oar2.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLASckIkCts9VxD9AhVcb45l999Jng&usqp=CCk"
    },
    {
      "position": 2,
      "id": "nCYEm7S-N2I",
      "title": "HOW MANY PASSES do you count??",
      "link": "https://www.youtube.com/shorts/nCYEm7S-N2I",
      "views": 27000,
      "thumbnail": "https://i.ytimg.com/vi/nCYEm7S-N2I/oar2.jpg?sqp=-oaymwEkCJUDENAFSFqQAgHyq4qpAxMIARUAAAAAJQAAyEI9AICiQ3gB&rs=AOn4CLCiWxk8SOSbhs6muSN600YuZ2Vi-g&usqp=CCk"
    },
    ...
  ],
  "pagination": {
    "next_page_token": "4qmFsgK5DBIYVUNXSjJsV051YkFySFdtZjNGSUhiZmNRGpwMOGdhTUNScUpD..."
  }
}