惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
D
Docker
J
Java Code Geeks
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
腾讯CDC
罗磊的独立博客
U
Unit 42
爱范儿
爱范儿
Vercel News
Vercel News
MyScale Blog
MyScale Blog

SerpApi

How to scrape movie and TV results from the Google Play Store SerpApi Weekly Changelog: Sep 07 - 13, 2026 Introducing MCP Bundle Support for SerpApi SerpApi Weekly Changelog: Aug 31 - Sep 06, 2026 We Have Resolved the Google /goto URL Redirect Rollout How to scrape Zillow Reddit promised its users an open internet. Then it closed the door. SerpApi Weekly Changelog: August 24 - 30, 2026 Best web scraping tools in 2026 Google’s New /goto Redirect URLs: Resolution in Progress How to Scrape Walmart Reviews Results Understanding HTTP 429: Too Many Requests Google tried again. We’re moving to dismiss a second time. SerpApi Weekly Changelog: August 17 - 23, 2026 Introducing SerpApi's New Markdown Output SerpApi Surpasses 1.5 Million Activated User Accounts How a Lead Generation Company Scaled Outreach with SerpApi's Google Maps API SerpApi Weekly Changelog: August 10 - 16, 2026 How to scrape book results from the Google Play Store What is an API? Part 3: Dynamic Data Displays with D&D! We Filed an Amicus Brief in U.S. v. Google How to scrape Google Play Store game information SerpApi Weekly Changelog: August 03 - 09, 2026 Introducing SerpApi Search Tools: Real-Time Web Search for Python AI Agents Measuring World Cup Attention: What the data says about Vozinha SerpApi Weekly Changelog: July 27 - August 02, 2026 How to Scrape Google Maps Autocomplete Build an AI Event Discovery Agent That Adds Events to Your Calendar in One Click How to Aggregate Local Business Ratings-Without Averaging DataForSEO vs. SerpApi
Scrape YouTube Channel Data with SerpApi
Srujana Maddula · 2026-09-15 · via SerpApi

If you’re tracking YouTube channels for competitor research, content strategy, or creator partnerships, you probably want answers for: How often is a competitor uploading? Are shorter videos performing better? Is a creator’s subscriber count actually growing?

The data is all there on YouTube. But tracking all of it manually for multiple channels isn’t practical. That’s where scraping YouTube channel data can make the process much easier.

In this guide, I'll show how to use the SerpApi YouTube Channel API to scrape channel data. We’ll also look at what data you can collect and where to use it.

Scraping YouTube Channel Data with SerpApi

Step 1: Sign up with SerpApi and grab your API key.

Step 2: Send a GET request to SerpApi with engine parameter set to youtube_channel and provide the channel_id of the YouTube channel you want to scrape.

You have two options to get the channel_id. You can use the channel handle, which is the value you see after the @ in the YouTube channel URL. To target the SerpApi channel, for example, use serpapi.

Alternately, you can use the channel’s raw ID. These IDs start with UC, and you can find them on the channel page like in the below image. For example, this one is UCUgIHlYBOD3yA3yDIRhg_mg.

YouTube Channel ID

Once you have the channel ID, you can make a simple GET request to retrieve the channel data as JSON:

https://serpapi.com/search?engine=youtube_channel&channel_id=serpapi&api_key=YOUR_API_KEY

The response includes channel metadata in channel_results and a videos_results array containing the channel's videos. Here's what an abridged version of that response looks like:

{
  "search_metadata": {
    "id": "6aa77d5d3047f3a1de527a65",
    "status": "Success"
  },
  "channel_results": {
    "title": "SerpApi, LLC",
    "handle": "@serpapi",
    "description": "Access real-time results from Google and 100+ search engines with a simple API. No proxies, CAPTCHAs, or parsing required.",
    "external_id": "UCUgIHlYBOD3yA3yDIRhg_mg",
    "link": "https://www.youtube.com/channel/UCUgIHlYBOD3yA3yDIRhg_mg",
    "subscribers": 2840,
    "video_count": 186
  },
  "videos_results": [
    {
      "position": 1,
      "title": "Supercharge Your AI Agents with Live Google Search Results (in Markdown)",
      "link": "https://www.youtube.com/watch?v=beqoAVXz7iA",
      "video_id": "beqoAVXz7iA",
      "views": "23 views",
      "published_date": "7 hours ago",
      "length": "4:23"
    }
  ],
  "serpapi_pagination": {
    "next_page_token": "4qmFsgLZCRIYVUNVZ0lIbFlCT0Qz...",
    "next": "https://serpapi.com/search.json?channel_id=serpapi&engine=youtube_channel&next_page_token=4qmFsgLZCRIYVUNVZ0lIbFlCT0Qz..."
  }
}

