YouTube Channel API
YouTube Channel API allows you to scrape content from a YouTube channel by channel_id — either a channel handle from youtube.com/@channel_id or a raw channel ID starting with UC (e.g., UCUgIHlYBOD3yA3yDIRhg_mg). Requests are faster when a raw channel ID is used. Use the tab parameter to retrieve videos, shorts, live streams, podcasts, playlists, or community posts.
The API endpoint is https://serpapi.com/search?engine=youtube_channel
Head to the playground for a live and interactive demo.
API Parameters
Search Query
channel_id
Optional
Parameter defines the YouTube channel identifier. It can be a channel handle found in the URL as youtube.com/@channel_id (e.g., serpapi for youtube.com/@serpapi), or a raw channel ID that starts with UC (e.g., UCUgIHlYBOD3yA3yDIRhg_mg). Requests are faster when a raw channel ID is used.
Localization
Advanced Youtube Channel Parameters
tab
Optional
Parameter defines the channel content tab to retrieve. Available options:videos - Videos (default), returned in videos_resultsshorts - Shorts, returned in shorts_resultsstreams - Live streams, returned in streams_resultspodcasts - Podcasts, returned in podcasts_resultsplaylists - Playlists, returned in playlists_resultsposts - Community posts, returned in posts_results
Can't be used together with search_query.podcasts and posts can't be used together with sort.
sort
Optional
Parameter defines the sorting order. Available options depend on tab:
videos / shorts / streams:latest - Latest (default)popular - Popularoldest - Oldest
playlists:dd - Date added (newest) (default)lad - Last video added
sort can't be used with search_query or tab=podcasts or tab=posts.
Serpapi Parameters
no_cache
Optional
Parameter will force SerpApi to fetch the YouTube Channel results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to false (default) to allow results from the cache, or true to disallow results from the cache. no_cache and async parameters should not be used together.
async
Optional
Parameter defines the way you want to submit your search to SerpApi. It can be set to false (default) to open an HTTP connection and keep it open until you got your search results, or true to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our Searches Archive API to retrieve your results. async and no_cache parameters should not be used together. async should not be used on accounts with Ludicrous Speed enabled.
zero_trace
Optional
Enterprise only. Parameter enables ZeroTrace mode. It can be set to false (default) or true. Enable this mode to skip storing search parameters, search files, and search metadata on our servers. This may make debugging more difficult.
output
Optional
Parameter defines the format of the result. It can be set to json (default) to get a structured JSON of the results, html to get the raw HTML retrieved, or md to get a markdown-formatted version optimized for LLMs and AI agents.
json_restrictor
Optional
Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the JSON Restrictor documentation for more details.
API Results
JSON Results
JSON output includes structured data for channel videos, shorts, streams, podcasts, playlists, posts, and search results — depending on the tab or search_query parameter.
A search status is accessible through search_metadata.status. It flows this way: Processing -> Success || Error. If a search has failed, the error will contain an error message. search_metadata.id is the search ID inside SerpApi.
HTML Results
HTML output is useful to debug JSON results or support features not yet supported by SerpApi. It gives you the raw HTML results from YouTube Channel.
Markdown Results
Markdown output is optimized for LLMs and AI agents. It provides most of the same informational content as JSON
in a token-efficient format using tables, markdown links, and YAML frontmatter.
To access, use the output=md parameter, the /search.md endpoint, or request header Accept: text/markdown.
API Examples
Results for: serpapi
{
"search_metadata": {
"id": "6a69fea159603d258b2a160c",
"status": "Success",
"json_endpoint": "https://serpapi.com/searches/wN4MACw9o5JAwbOkJ_1LWg/6a69fea159603d258b2a160c.json",
"created_at": "2026-07-29 13:22:41 UTC",
"processed_at": "2026-07-29 13:22:41 UTC",
"youtube_channel_url": "https://www.youtube.com/@serpapi/videos",
"raw_html_file": "https://serpapi.com/searches/wN4MACw9o5JAwbOkJ_1LWg/6a69fea159603d258b2a160c.html",
"prettify_html_file": "https://serpapi.com/searches/wN4MACw9o5JAwbOkJ_1LWg/6a69fea159603d258b2a160c.prettify",
"total_time_taken": 4.44
},
"search_parameters": {
"engine": "youtube_channel",
"channel_id": "serpapi"
},
"channel_results": {
"title": "SerpApi, LLC",
"handle": "@serpapi",
"thumbnail": "https://yt3.googleusercontent.com/ytc/AIdro_lOOglUzG1_-wgII_NV-3UHc8oOhB2hEdLenwKrEkOxgw=s900-c-k-c0x00ffffff-no-rj",
"thumbnails": [
{
"url": "https://yt3.googleusercontent.com/ytc/AIdro_lOOglUzG1_-wgII_NV-3UHc8oOhB2hEdLenwKrEkOxgw=s900-c-k-c0x00ffffff-no-rj",
"width": 900,
"height": 900
}
],
"description": "Scrape Google and other search engines from our fast, easy, and complete API.",
"keywords": "serpapi webscraping seo datascraping \"google search api\"",
"external_id": "UCUgIHlYBOD3yA3yDIRhg_mg",
"link": "https://www.youtube.com/channel/UCUgIHlYBOD3yA3yDIRhg_mg",
"rss_link": "https://www.youtube.com/feeds/videos.xml?channel_id=UCUgIHlYBOD3yA3yDIRhg_mg",
"subscribers_text": "2.77K subscribers",
"subscribers": 2770,
"videos_text": "165 videos",
"video_count": 165
},
"videos_results": [
{
"position": 1,
"link": "https://www.youtube.com/watch?v=Q22ys8x1tXs",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=Q22ys8x1tXs",
"video_id": "Q22ys8x1tXs",
"title": "New Open Source SEO rank tracker? Introducing SerpTrail",
"views": "119 views",
"extracted_views": 119,
"published_date": "6 days ago",
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/Q22ys8x1tXs/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLCb3OEqWbQRBFWJnIVptRiMUiZ92A",
"width": 168,
"height": 94
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/Q22ys8x1tXs/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLDF3naYqtTobScr9UEgRw9lev5t2Q",
"rich": "https://i.ytimg.com/an_webp/Q22ys8x1tXs/mqdefault_6s.webp?du=3000&sqp=CIHup9MG&rs=AOn4CLANs1xZeYIzDh9qBHGAppvx88qXpA"
},
"length": "1:09"
},
{
"position": 2,
"link": "https://www.youtube.com/watch?v=5LVkjT-UC0o",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=5LVkjT-UC0o",
"video_id": "5LVkjT-UC0o",
"title": "Reduce Claude Code Hallucinations With This Tool",
"views": "133 views",
"extracted_views": 133,
"published_date": "7 days ago",
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/5LVkjT-UC0o/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLA5VhBthXiF1BxCSM59i8k-qAOu6g",
"width": 168,
"height": 94
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/5LVkjT-UC0o/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLAP_SevVy9MO4aKmP_bNSKqTAULmQ",
"rich": "https://i.ytimg.com/an_webp/5LVkjT-UC0o/mqdefault_6s.webp?du=3000&sqp=CM7Up9MG&rs=AOn4CLD6ouuKvdaTqkwHowIHy9YvWwGm9w"
},
"length": "5:44"
},
{
"position": 3,
"link": "https://www.youtube.com/watch?v=9_Wa58PZ8rA",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=9_Wa58PZ8rA",
"video_id": "9_Wa58PZ8rA",
"title": "Pydantic AI Agents with Real-Time Search",
"views": "127 views",
"extracted_views": 127,
"published_date": "2 weeks ago",
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/9_Wa58PZ8rA/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLC9A_-mxl3EsZbx46LGpSKv15Y-3g",
"width": 168,
"height": 94
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/9_Wa58PZ8rA/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLDRuLNCYdt6kArPPUQQ9IXB8Zu_Bw",
"rich": "https://i.ytimg.com/an_webp/9_Wa58PZ8rA/mqdefault_6s.webp?du=3000&sqp=CODip9MG&rs=AOn4CLAkrrRFRZwAE7jK3BNmej_xokeovw"
},
"length": "11:03"
},
...
],
"filters": [
{
"title": "Latest",
"selected": true,
"serpapi_link": "https://serpapi.com/search.json?channel_id=serpapi&engine=youtube_channel&sort=latest"
},
...
],
"serpapi_pagination": {
"next_page_token": "4qmFsgLZCRIYVUNVZ0lIbFlCT0QzeUEzeURJUmhnX21nGrwJOGdhRUJ4cUJCM3ItQmpyN0Jnb2tObUU0WkRnd1lqTXRNREF3TUMweVl6WmtMV0U0TlRrdFpEUm1OVFEzWmpsa016azBFdEFHUVZreFZ6RkpaMlJhYVRGNmFrTlRkVWRNYTJsNGNHSkNVMTl3VVhCVmRIZHJUVlZWUlVoYVdHMVVTRkpyY25CR1ZIRnpRVlV0T1VKVlVGZHdibDlKVWw5bmMyMXdVVGhHTFhWc0xTMWhjR3haUlZNelYwaHVWM2xNV1ZoaUxXUkVTbGxYV0hjMk16WnNaWGhCY1hSdGEyUlpXbVJMUzFsQlRuaE9RMEpvVkhKSVIxOHdNalJFZUdkd1JHTk5OVWt5T0VOdVkxOXJTMWhQTkUxRmR6YzNNRjlHU1Y5Q1VubFNlRk5zTVhkMVIzaENZblE0ZEc5UWJtZFhRMWRMWW10V1ZqZElVbll0VVMxeFIyUlFUM05XYWtkaGVIbFJUVWQxUld4TWNDMUVNMnhTU0dJNU1VRjZVMDlGTFRFNFMzTTBaR050VG5NNFpISlZjMGRGUjJrelRXOTNSbVUxT1dwZk4wNU9WREZDVEhCcmVpMUNaVkpmZVVWVGJISkRZM2hPUjFsTFV6QkNORkl5YlhoRFIwSnpTVGxQU1V4cldIWm1kV1ZNZUVwSlZXc3pkR0ZxUzJkSWExTkxTMGRmZVVsWVEwVlZZblJ6Y1ZjNWVreGpNVWN0TjJwZmEwSnRTVmR3TVV0elpqRmlOVUV0UmxBNGVYSllTMGhmVVMxeWNreEdiV0p1VTNOYVZsbHViVEV0YW1Gb1RWTTFkakZpV21KNVdVNXpha0pKVFVoMk9UUkNkVVp5Vlc1cmJYZDFkRFJLV1Y5bFFVc3lURjlWY0VGSFkzcEJWVE5CYkZJNFlYVkNia2RIVkUxUFlsOVZNVkYzZG0xdWVEZzVRbEJsYjFOR1RFTmlaM0ZzTW5WM1drSTVSblJJYXkxd1FVSXlkVVJ3VEdJMlduVkpRa05HY1VnMVJtWjBXV1EwVVdGUVZVVXRTR1owUzNKMFowTm5TekJHWDNsdVltUnpMVzlHYmpGeFdGZDVRVWxhTm1aTE5FSTVZMkUyWjJkQ04wRkZNMFZNTmtod1Izb3haRXBqZGswd05ITkJhRFJvZDAxVE5sQlRjbG94TkdSUFV6bHJaazB5VldkS1l5MTRSek5SU3poTVJIQkJia1ZrUXpaNlJtZFpaemxWZW5aMlpqVk5kblZQV0dGdlpERlBOMU5EWWxSRmIyVjFiVlJYU201amIwUXpSVk5zZDNRdE9YQnZYMUpuWTBWNWRUazBaV0p1UkRWVWFFb3RabkJyYUdZMWFYUkthWFp5Vmw5d1lXa3RWMVZ2WXpFMFNrcEdNMUUyZVhjeWNqbDJTbnAyVVVNNVZFWm9iR1JVYXpoelRXNUVWMFU0VVhGUWJrOXplV294Vm1oVE9VVmFjbXRrYWt4UVNIQjVZVVIzYm0xeE1EUnpVR1JJY0U1clYzTk9hM2wzYUdJNVJuSmhjSFpFVjFwaWJGWXRVa2x0WmtSeFlscHZPQzF3ZEZvMFVsTkdTMTlPWkdSd2VteE1RMDFJTlhBWUJBJTNEJTNE",
"next": "https://serpapi.com/search.json?channel_id=serpapi&engine=youtube_channel&next_page_token=4qmFsgLZCRIYVUNVZ0lIbFlCT0QzeUEzeURJUmhnX21nGrwJOGdhRUJ4cUJCM3ItQmpyN0Jnb2tObUU0WkRnd1lqTXRNREF3TUMweVl6WmtMV0U0TlRrdFpEUm1OVFEzWmpsa016azBFdEFHUVZreFZ6RkpaMlJhYVRGNmFrTlRkVWRNYTJsNGNHSkNVMTl3VVhCVmRIZHJUVlZWUlVoYVdHMVVTRkpyY25CR1ZIRnpRVlV0T1VKVlVGZHdibDlKVWw5bmMyMXdVVGhHTFhWc0xTMWhjR3haUlZNelYwaHVWM2xNV1ZoaUxXUkVTbGxYV0hjMk16WnNaWGhCY1hSdGEyUlpXbVJMUzFsQlRuaE9RMEpvVkhKSVIxOHdNalJFZUdkd1JHTk5OVWt5T0VOdVkxOXJTMWhQTkUxRmR6YzNNRjlHU1Y5Q1VubFNlRk5zTVhkMVIzaENZblE0ZEc5UWJtZFhRMWRMWW10V1ZqZElVbll0VVMxeFIyUlFUM05XYWtkaGVIbFJUVWQxUld4TWNDMUVNMnhTU0dJNU1VRjZVMDlGTFRFNFMzTTBaR050VG5NNFpISlZjMGRGUjJrelRXOTNSbVUxT1dwZk4wNU9WREZDVEhCcmVpMUNaVkpmZVVWVGJISkRZM2hPUjFsTFV6QkNORkl5YlhoRFIwSnpTVGxQU1V4cldIWm1kV1ZNZUVwSlZXc3pkR0ZxUzJkSWExTkxTMGRmZVVsWVEwVlZZblJ6Y1ZjNWVreGpNVWN0TjJwZmEwSnRTVmR3TVV0elpqRmlOVUV0UmxBNGVYSllTMGhmVVMxeWNreEdiV0p1VTNOYVZsbHViVEV0YW1Gb1RWTTFkakZpV21KNVdVNXpha0pKVFVoMk9UUkNkVVp5Vlc1cmJYZDFkRFJLV1Y5bFFVc3lURjlWY0VGSFkzcEJWVE5CYkZJNFlYVkNia2RIVkUxUFlsOVZNVkYzZG0xdWVEZzVRbEJsYjFOR1RFTmlaM0ZzTW5WM1drSTVSblJJYXkxd1FVSXlkVVJ3VEdJMlduVkpRa05HY1VnMVJtWjBXV1EwVVdGUVZVVXRTR1owUzNKMFowTm5TekJHWDNsdVltUnpMVzlHYmpGeFdGZDVRVWxhTm1aTE5FSTVZMkUyWjJkQ04wRkZNMFZNTmtod1Izb3haRXBqZGswd05ITkJhRFJvZDAxVE5sQlRjbG94TkdSUFV6bHJaazB5VldkS1l5MTRSek5SU3poTVJIQkJia1ZrUXpaNlJtZFpaemxWZW5aMlpqVk5kblZQV0dGdlpERlBOMU5EWWxSRmIyVjFiVlJYU201amIwUXpSVk5zZDNRdE9YQnZYMUpuWTBWNWRUazBaV0p1UkRWVWFFb3RabkJyYUdZMWFYUkthWFp5Vmw5d1lXa3RWMVZ2WXpFMFNrcEdNMUUyZVhjeWNqbDJTbnAyVVVNNVZFWm9iR1JVYXpoelRXNUVWMFU0VVhGUWJrOXplV294Vm1oVE9VVmFjbXRrYWt4UVNIQjVZVVIzYm0xeE1EUnpVR1JJY0U1clYzTk9hM2wzYUdJNVJuSmhjSFpFVjFwaWJGWXRVa2x0WmtSeFlscHZPQzF3ZEZvMFVsTkdTMTlPWkdSd2VteE1RMDFJTlhBWUJBJTNEJTNE"
}
}
Results for: serpapi + about
{
"search_parameters": {
"engine": "youtube_channel",
"channel_id": "serpapi",
"about": true
},
"channel_results": {
...
"country": "United States",
"joined_date": "Joined Jun 14, 2019",
"total_views_text": "283,727 views",
"total_views": 283727,
"links": [
{
"title": "Website",
"link": "https://serpapi.com/?utm_source=youtube_channel"
},
{
"title": "Twitter",
"link": "https://x.com/serp_api"
},
{
"title": "GitHub",
"link": "https://github.com/serpapi"
}
]
},
...
}
Results for: serpapi + tab: shorts
{
...
"shorts_results": [
{
"position": 1,
"link": "https://www.youtube.com/shorts/mnmEvGcG-hU",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=mnmEvGcG-hU",
"video_id": "mnmEvGcG-hU",
"title": "Scrape eBay popular filters and connect AI agent to web search results",
"views": "68 views",
"extracted_views": 68,
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/mnmEvGcG-hU/oar2.jpg?sqp=-oaymwEoCJUDENAFSFqQAgHyq4qpAxcIARUAAIhC2AEB4gEKCBgQAhgGOAFAAQ==&rs=AOn4CLDIi8GQEJ7HXkdIkAlfD5Jo3MOhEg&usqp=CCk",
"width": 405,
"height": 720
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/mnmEvGcG-hU/oar2.jpg?sqp=-oaymwErCJUDEOAESFqQAgHyq4qpAxoIARUAAIhCyAEB2AEB4gEKCBgQAhgGOAFAAQ==&rs=AOn4CLBpcp37sgVySe1Z5mRVRcZ2uwhimg&usqp=CCk"
}
},
{
"position": 2,
"link": "https://www.youtube.com/shorts/ghT-yiO_OZc",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=ghT-yiO_OZc",
"video_id": "ghT-yiO_OZc",
"title": "NEW Google Sports API, Amazon API features and more!",
"views": "37 views",
"extracted_views": 37,
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/ghT-yiO_OZc/oar2.jpg?sqp=-oaymwEoCJUDENAFSFqQAgHyq4qpAxcIARUAAIhC2AEB4gEKCBgQAhgGOAFAAQ==&rs=AOn4CLAonEFGRkHKBFHmKSrbeiQwDrpL1Q&usqp=CCk",
"width": 405,
"height": 720
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/ghT-yiO_OZc/oar2.jpg?sqp=-oaymwErCJUDEOAESFqQAgHyq4qpAxoIARUAAIhCyAEB2AEB4gEKCBgQAhgGOAFAAQ==&rs=AOn4CLBPwy0GXziN-tQnpNfvnXByWIvt2A&usqp=CCk"
}
},
...
],
...
}
Results for: skynews + tab: streams
{
"search_parameters": {
"engine": "youtube_channel",
"channel_id": "skynews",
"tab": "streams"
},
"streams_results": [
{
"position": 1,
"link": "https://www.youtube.com/watch?v=DVVxtlGxwNo",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=DVVxtlGxwNo",
"video_id": "DVVxtlGxwNo",
"title": "Mornings with Ridge and Frost | Thursday 30 July 2026",
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/DVVxtlGxwNo/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLATNDfx1ztb9KVxWf2C7J3K96aHaQ",
"width": 168,
"height": 94
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/DVVxtlGxwNo/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLBVsaItBX99MPfoOzLbmfZUlRz2hg"
},
"upcoming": true,
"waiting": "3 waiting",
"extracted_waiting": 3,
"scheduled_for": "Scheduled for 7/30/26, 1:00 PM"
},
{
"position": 5,
"link": "https://www.youtube.com/watch?v=ztrx1nuWE74",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=ztrx1nuWE74",
"video_id": "ztrx1nuWE74",
"title": "Wildfires rage in France as firefighting efforts continue",
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/ztrx1nuWE74/hqdefault.jpg?v=6a699479&sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLBSF-ac7K6tTMcCotKZIBu0dH77Og",
"width": 168,
"height": 94
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/ztrx1nuWE74/hqdefault.jpg?v=6a699479&sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLA5Xa1ekjNiXNRndO9jQmePP7SjRw"
},
"live": true,
"watching": "88 watching",
"extracted_watching": 88
},
{
"position": 8,
"link": "https://www.youtube.com/watch?v=uHWlCYfd3VE",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=uHWlCYfd3VE",
"video_id": "uHWlCYfd3VE",
"title": "'Surprise attack' by Iran | Sean Bell analysis",
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/uHWlCYfd3VE/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLAjqRfLzsEz1aKnRJvFuwAKv_tGNQ",
"width": 168,
"height": 94
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/uHWlCYfd3VE/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLDxwSoiX7aDgV5aA2mOzXO3cdlIkw",
"rich": "https://i.ytimg.com/an_webp/uHWlCYfd3VE/mqdefault_6s.webp?du=3000&sqp=CK38p9MG&rs=AOn4CLCFrpqRTN27RZZGD71U_kaW8tJoNQ"
},
"length": "5:08",
"views": "25K views",
"extracted_views": 25000,
"published_date": "Streamed 2 hours ago"
},
...
],
...
}
Results for: skynews + tab: podcasts
{
...
"podcasts_results": [
{
"position": 1,
"link": "https://www.youtube.com/playlist?list=PLG8IrydigQffkV94y_hhSFgZC-lgZ5rod",
"playlist_id": "PLG8IrydigQffkV94y_hhSFgZC-lgZ5rod",
"title": "Electoral Dysfunction",
"last_updated": "Updated today",
"episodes": "278 episodes",
"extracted_episodes": 278,
"thumbnails": [
{
"url": "https://i.ytimg.com/pl_c/PLG8IrydigQffkV94y_hhSFgZC-lgZ5rod/studio_square_thumbnail.jpg?sqp=COP5p9MG-oaymwEICPABEPABSFqi85f_AwYI5tiktwY=&rs=AOn4CLBf-EqaQPKw54yu-QrmNwTHgYN1lw",
"width": 240,
"height": 240
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/pl_c/PLG8IrydigQffkV94y_hhSFgZC-lgZ5rod/studio_square_thumbnail.jpg?sqp=CN_tp9MG-oaymwEICNAFENAFSFqi85f_AwYI5tiktwY=&rs=AOn4CLDqrMkdVapQFaF3QpDM4_OImIPJYw"
}
},
{
"position": 2,
"link": "https://www.youtube.com/playlist?list=PLG8IrydigQfdHK3L183HmfFhSdXtjhTyO",
"playlist_id": "PLG8IrydigQfdHK3L183HmfFhSdXtjhTyO",
"title": "Politics at Sam and Anne's",
"last_updated": "Updated today",
"episodes": "522 episodes",
"extracted_episodes": 522,
"thumbnails": [
{
"url": "https://i.ytimg.com/pl_c/PLG8IrydigQfdHK3L183HmfFhSdXtjhTyO/studio_square_thumbnail.jpg?sqp=CLrdp9MG-oaymwEICPABEPABSFqi85f_AwYI9cnkvgY=&rs=AOn4CLAL8NANT4YX_ef45VkhvO65l1qKKQ",
"width": 240,
"height": 240
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/pl_c/PLG8IrydigQfdHK3L183HmfFhSdXtjhTyO/studio_square_thumbnail.jpg?sqp=CPbxp9MG-oaymwEICNAFENAFSFqi85f_AwYI9cnkvgY=&rs=AOn4CLAgln0eGIN0Gjr6PDWKkNlSsO18IQ"
}
},
...
],
...
}
Results for: serpapi + tab: playlists
{
...
"playlists_results": [
{
"position": 1,
"link": "https://www.youtube.com/playlist?list=PLGt0Yb3JKV10Qr90QGS16w6kBeUUGHBsF",
"playlist_id": "PLGt0Yb3JKV10Qr90QGS16w6kBeUUGHBsF",
"title": "Vibe Coding with SerpApi",
"video_count": "4 videos",
"extracted_video_count": 4,
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/wwCaJ_1ZVXY/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAQbSK0o587G5zYLvzuFtUw_YZiTg",
"width": 480,
"height": 270
}
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/wwCaJ_1ZVXY/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLAQbSK0o587G5zYLvzuFtUw_YZiTg"
}
},
{
"position": 2,
"link": "https://www.youtube.com/playlist?list=PLGt0Yb3JKV11fGH9EX6H77Sx5cM2OY1-V",
"playlist_id": "PLGt0Yb3JKV11fGH9EX6H77Sx5cM2OY1-V",
"title": "Weekly Changelog",
"last_updated": "Updated 6 days ago",
"video_count": "30 videos",
"extracted_video_count": 30,
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/mnmEvGcG-hU/hqdefault.jpg?sqp=-oaymwExCOADEI4CSFryq4qpAyMIARUAAIhCGAHwAQH4AbYIgAKAD4oCDAgAEAEYTCBEKGUwDw==&rs=AOn4CLCEBwD-zLETNL-4-7b-BFJWW-0Zhw",
"width": 480,
"height": 270
}
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/mnmEvGcG-hU/hqdefault.jpg?sqp=-oaymwExCOADEI4CSFryq4qpAyMIARUAAIhCGAHwAQH4AbYIgAKAD4oCDAgAEAEYTCBEKGUwDw==&rs=AOn4CLCEBwD-zLETNL-4-7b-BFJWW-0Zhw"
}
},
{
"position": 3,
"link": "https://www.youtube.com/playlist?list=PLGt0Yb3JKV11z2rwtPdFUDpKUPiGA8vld",
"playlist_id": "PLGt0Yb3JKV11z2rwtPdFUDpKUPiGA8vld",
"title": "Google Jobs",
"video_count": "1 video",
"extracted_video_count": 1,
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/di1ufOGse0U/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLA0rBsDWdLHw7MHvw0Ad_QzM4ZoLg",
"width": 480,
"height": 270
}
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/di1ufOGse0U/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLA0rBsDWdLHw7MHvw0Ad_QzM4ZoLg"
}
},
...
],
...
}
Results for: serpapi + tab: posts
{
...
"posts_results": [
{
"position": 1,
"post_id": "UgkxhABmf8zEMg5rxpf1CnEqh-CCryBeatxd",
"link": "https://www.youtube.com/post/UgkxhABmf8zEMg5rxpf1CnEqh-CCryBeatxd",
"author": {
"name": "SerpApi, LLC",
"link": "https://www.youtube.com/@serpapi",
"thumbnail": "https://yt3.googleusercontent.com/ytc/AIdro_lOOglUzG1_-wgII_NV-3UHc8oOhB2hEdLenwKrEkOxgw=s76-c-k-c0x00ffffff-no-rj-mo"
},
"text": "New Video! Let's learn how to scrape Amazon search results with our simple API: https://www.youtube.com/watch?v=j3YXf...",
"published_date": "1 year ago",
"votes": "1",
"extracted_votes": 1,
"attachment": {
"type": "video",
"video_id": "j3YXfsMPKjQ",
"title": "Scrape Amazon Products Data using Python (Tutorial 2026)",
"link": "https://www.youtube.com/watch?v=j3YXfsMPKjQ",
"thumbnail": "https://i.ytimg.com/vi/j3YXfsMPKjQ/hq720.jpg?sqp=-oaymwEqCNAFEJQDSFryq4qpAxwIARUAAIhCGAHYAQHiAQoIGBACGAY4AUABuAIZovOX_wMOCMCL8sIGGODqBCDgqAE=&rs=AOn4CLABkhoavKxS2owNBTquM38augOV6Q&usqp=CBk"
}
},
{
"position": 2,
"post_id": "Ugkx6PmUObucpcnsB1-goJDIyCcHlpJ2hFrN",
"link": "https://www.youtube.com/post/Ugkx6PmUObucpcnsB1-goJDIyCcHlpJ2hFrN",
"author": {
"name": "SerpApi, LLC",
"link": "https://www.youtube.com/@serpapi",
"thumbnail": "https://yt3.googleusercontent.com/ytc/AIdro_lOOglUzG1_-wgII_NV-3UHc8oOhB2hEdLenwKrEkOxgw=s76-c-k-c0x00ffffff-no-rj-mo"
},
"text": "#AskSerpApi:\"How can I get the number of citations of articles? I already have a txt with all DOI articles.\"\n\n\nIt's possible using Google Scholar Scraper from @serpapi. The citations number is available in the \"organic_results.0.inline_links.cited_by.total\" field. Check it on the playground: https://serpapi.com/playground?engine...\n\nHere's the example Google Sheet: https://docs.google.com/spreadsheets/...\n\nhttps://www.youtube.com/watch?v=i8icC...",
"published_date": "2 years ago",
"votes": "2",
"extracted_votes": 2,
"attachment": {
"type": "image",
"thumbnail": "https://yt3.ggpht.com/l9MIv0e9XpjZhIDLW_P9eKt8J-I5kBJVa5HM9DuHdTOI1zGGRnf5En7DK-SAUGm84ZNmcjr-PiGUeA=s640-c-fcrop64=1,02540000fdabffff-rw-nd-v1"
}
}
],
...
}
Results for: serpapi + search_query: python
{
...
"search_results": [
{
"position": 1,
"type": "playlist",
"link": "https://www.youtube.com/playlist?list=PLGt0Yb3JKV13MCbfKJHzhcawj1Be-aoeD",
"playlist_id": "PLGt0Yb3JKV13MCbfKJHzhcawj1Be-aoeD",
"title": "Scrape search engine using Python",
"channel": {
"name": "SerpApi, LLC"
},
"video_count": "24 videos",
"extracted_video_count": 24,
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/naigldB0nTY/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCpD4hntNJ2XeT0e-ln2Llb2G_fVw",
"width": 480,
"height": 270
}
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/naigldB0nTY/hqdefault.jpg?sqp=-oaymwEXCOADEI4CSFryq4qpAwkIARUAAIhCGAE=&rs=AOn4CLCpD4hntNJ2XeT0e-ln2Llb2G_fVw"
},
"videos": [
{
"title": "Scrape Google Maps reviews data using Python (Google Maps scraper)",
"length": "5:35",
"video_id": "naigldB0nTY",
"link": "https://www.youtube.com/watch?v=naigldB0nTY&list=PLGt0Yb3JKV13MCbfKJHzhcawj1Be-aoeD"
},
{
"title": "Scrape Google search results with Python (Easy way with SerpApi)",
"length": "3:00",
"video_id": "-H9yN_jl4FQ",
"link": "https://www.youtube.com/watch?v=-H9yN_jl4FQ&list=PLGt0Yb3JKV13MCbfKJHzhcawj1Be-aoeD"
}
]
},
{
"position": 2,
"link": "https://www.youtube.com/watch?v=ZfPLN-2Xm6c",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=ZfPLN-2Xm6c",
"video_id": "ZfPLN-2Xm6c",
"title": "How to Scrape YouTube Video Search Results (with Python)",
"description": "In this video, we'll learn how to scrape YouTube search results. We'll scrape both regular YouTube videos and Shorts using Python. If you're interested in extracting information from YouTube...",
"views": "730 views",
"extracted_views": 730,
"published_date": "10 months ago",
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/ZfPLN-2Xm6c/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLButz84jG98y3B3xGvZq44-BLdI2A",
"width": 168,
"height": 94
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/ZfPLN-2Xm6c/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLAEG3NZXXqoU-Hju8udjmCl31dPcQ"
},
"length": "4:37",
"type": "video",
"channel": {
"name": "SerpApi, LLC"
}
},
{
"position": 3,
"link": "https://www.youtube.com/watch?v=-H9yN_jl4FQ",
"serpapi_link": "https://serpapi.com/search.json?engine=youtube_video&v=-H9yN_jl4FQ",
"video_id": "-H9yN_jl4FQ",
"title": "Scrape Google search results with Python (Easy way with SerpApi)",
"description": "Hi! In this video, we will see how to scrape Google search results using Python. We will use SERP API to make the scraping process fast and easy. First, sign up for free at serpapi.com after...",
"views": "15,065 views",
"extracted_views": 15065,
"published_date": "2 years ago",
"thumbnails": [
{
"url": "https://i.ytimg.com/vi/-H9yN_jl4FQ/hqdefault.jpg?sqp=-oaymwEiCKgBEF5IWvKriqkDFQgBFQAAAAAYASUAAMhCPQCAokN4AQ==&rs=AOn4CLDLNCbiBhy6G4QLm1R4LnfDstJBsA",
"width": 168,
"height": 94
},
...
],
"thumbnail": {
"static": "https://i.ytimg.com/vi/-H9yN_jl4FQ/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLBdOtFHlV5JS-c9aNSh8Ctx4lzGuQ"
},
"length": "3:00",
"type": "video",
"channel": {
"name": "SerpApi, LLC"
}
},
...
],
...
}
JSON structure overview
{
...
"channel_results": {
"title": "String - Title of the channel",
"handle": "String - Handle of the channel",
"thumbnail": "String - URL of the channel thumbnail",
"thumbnails": [
{
"url": "String - URL of the channel thumbnail",
"width": "Integer - Width of the thumbnail in pixels",
"height": "Integer - Height of the thumbnail in pixels"
},
...
],
"description": "String - Description of the channel",
"keywords": "String - Keywords of the channel",
"external_id": "String - External ID of the channel",
"link": "String - URL of the channel",
"rss_link": "String - RSS link of the channel videos",
"subscribers_text": "String - Text of the subscribers count",
"subscribers": "Integer - Subscribers count",
"videos_text": "String - Text of the videos count",
"video_count": "Integer - Videos count",
"country": "String - Country of the channel",
"joined_date": "String - Date when the channel joined YouTube",
"total_views_text": "String - Text of the total views count",
"total_views": "Integer - Total views count",
"links": [
{
"title": "String - Title of the external link",
"link": "String - URL of the external link"
},
...
]
},
"videos_results": [
{
"position": "Integer - Position of the video on the page",
"link": "String - URL of the video",
"serpapi_link": "String - URL to the SerpApi search",
"video_id": "String - ID of the video",
"title": "String - Title of the video",
"description": "String - Description of the video",
"views": "String - Number of views",
"extracted_views": "Integer - Extracted number of views",
"published_date": "String - Date of publication",
"thumbnails": [
{
"url": "String - URL of the video thumbnail",
"width": "Integer - Width of the thumbnail in pixels",
"height": "Integer - Height of the thumbnail in pixels"
},
...
],
"thumbnail": "Object - Object with static and rich thumbnails",
"length": "String - Length of the video"
},
...
],
"shorts_results": [
{
"position": "Integer - Position of the short on the page",
"title": "String - Title of the short",
"link": "String - URL of the short",
"serpapi_link": "String - URL to the SerpApi search",
"video_id": "String - ID of the short",
"views": "String - Number of views",
"extracted_views": "Integer - Extracted number of views",
"thumbnails": [
{
"url": "String - URL of the short thumbnail",
"width": "Integer - Width of the thumbnail in pixels",
"height": "Integer - Height of the thumbnail in pixels"
},
...
],
"thumbnail": "Object - Object with static thumbnail"
},
...
],
"streams_results": [
{
"position": "Integer - Position of the stream on the page",
"title": "String - Title of the stream",
"link": "String - URL of the stream",
"serpapi_link": "String - URL to the SerpApi search",
"video_id": "String - ID of the stream",
"live": "Boolean - Whether the stream is currently live",
"upcoming": "Boolean - Whether the stream is upcoming",
"watching": "String - Number of viewers watching (live only)",
"extracted_watching": "Integer - Extracted number of viewers (live only)",
"waiting": "String - Number of viewers waiting (upcoming only)",
"extracted_waiting": "Integer - Extracted number of viewers waiting (upcoming only)",
"scheduled_for": "String - Scheduled date of the stream (upcoming only)",
"views": "String - Number of views (past streams only)",
"extracted_views": "Integer - Extracted number of views (past streams only)",
"published_date": "String - Date of publication (past streams only)",
"length": "String - Length of the stream (past streams only)",
"thumbnails": [
{
"url": "String - URL of the stream thumbnail",
"width": "Integer - Width of the thumbnail in pixels",
"height": "Integer - Height of the thumbnail in pixels"
},
...
],
"thumbnail": "Object - Object with static and rich thumbnails"
},
...
],
"podcasts_results": [
{
"position": "Integer - Position of the podcast on the page",
"title": "String - Title of the podcast",
"link": "String - URL of the podcast playlist",
"playlist_id": "String - ID of the podcast playlist",
"last_updated": "String - Last updated date of the podcast",
"episodes": "String - Number of episodes",
"extracted_episodes": "Integer - Extracted number of episodes",
"thumbnails": [
{
"url": "String - URL of the podcast thumbnail",
"width": "Integer - Width of the thumbnail in pixels",
"height": "Integer - Height of the thumbnail in pixels"
},
...
],
"thumbnail": "Object - Object with static thumbnail"
},
...
],
"playlists_results": [
{
"position": "Integer - Position of the playlist on the page",
"title": "String - Title of the playlist",
"link": "String - URL of the playlist",
"playlist_id": "String - ID of the playlist",
"last_updated": "String - Last updated date of the playlist",
"video_count": "String - Number of videos in the playlist",
"extracted_video_count": "Integer - Extracted number of videos",
"thumbnails": [
{
"url": "String - URL of the playlist thumbnail",
"width": "Integer - Width of the thumbnail in pixels",
"height": "Integer - Height of the thumbnail in pixels"
},
...
],
"thumbnail": "Object - Object with static thumbnail"
},
...
],
"posts_results": [
{
"position": "Integer - Position of the post on the page",
"post_id": "String - ID of the post",
"link": "String - URL of the post",
"author": {
"name": "String - Name of the author",
"link": "String - URL of the author channel",
"thumbnail": "String - URL of the author thumbnail"
},
"text": "String - Text content of the post",
"published_date": "String - Date of publication",
"votes": "String - Number of votes",
"extracted_votes": "Integer - Extracted number of votes",
"comments_count": "String - Number of comments",
"extracted_comments_count": "Integer - Extracted number of comments",
"attachment": {
"type": "String - Attachment type. Can be 'video' or 'image'",
"video_id": "String - ID of the attached video (video only)",
"title": "String - Title of the attached video (video only)",
"link": "String - URL of the attached video (video only)",
"thumbnail": "String - URL of the attachment thumbnail"
}
},
...
],
"search_results": [
{
"position": "Integer - Position of the result on the page",
"type": "String - Result type. Can be 'video' or 'playlist'",
"link": "String - URL of the video or playlist",
"serpapi_link": "String - URL to the SerpApi search (videos only)",
"video_id": "String - ID of the video (videos only)",
"playlist_id": "String - ID of the playlist (playlists only)",
"title": "String - Title of the video or playlist",
"channel": {
"name": "String - Name of the channel"
},
"description": "String - Description of the video (videos only)",
"views": "String - Number of views (videos only)",
"extracted_views": "Integer - Extracted number of views (videos only)",
"published_date": "String - Date of publication (videos only)",
"video_count": "String - Number of videos in the playlist (playlists only)",
"extracted_video_count": "Integer - Extracted number of videos (playlists only)",
"videos": [
{
"title": "String - Title of the playlist video",
"length": "String - Length of the playlist video",
"link": "String - URL of the playlist video",
"video_id": "String - ID of the playlist video"
},
...
],
"thumbnails": [
{
"url": "String - URL of the thumbnail",
"width": "Integer - Width of the thumbnail in pixels",
"height": "Integer - Height of the thumbnail in pixels"
},
...
],
"thumbnail": "Object - Object with static and rich thumbnails",
"length": "String - Length of the video (videos only)"
},
...
],
"filters": [
{
"title": "String - Title of the filter",
"selected": "Boolean - Whether the filter is selected",
"serpapi_link": "String - URL to the SerpApi search"
},
...
],
"serpapi_pagination": {
"next_page_token": "String - Token to get the next page",
"next": "String - URL to the next page"
}
}