YouTube Trending Shorts API Documentation
The YouTube Trending Shorts API returns the shorts YouTube's Shorts feed is showing in a country. Each short comes with its title and channel, plus views, likes, comments, publish date, duration, music and keywords when YouTube returns them.
API Parameters
Localization
-
- Name
-
gl - Required
- Optional
- Description
-
The default parameter
USdefines the country whose trending shorts are returned. Check the full list of supported YouTubeglcountries.
-
- Name
-
hl - Required
- Optional
- Description
-
The default parameter
endefines the language of the feed. YouTube picks shorts in that language, so set the country's language to get what local viewers see (for examplehl=jawithgl=JP). Check the full list of supported YouTubehllanguages.
Pagination
-
- Name
-
next_page_token - Required
- Optional
- Description
-
A token used to retrieve the next batch of trending shorts. Each response returns
pagination.next_page_token. Pass it back with the sameglandhlto keep scrolling the feed.
Engine
-
- Name
-
engine - Required
- Required
- Description
-
Parameter defines the engine that will be used to retrieve real-time data. To retrieve trending YouTube shorts, it must be set to
youtube_trending_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
Set gl to get the shorts trending in another country. likes is left out when YouTube doesn't return a like count.
https://www.searchapi.io/api/v1/search?engine=youtube_trending_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_trending_shorts"
}
response = requests.get(url, params=params)
print(response.text)
{
"search_metadata": {
"id": "search_kteO7kF2VxpirDukV2Tsuj2g",
"status": "Success",
"created_at": "2026-10-20T14:24:43Z",
"request_time_taken": 15.69,
"parsing_time_taken": 0.11,
"total_time_taken": 15.8,
"request_url": "https://www.youtube.com/shorts",
"html_url": "https://www.searchapi.io/api/v1/searches/search_kteO7kF2VxpirDukV2Tsuj2g.html",
"json_url": "https://www.searchapi.io/api/v1/searches/search_kteO7kF2VxpirDukV2Tsuj2g"
},
"search_parameters": {
"engine": "youtube_trending_shorts",
"gl": "US",
"hl": "en"
},
"shorts": [
{
"position": 1,
"id": "cBOABqApE48",
"title": "\"Apart from my dignity, I think I'm fine.\" 😳",
"link": "https://www.youtube.com/shorts/cBOABqApE48",
"description": "\"Apart from my dignity, I think I'm fine.\" #film #movie #tvshow \n\n🛠️ Software Used: After Effects 2025、Adobe Premiere Pro 2025\n🎥 Series: Marvel Series...",
"views": 6238189,
"likes": 234214,
"comments": 1636,
"publish_date": "2026-10-19T08:21:24-07:00",
"length": "2:46",
"length_seconds": 166,
"category": "People & Blogs",
"is_family_safe": true,
"channel": {
"id": "UCWJtCsLtBu5XY4ovIT8jy1A",
"title": "Dreamy Talker",
"handle": "@DreamyTalker088",
"link": "https://www.youtube.com/channel/UCWJtCsLtBu5XY4ovIT8jy1A"
},
"music": {
"title": "Original Sound",
"thumbnail": "https://yt3.ggpht.com/0uFwIn5Zept_R4GGUBJH8HtltizsOIxkNAI6Mgvtr1e1zNPUlikzabKx129Z2xEv6M6OwXKqPw=s176-c-k-c0x00ffffff-no-rj"
},
"thumbnail": "https://i.ytimg.com/vi/cBOABqApE48/maxresdefault.jpg?sqp=-oaymwEmCIAKENAF8quKqQMa8AEB-AG2CIACuAiKAgwIABABGH8gOCghMA8=&rs=AOn4CLBv0tfPD8H8JcWpDNekREcBSAeBsQ"
},
"..."
],
"pagination": {
"next_page_token": "GnEKC3ZodGdoVkFsM2JrGCcgAjCKkYemiMKbrPABQlMILBAgGjXyBjIKMAoFmgECEAEYASICIAHqxO-8CxUSEwj3qc-i5siXAxXIV0wIHYAjL97qusrzDQIIDCIHCgUzMjpTSCoNCgt2aHRnaFZBbDNiayoCGAxCAGIEUkRTSHqIBAgwGAggKzLoAQoLdmh0Z2hWQWwzYmsSATAaCwinrsjWBhCgqOIIIgYIoqba1gYqBAgNEAEyGxIHCOYBEAEYARIHCJEDEAEYARIHCI8HEAEYATozCgMIiw8KAwi4AQoDCOgCEgIIAxICCBASAggiEgIIJBIDCLgBEgMI6AISAwjlBBIDCIsPQgcKAwjMARABSgcKAwjNARABUgcKAwjMARABWhoSGAgBEAEiDAoCCAEKAggCCgIIAyoECAEQAXoyCggIglAVmpnZPgoICK9OFSPbeT4KCAj6ThX8qfE9CggI8WgVYOXQPQoICOhZFTeJwT1CC3ZodGdoVkFsM2JrShhVQ2haMmRHQU9pWHhOY0V0YUZ2LWItcFFQAFic8c3NlTRqNwoLSG4tMXNiTlpYQm8SGFVDcVVTRWNnRjdEQl9abzZGV052ZlhnZx0A5ZhBIPz__________wFqNwoLVUFHZWItWVU5ckUSGFVDVmxpZzdjbzNTcFdRdFFoSE03UTgtUR1lVk5BIP3__________wFqNwoLcmQxQTNLYy1pb00SGFVDUVBacC1sNlY5aGtwRkFjOVlxb1JOUR1uF35BIP7__________wFqNwoLdmh0Z2hWQWwzYmsSGFVDaFoyZEdBT2lYeE5jRXRhRnYtYi1wUR3R1DtCIP___________wGgAQE="
}
}
Next Page
The feed changes on every request, so each call returns a new set of shorts, usually around 10. Pass pagination.next_page_token back as next_page_token, with the same gl and hl, to get the next batch. A later batch can repeat a short from an earlier one, so dedupe by id. Ads in the feed are left out.
https://www.searchapi.io/api/v1/search?engine=youtube_trending_shorts&next_page_token=GnEKC3VYeEtBSkpZcnpJGDIgAjDCz_q85tecv80BQlMIOBAgGjXyBjIKMAoFmgECEAEYASICIAHqxO-8CxUSEwifxL2VnsuXAxUYCWgIHZUvCWLqusrzDQIIDCIHCgUzMjpTSCoNCgt1WHhLQUpKWXJ6SSoCGAxCAGIEUkRTSHqzBgg5GAoywQEKC3VYeEtBSkpZcnpJEgEwGgsI0NKz1gYQkNH3VSIGCMaj3dYGKgQIDRABMhsSBwjmARABGAESBwiRAxABGAESBwiPBxABGAE6IAoDCI8JCgMItQQSAggDEgIIFhICCBgSAwi1BBIDCI8JQgcKAwjMARABSgcKAwjNARABUgcKAwjMARABWgYSBAgBEAF6MgoICJtqFcHK4T4KCAj6ThWuR2E-CggI_mkVJQYBPgoICKVbFWDl0D0KCAjMaBU3icE9Qgt1WHhLQUpKWXJ6SUoYVUNJbHNCU2xXSnVBUVFOSUtKekhQNHh3WPmIxPWVNGo3Cgt4UWlmVlJYOHBUURIYVUNmY3FLSC1KNDRERHdacXRBdU9DdkdRHcrgWUEg9v__________AWo3CgtDTkZVeGNoZ2ctTRIYVUNSbHZ3enE4RFVWdHh1a3RkNkFUTWVnHUX4g0Eg9___________AWo3CgtXNU5xd3J1Zm9raxIYVUNIY1dJcF83SGRUbEJBWVVNQWwxVl93HXLQu0Eg-P__________AWo3CgtHUERaX0hHNnJfbxIYVUNlVFNZa01Zc2lxdHk0NGZjRFFWY2FRHRJhUkEg-f__________AWo3CgtobWQ5Unc4Zm9iYxIYVUNIY1dJcF83SGRUbEJBWVVNQWwxVl93HbALm0Eg-v__________AWo3Cgt4ZVNHaVp0RlE2SRIYVUNCZF9ERGhiR2sxdElicUdBYkJjSlNBHeRK2EEg-___________AWo3CgtTcC0xOUNMeFNvYxIYVUNzRkl6SmstVDdQVHpQNGlOX0o4emRnHfhEQEEg_P__________AWo3Cgs4T1ZoeEMzS0NfVRIYVUNoSk5NZTRveDFDemUtNTFYelBYWG5nHfYUN0Eg_f__________AWo3CgtQN3lJRTh0engzYxIYVUNzRkl6SmstVDdQVHpQNGlOX0o4emRnHYMxkEEg_v__________AWo3Cgt1WHhLQUpKWXJ6SRIYVUNJbHNCU2xXSnVBUVFOSUtKekhQNHh3HT4vzUEg____________AaABAQ%3D%3D
- 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_trending_shorts",
"next_page_token": "GnEKC3VYeEtBSkpZcnpJGDIgAjDCz_q85tecv80BQlMIOBAgGjXyBjIKMAoFmgECEAEYASICIAHqxO-8CxUSEwifxL2VnsuXAxUYCWgIHZUvCWLqusrzDQIIDCIHCgUzMjpTSCoNCgt1WHhLQUpKWXJ6SSoCGAxCAGIEUkRTSHqzBgg5GAoywQEKC3VYeEtBSkpZcnpJEgEwGgsI0NKz1gYQkNH3VSIGCMaj3dYGKgQIDRABMhsSBwjmARABGAESBwiRAxABGAESBwiPBxABGAE6IAoDCI8JCgMItQQSAggDEgIIFhICCBgSAwi1BBIDCI8JQgcKAwjMARABSgcKAwjNARABUgcKAwjMARABWgYSBAgBEAF6MgoICJtqFcHK4T4KCAj6ThWuR2E-CggI_mkVJQYBPgoICKVbFWDl0D0KCAjMaBU3icE9Qgt1WHhLQUpKWXJ6SUoYVUNJbHNCU2xXSnVBUVFOSUtKekhQNHh3WPmIxPWVNGo3Cgt4UWlmVlJYOHBUURIYVUNmY3FLSC1KNDRERHdacXRBdU9DdkdRHcrgWUEg9v__________AWo3CgtDTkZVeGNoZ2ctTRIYVUNSbHZ3enE4RFVWdHh1a3RkNkFUTWVnHUX4g0Eg9___________AWo3CgtXNU5xd3J1Zm9raxIYVUNIY1dJcF83SGRUbEJBWVVNQWwxVl93HXLQu0Eg-P__________AWo3CgtHUERaX0hHNnJfbxIYVUNlVFNZa01Zc2lxdHk0NGZjRFFWY2FRHRJhUkEg-f__________AWo3CgtobWQ5Unc4Zm9iYxIYVUNIY1dJcF83SGRUbEJBWVVNQWwxVl93HbALm0Eg-v__________AWo3Cgt4ZVNHaVp0RlE2SRIYVUNCZF9ERGhiR2sxdElicUdBYkJjSlNBHeRK2EEg-___________AWo3CgtTcC0xOUNMeFNvYxIYVUNzRkl6SmstVDdQVHpQNGlOX0o4emRnHfhEQEEg_P__________AWo3Cgs4T1ZoeEMzS0NfVRIYVUNoSk5NZTRveDFDemUtNTFYelBYWG5nHfYUN0Eg_f__________AWo3CgtQN3lJRTh0engzYxIYVUNzRkl6SmstVDdQVHpQNGlOX0o4emRnHYMxkEEg_v__________AWo3Cgt1WHhLQUpKWXJ6SRIYVUNJbHNCU2xXSnVBUVFOSUtKekhQNHh3HT4vzUEg____________AaABAQ=="
}
response = requests.get(url, params=params)
print(response.text)
{
"search_metadata": {
"id": "search_0E6M9wDPgb74HMLoRnqybBAj",
"status": "Success",
"created_at": "2026-10-21T13:40:30Z",
"request_time_taken": 22.1,
"parsing_time_taken": 0.0,
"total_time_taken": 22.1,
"request_url": "https://www.youtube.com/shorts",
"html_url": "https://www.searchapi.io/api/v1/searches/search_0E6M9wDPgb74HMLoRnqybBAj.html",
"json_url": "https://www.searchapi.io/api/v1/searches/search_0E6M9wDPgb74HMLoRnqybBAj"
},
"search_parameters": {
"engine": "youtube_trending_shorts",
"gl": "US",
"hl": "en",
"next_page_token": "GnEKC3VYeEtBSkpZcnpJGDIgAjDCz_q85tecv80BQlMIOBAgGjXyBjIKMAoFmgECEAEYASICIAHqxO-8CxUSEwifxL2VnsuXAxUYCWgIHZUvCWLqusrzDQIIDCIHCgUzMjpTSCoNCgt1WHhLQUpKWXJ6SSoCGAxCAGIEUkRTSHqzBgg5GAoywQEKC3VYeEtBSkpZcnpJEgEwGgsI0NKz1gYQkNH3VSIGCMaj3dYGKgQIDRABMhsSBwjmARABGAESBwiRAxABGAESBwiPBxABGAE6IAoDCI8JCgMItQQSAggDEgIIFhICCBgSAwi1BBIDCI8JQgcKAwjMARABSgcKAwjNARABUgcKAwjMARABWgYSBAgBEAF6MgoICJtqFcHK4T4KCAj6ThWuR2E-CggI_mkVJQYBPgoICKVbFWDl0D0KCAjMaBU3icE9Qgt1WHhLQUpKWXJ6SUoYVUNJbHNCU2xXSnVBUVFOSUtKekhQNHh3WPmIxPWVNGo3Cgt4UWlmVlJYOHBUURIYVUNmY3FLSC1KNDRERHdacXRBdU9DdkdRHcrgWUEg9v__________AWo3CgtDTkZVeGNoZ2ctTRIYVUNSbHZ3enE4RFVWdHh1a3RkNkFUTWVnHUX4g0Eg9___________AWo3CgtXNU5xd3J1Zm9raxIYVUNIY1dJcF83SGRUbEJBWVVNQWwxVl93HXLQu0Eg-P__________AWo3CgtHUERaX0hHNnJfbxIYVUNlVFNZa01Zc2lxdHk0NGZjRFFWY2FRHRJhUkEg-f__________AWo3CgtobWQ5Unc4Zm9iYxIYVUNIY1dJcF83SGRUbEJBWVVNQWwxVl93HbALm0Eg-v__________AWo3Cgt4ZVNHaVp0RlE2SRIYVUNCZF9ERGhiR2sxdElicUdBYkJjSlNBHeRK2EEg-___________AWo3CgtTcC0xOUNMeFNvYxIYVUNzRkl6SmstVDdQVHpQNGlOX0o4emRnHfhEQEEg_P__________AWo3Cgs4T1ZoeEMzS0NfVRIYVUNoSk5NZTRveDFDemUtNTFYelBYWG5nHfYUN0Eg_f__________AWo3CgtQN3lJRTh0engzYxIYVUNzRkl6SmstVDdQVHpQNGlOX0o4emRnHYMxkEEg_v__________AWo3Cgt1WHhLQUpKWXJ6SRIYVUNJbHNCU2xXSnVBUVFOSUtKekhQNHh3HT4vzUEg____________AaABAQ=="
},
"shorts": [
{
"position": 1,
"id": "cSGZ2NI7_H4",
"title": "This World Record Took YEARS 🫣",
"link": "https://www.youtube.com/shorts/cSGZ2NI7_H4",
"description": "► Professional Red Bull trail biker Tomomi Nishikubo shows what it takes to earn a world record.\n\n#RedBull #GivesYouWiiings\n__________________________...",
"views": 20798575,
"likes": 604498,
"comments": 2925,
"publish_date": "2026-08-06T00:31:42-07:00",
"length": "1:41",
"length_seconds": 101,
"category": "Sports",
"keywords": [
"red bull",
"redbull",
"action sports",
"extreme sports",
"sport videos",
"action",
"sport"
],
"is_family_safe": true,
"channel": {
"id": "UCblfuW_4rakIf2h6aqANefA",
"title": "Red Bull",
"handle": "@redbull",
"link": "https://www.youtube.com/channel/UCblfuW_4rakIf2h6aqANefA"
},
"music": {
"title": "Original Sound",
"thumbnail": "https://yt3.ggpht.com/ytc/AIdro_k94J7kkxpmlJe3c2iDFJpHk8SAADPpf49cN7XjomXSzEE=s176-c-k-c0x00ffffff-no-rj"
},
"thumbnail": "https://i.ytimg.com/vi/cSGZ2NI7_H4/maxresdefault.jpg?sqp=-oaymwEmCIAKENAF8quKqQMa8AEB-AG2CIACgA-KAgwIABABGDogYyhlMA8=&rs=AOn4CLB-qOLv25vbHzv1fGQ9bqv4Rdgkpw"
},
"..."
],
"pagination": {
"next_page_token": "GnEKC3EwSFE2bHM1dE1nGFUgAjDCz_q85tecv80BQlMIKBAgGjXyBjIKMAoFmgECEAEYASICIAHqxO-8CxUSEwifxL2VnsuXAxUYCWgIHZUvCWLqusrzDQIIDCIHCgUzMjpTSCoNCgtxMEhRNmxzNXRNZyoCGAxCAGIEUkRTSHrlBQhhGAgy5QEKC3EwSFE2bHM1dE1nEgEwGgwIguTd1gYQsIjNsQIiBgi6yt7WBioECA0QATIbEgcI5gEQARgBEgcIkQMQARgBEgcIjwcQARgBOkcKAwjVCAoDCOYOCgMI4w4KAwi7ChICCAwSAggNEgIIMhICCEMSAwihAhIDCP4CEgMI1QgSAwi7ChIDCOEOEgMI4w4SAwjmDkIHCgMIzAEQAUoHCgMIzQEQAVIHCgMIzAEQAVoMEgoIARABKgQIARABeigKCAj-aRXLocU-CggI_E8VYOWQPgoICMBpFdV4aT4KCAiuThU3icE9QgtxMEhRNmxzNXRNZ0oYVUNKTlZid1FISVZNTlNsTy1kLS1QdFlBWOu5xfWVNGo3CgtiWm9SOEEyem5wbxIYVUN2ejg0X1EwQmJ2WlRoeTc1bWJkLURnHbG0UEEg-P__________AWo3CgtnSmpxSWx0eUpKWRIYVUN2ejg0X1EwQmJ2WlRoeTc1bWJkLURnHaPVekEg-f__________AWo3CgtCYTdoTTdWMWR5dxIYVUNIY1dJcF83SGRUbEJBWVVNQWwxVl93HduQiEEg-v__________AWo3CgtwcW56dExLUGp4SRIYVUNKZk5KbWN2NkxYQ0RzYWEya0JfLTdBHYQF9UAg-___________AWo3CgtCMG1LVG1WUk9WdxIYVUNJS2szbVRMaGdHcjdLd0xrQ3hIRV9RHfVsokEg_P__________AWo3CgtlSG1jdGs5UmRKWRIYVUNESTVubUc2YlFEbm5hUTJaN2gybVhBHb2BckEg_f__________AWo3Cgt4Snp4NzNxck1qSRIYVUNXSnRDc0x0QnU1WFk0b3ZJVDhqeTFBHYFoD0Ig_v__________AWo3CgtxMEhRNmxzNXRNZxIYVUNKTlZid1FISVZNTlNsTy1kLS1QdFlBHeBmEkIg____________AaABAQ=="
}
}