Youtube Channel Scraper avatar

Youtube Channel Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Youtube Channel Scraper

Youtube Channel Scraper

📺 YouTube Channel Scraper extracts rich channel data — about, subscribers, views, uploads, playlists, social links & emails — plus recent video metadata. 🔍 Fast, API-free exports to CSV/JSON. 🚀 Perfect for marketing, competitor research & influencer outreach.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapePilot

ScrapePilot

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 days ago

Last modified

Share

Youtube Channel Scraper

The Youtube Channel Scraper is an Apify actor that extracts structured, public data from YouTube channel pages — including About metadata, videos, Shorts, live streams, and community posts — with independent sorting for each content type. This YouTube channel data scraper helps marketers, developers, analysts, and researchers automate YouTube channel web scraping at scale, acting as a reliable YouTube channel scraper tool and YouTube video metadata scraper without relying on the official API. With async processing and intelligent proxy fallback, it enables fast, API-free exports for analysis and outreach.

What data / output can you get?

Below are examples of real fields returned by the actor. Results are organized by channel username as top-level keys, with per-channel arrays for videos, shorts, live streams, and posts.

Data typeDescriptionExample value
channelNameChannel display name from About“MrBeast”
channelUsernameVanity handle extracted from URL“MrBeast”
channelIdChannel external ID“UCX6OQ3DkcsbYNE6H8uQQuVA”
numberOfSubscribersSubscriber count text“453M”
channelTotalVideosTotal video count929
channelTotalViewsLifetime view count102823749612
channelJoinedDateJoined date (About)“May 2012”
channelLocationChannel location/country“United States”
isChannelVerifiedVerification badge flagtrue
channelAvatarUrlAvatar image URLhttps://yt3.ggpht.com/…”
channelBannerUrlBanner/cover image URLhttps://yt3.ggpht.com/…”
channelDescriptionAbout description text“I make videos…”
channelDescriptionLinksExternal links from About[{"text":"Instagram","url":"https://instagram.com/..."}]
idVideo ID for standard videos“8bMh8azh3CY”
titleVideo or short title“100 Pilots Fight For A Private Jet”
url / videoUrl / postUrlDeep links to contenthttps://www.youtube.com/watch?v=8bMh8azh3CY”
viewCount / viewsCountParsed numeric views (videos/live)50075792
viewsCountText / viewsTextView text as shown on page“1.2M views”
durationLength for videos/live status text“28:46” or “LIVE”
publishedAt / datePublished time text“1 day ago”
isLive / isUpcoming / isLiveNowLive status flagstrue / false
liveChatIdLive chat continuation ID (if found)“Ci…Q”
likesCount / commentsCountCounts for posts/shorts (where available)440600 / 1280
imageUrls / pollOptionsCommunity post media/poll data["https://i.ytimg.com/..."] / [{"text":"Option A","votePercentage":"60%"}]
orderIndex within each list0

Notes:

  • Exports can be downloaded from the Apify dataset in JSON or CSV formats. This makes it simple to export YouTube channel videos to CSV for analytics pipelines.
  • Some fields (e.g., channelLocation, likesCount for shorts, or liveChatId) may be missing if not present on the page or if the content type doesn’t expose them.

Key features

  • ✨ Independent sorting per content type Configure separate sort orders for videos, Shorts, posts, and live streams. Options include date, rating, relevance, title, and viewCount where applicable.

  • 🚀 Async, resilient scraping Built with Python + aiohttp and the Apify SDK for concurrent requests, automatic pagination, and exponential backoff retries — ideal for a YouTube channel crawler at scale.

  • 🛡️ Intelligent proxy fallback Starts with no proxy, automatically falls back to datacenter proxy on blocks, then to residential if needed — with persistent residential use once activated.

  • 🗃️ Structured, analytics-ready output Organized by channel username with clean arrays for videos, shorts, live streams, and community posts. Perfect for a YouTube channel metadata extractor or YouTube channel analytics scraper.

  • 💾 Easy exports Download results from the Apify dataset as JSON or CSV for BI tools, dashboards, and enrichment workflows.

  • 🧰 Developer-friendly (Python & API) Runs on the Apify platform with Python SDK support. Trigger via Apify API, integrate with your pipelines, or call from your YouTube channel scraper Python workflows.

  • 🔍 API-free YouTube channel web scraping Performs YouTube channel scraping without API keys, making it a robust YouTube channel scraper without API for research and competitive analysis.

