YouTube Channel Shorts API Documentation
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:UCWJ2lWNubArHWmf3FIHbfcQfor channel IDs;@NBAfor '@' handles.
Localization
-
- Name
-
gl - Required
- Optional
- Description
-
The default parameter
usdefines the country of the search. Check the full list of supported YouTubeglcountries.
-
- Name
-
hl - Required
- Optional
- Description
-
The default parameter
endefines the interface language of the search. Check the full list of supported YouTubehllanguages.
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_tokenfrom 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_keyauthenticates 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
trueto 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
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.
https://www.searchapi.io/api/v1/search?channel_id=%40NBA&engine=youtube_channel_shorts
- Python
- Node
- Ruby
- Java
- Go
- PHP
- Bash
- R
- Kotlin
- Swift
- C#
- C
- C++
- requests
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)
{
"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..."
}
}