Step 3: You can also play around with different parameters in the SerpApi Playground to see how the response changes, and build the request for your use case.

If you need more videos than the first page returns, you’ll find a page_token in the JSON response. Pass it to your next request and collect videos from the next page.

Python Example

import serpapi

client = serpapi.Client(api_key="SerpApi_API_KEY")

results = client.search(
    {
        "engine": "youtube_channel",
        "channel_id": "serpapi",
    }
)

channel = results.get("channel_results", {})

print("Channel:", channel.get("title"))
print("Subscribers:", channel.get("subscribers"))
print("Number of videos:", channel.get("video_count"))

videos = results.get("videos_results", [])

for video in videos:
    print("Title:", video.get("title"))
    print("URL:", video.get("link"))
    print("Views:", video.get("views"))
    print("Published:", video.get("published_date"))
    print("Length:", video.get("length"))
    print("—")

Output:

Scrape YouTube Channel Data in Python
Youtube scraper Python results

Ruby Example

require "serpapi"

client = SerpApi::Client.new(
  engine: "youtube_channel",
  channel_id: "serpapi",
  tab: "shorts",
  api_key: "SerpApi_API_KEY"
)

results = client.search

shorts = results[:shorts_results] || []

shorts.each do |short|
  puts "Title: #{short[:title]}"
  puts "URL: #{short[:link]}"
  puts "Views: #{short[:views]}"
  puts "---"
end

Output:

If you send a request with default parameters, you’ll get the full JSON response with information about the channel and its videos as a list.

If you want to see the Shorts, Podcasts, Posts, or other tabs data on the channel, you just need to tweak the tab parameter to shorts, streams, podcasts, playlists, or others to get the data in those tabs.

YouTube tabs scraper

The overview below shows what information you’ll get for each of these tab results.

Field What it contains
channel_results Channel title, description, subscriber count, joined date, country, total views, and other channel information.
videos_results Video position, title, description, views, length, and other video information.
shorts_results Short position, title, link, views, and thumbnail details.
streams_results Stream position, title, link, waiting users, scheduled time, length, published date, and views.
podcasts_results Title, last updated information, episode count, and thumbnail details.
playlists_results Playlist position, playlist ID, video count, link, and other playlist information.
posts_results Post ID, author, text, published date, votes, attached video information, and other post details.

The API also supports a search_query parameter that let's you add the text that you would normally search for within a YouTube channel. It then returns the matching videos and playlists in the search_results field of the JSON response.

Check out the documentation to learn more about the API's parameters and how to use them.

What can you do with YouTube Channel Data?

YouTube is the second most visited search engine and it has a goldmine of public data for analytics. On average, over 20 million videos get uploaded daily, with nearly 2.5 billion active users per month watching videos, subscribing to channels, and leaving their comments. You can use all this data to understand different channels or audience in your niche.

Build competitor monitoring tools: Schedule a regular data extraction workflow to monitor your competitors’ subscriber growth, views, and compare them against yours.

Prepare data backed content strategy: Analyse your competitors’ top-performing Shorts, videos, or playlists. Look at their upload frequency, video length, and the number of episodes in their top-performing playlists, then use those insights to shape your content plan.

Research market trends: You can combine data across top channels and analyse their YouTube stats to get broader market trends in your niche.

Spend your collaboration budget wisely: You can extract the subscriber count, growth metrics, posting frequency, and audience engagement of potential creators, compare them, and pick the right one to collaborate with.

Conclusion

YouTube is a valuable source of data for understanding a channel’s credibility, audience engagement, and video performance. In this blog, you saw how to use the YouTube Channel API to collect channel-level data with a simple API call.

SerpApi also provides other YouTube APIs for different use cases. For example, the YouTube Search API to scrape search results, the YouTube Video API to extract video details, and the YouTube Video Transcript API to extract video transcripts.