How to use Youtube Channel Scraper - step by step

  1. Sign in to Apify and open the actor Go to console.apify.com and find “youtube-channel-scraper” (Youtube Channel Scraper).

  2. Create a new run Click “Start new run” to configure your input.

  3. Add channels in startUrls Paste channel URLs or usernames (supports formats like https://www.youtube.com/@MrBeast, @MrBeast, or MrBeast). You can include multiple items.

  4. Set limits and sorting

    • maxResults: Choose how many items per category to collect (1–1000).
    • sortOrderVideos / sortOrderShorts / sortOrderPosts / sortOrderLiveStreams: Select ordering (e.g., date or viewCount).
  5. Choose what to scrape Toggle scrapeChannelInfo, scrapeVideos, scrapeShorts, scrapePosts, and scrapeLiveStreams to fit your needs (all default to true).

  6. Configure proxy (optional) Leave the default to start without a proxy. The actor will automatically switch to datacenter and then residential proxies if requests are blocked.

  7. Run the actor and monitor logs Click Start. Watch logs for progress, proxy fallback events, and per-channel counts.

  8. Download results Open the Dataset tab to export JSON or CSV. Use these files to power dashboards, enrichment, or analysis.

Pro Tip: Automate your flow by triggering the run via the Apify API and pulling the dataset programmatically into your analytics stack or CRM.

Use cases

Use case nameDescription
Marketing + influencer discoveryBuild lists of creators from About and content feeds, then export CSV for outreach and campaign planning.
Competitor content analysisCompare upload cadence and top-performing videos by scraping YouTube channel videos sorted by viewCount or date.
Market research & trend trackingAggregate Shorts and live streams to spot format trends and publishing patterns across niches.
Data analytics pipelineFeed structured JSON into a warehouse to power dashboards for channel and content performance.
Academic & social researchCollect public channel metadata and content lists for longitudinal studies and content classification.
Developer integrations (API/Python)Trigger runs via API from your Python workflows and fetch datasets for downstream processing.
Content aggregation & curationBuild a YouTube channel video list extractor to power discovery tools and feeds across multiple channels.

Why choose Youtube Channel Scraper?

The Youtube Channel Scraper prioritizes precision, scale, and reliability for channel-level data extraction.

  • ✅ Accurate, structured fields for About, videos, Shorts, live, and posts
  • 🌍 API-free YouTube channel web scraping without official API keys
  • ⚡ Async concurrency with retries for fast, robust batch runs
  • 🧪 Developer-ready: Apify SDK (Python) and API-friendly dataset outputs
  • 🔒 Smart, layered proxy strategy for consistent scraping at scale
  • 💸 Cost-effective data exports to CSV/JSON without manual copy-paste
  • 🔗 Fits automation pipelines for marketers, analysts, and engineers

Unlike fragile browser extensions or one-off scripts, this production-ready YouTube channel scraper tool delivers consistent, structured results with built-in resilience and automation hooks.

Yes — when done responsibly. The actor collects publicly available YouTube channel information and content listings without accessing private or authenticated data.

Guidelines to follow:

  • Only use publicly accessible pages and information.
  • Respect YouTube’s Terms of Service and platform policies.
  • Comply with data protection regulations (e.g., GDPR, CCPA) applicable to your use case.
  • Avoid scraping personal data or non-public endpoints.
  • Consult your legal team for edge cases or commercial use scenarios.

Input parameters & output format

Example JSON input

{
"startUrls": [
"https://www.youtube.com/@MrBeast",
"@PewDiePie"
],
"maxResults": 50,
"sortOrderVideos": "viewCount",
"sortOrderShorts": "date",
"sortOrderPosts": "date",
"sortOrderLiveStreams": "date",
"scrapeChannelInfo": true,
"scrapeVideos": true,
"scrapeShorts": true,
"scrapePosts": true,
"scrapeLiveStreams": true,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Parameters

  • startUrls (array, required)

    • Description: List of YouTube channel URLs (e.g., https://www.youtube.com/@MrBeast), usernames (e.g., @MrBeast), or keywords to search for channels.
    • Default: none
  • maxResults (integer)

    • Description: Maximum number of results to scrape per category (videos, shorts, live streams, posts).
    • Range: 1–1000
    • Default: 10
  • sortOrderVideos (string)

    • Description: Sort order for videos (date, rating, relevance, title, viewCount).
    • Default: "date"
    • Allowed: "date", "rating", "relevance", "title", "viewCount"
  • sortOrderShorts (string)

    • Description: Sort order for shorts (date, rating, relevance, viewCount).
    • Default: "date"
    • Allowed: "date", "rating", "relevance", "viewCount"
  • sortOrderPosts (string)

    • Description: Sort order for community posts (date, relevance).
    • Default: "date"
    • Allowed: "date", "relevance"
  • sortOrderLiveStreams (string)

    • Description: Sort order for live streams (date, relevance, viewCount).
    • Default: "date"
    • Allowed: "date", "relevance", "viewCount"
  • scrapeChannelInfo (boolean)

    • Description: Enable to scrape channel about information (description, subscribers, join date, etc.).
    • Default: true
  • scrapeVideos (boolean)

    • Description: Enable to scrape channel videos.
    • Default: true
  • scrapeShorts (boolean)

    • Description: Enable to scrape YouTube Shorts.
    • Default: true
  • scrapePosts (boolean)

    • Description: Enable to scrape community posts.
    • Default: true
  • scrapeLiveStreams (boolean)

    • Description: Enable to scrape live streams.
    • Default: true
  • proxyConfiguration (object)

    • Description: Choose which proxies to use. The actor starts with no proxy, falls back to datacenter proxy if blocked, then to residential proxy if datacenter fails.
    • Default: {"useApifyProxy": false}

Example JSON output

{
"scrapedAt": "2026-04-16T10:15:22.123Z",
"totalChannels": 2,
"maxResultsPerCategory": 50,
"MrBeast": {
"about": {
"channelDescription": "I make videos that...",
"channelJoinedDate": "May 2012",
"channelDescriptionLinks": [
{
"text": "Instagram",
"url": "https://instagram.com/mrbeast"
}
],
"channelLocation": "United States",
"channelUsername": "MrBeast",
"channelAvatarUrl": "https://yt3.ggpht.com/...",
"channelBannerUrl": "https://yt3.ggpht.com/...",
"channelTotalVideos": 929,
"channelTotalViews": 102823749612,
"numberOfSubscribers": "453M",
"isChannelVerified": true,
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"inputChannelUrl": "https://www.youtube.com/@MrBeast",
"isAgeRestricted": false
},
"videos": [
{
"id": "8bMh8azh3CY",
"title": "100 Pilots Fight For A Private Jet",
"duration": "28:46",
"channelName": "MrBeast",
"channelUsername": "MrBeast",
"channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
"date": "1 day ago",
"url": "https://www.youtube.com/watch?v=8bMh8azh3CY",
"viewCount": 50075792,
"fromYTUrl": "https://www.youtube.com/@MrBeast/videos",
"type": "video",
"thumbnailUrl": "https://i.ytimg.com/vi/8bMh8azh3CY/hqdefault.jpg",
"input": "https://www.youtube.com/@MrBeast",
"order": 0
}
],
"shorts": [
{
"videoType": "shorts",
"videoId": "AbCDEfGhI",
"title": "I tried...",
"videoUrl": "https://www.youtube.com/shorts/AbCDEfGhI",
"viewsText": "1.2M views",
"thumbnailUrl": "https://i.ytimg.com/vi/AbCDEfGhI/hqdefault.jpg",
"accessibilityText": "I tried..., 1.2M views - Short play",
"channelUsername": "MrBeast",
"fromYTUrl": "https://www.youtube.com/@MrBeast/shorts",
"input": "https://www.youtube.com/@MrBeast",
"order": 0,
"commentsCount": 1280,
"commentsCountText": "1,280",
"commentsTurnedOff": false,
"likesCount": 54000,
"likesCountText": "54K",
"viewCount": 1200000,
"channelName": "MrBeast",
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"channelHandle": "@MrBeast",
"publishDate": "2025-11-10",
"description": "Short description...",
"captionsAvailable": true,
"timestampText": "2 weeks ago"
}
],
"live": [
{
"videoId": "LmNoPqRsTU",
"title": "Live Challenge",
"description": "Join the live!",
"thumbnailUrl": "https://i.ytimg.com/vi/LmNoPqRsTU/hqdefault.jpg",
"videoUrl": "https://www.youtube.com/watch?v=LmNoPqRsTU",
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/@MrBeast",
"publishedAt": "Streamed 3 days ago",
"duration": "LIVE",
"viewsCount": 2300000,
"viewsCountText": "2.3M watching",
"isLive": true,
"isUpcoming": false,
"scheduledStartTime": "2026-04-10T17:00:00Z",
"order": 0,
"actualStartTime": "2026-04-10T17:02:00Z",
"liveChatId": "CiQCHabc123...",
"concurrentViewers": "2,300,000 watching",
"isLiveNow": true
}
],
"posts": [
{
"postId": "Ugkx123abc",
"type": "image",
"textContent": "Which one should we do next?",
"imageUrls": ["https://i.ytimg.com/vi/xyz/hqdefault.jpg"],
"pollOptions": [],
"likesCount": 440600,
"likesCountText": "440,600",
"commentsCount": 3800,
"commentsCountText": "3.8K",
"publishedAt": "1 week ago",
"postUrl": "https://www.youtube.com/post/Ugkx123abc",
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/@MrBeast",
"order": 0
}
],
"stats": {
"totalVideos": 50,
"totalShorts": 50,
"totalLiveStreams": 38,
"totalPosts": 50,
"scrapingTimeSeconds": 42.18
}
},
"summary": {
"totalVideos": 100,
"totalShorts": 80,
"totalLiveStreams": 40,
"totalPosts": 96,
"totalScrapingTimeSeconds": 84.36
}
}

Notes:

  • Channels are top-level keys (e.g., “MrBeast”), each with about, videos, shorts, live, posts, and stats.
  • Fields like channelLocation, commentsCount, or liveChatId may be empty or absent when not available on the public page.

FAQ

Is there a free tier or trial?

Yes. You can run the actor on Apify using trial minutes to evaluate performance on smaller datasets. For ongoing usage, refer to the actor’s pricing on its Apify listing.

Do I need to log in or use cookies?

No. The actor performs YouTube channel web scraping on publicly available pages and does not require login. It works as a YouTube channel scraper without API keys.

Can I integrate this with Python or an API?

Yes. The actor is built with the Apify SDK for Python and exposes results via the Apify Dataset and API. You can trigger runs and fetch datasets programmatically to integrate with your pipelines.

How many items can I collect per channel?

You control volume with maxResults (1–1000) per category (videos, shorts, live streams, posts). The scraper uses async requests, pagination, and retries to handle larger lists efficiently.

What types of data does it extract?

It collects About metadata (description, subscribers, join date, location, verification, avatar, banner), video lists, Shorts (with optional engagement details), live streams (with optional liveChatId and concurrent viewers where available), and community posts (text, images, polls, likes/comments counts).

Does it scrape comments?

It does not extract full comment threads. For Shorts and posts, the actor can collect likesCount and commentsCount where available. Video comments are not collected.

Is the source code available on GitHub?

No. This actor’s source code is not publicly available (the listing is deployed on Apify). You can access results via the Apify platform and API.

How does it handle blocks and reliability?

The actor starts without a proxy and automatically falls back to datacenter, then residential proxies if blocks occur (e.g., 403/429). It uses concurrent requests with exponential backoff retries for resilient runs.

Can I export to CSV for spreadsheets?

Yes. You can download the Apify dataset as JSON or CSV, making it easy to export YouTube channel videos to CSV or feed data into analytics tools.

Closing CTA / Final thoughts

The Youtube Channel Scraper is built for accurate, scalable extraction of public YouTube channel data — About details, videos, Shorts, live streams, and community posts. With independent sorting, async performance, and smart proxy fallback, it’s ideal for marketers, developers, analysts, and researchers who need clean, structured datasets fast. Use the Apify API to automate end-to-end workflows from run triggers to dataset downloads. Start extracting smarter, API-free YouTube channel insights today.