Youtube Channel Scraper avatar

Youtube Channel Scraper

Pricing

$35.00/month + usage

Go to Apify Store
Youtube Channel Scraper

Youtube Channel Scraper

Scrape YouTube channels or keyword searches for video URLs, titles, metrics, descriptions, channel profiles, social links, and transcripts when captions are available. Fast, low-cost YouTube data extraction for monitoring, influencer research, SEO, and LLM workflows.

Pricing

$35.00/month + usage

Rating

4.9

(6)

Developer

Newbs

Newbs

Maintained by Community

Actor stats

75

Bookmarked

2.9K

Total users

46

Monthly active users

5 days ago

Last modified

Share

Scrape YouTube channels or YouTube search results and export clean video data from Apify. This actor collects video URLs, titles, thumbnails, descriptions, views, likes, comments, publish dates, duration, channel profile data, channel social links, and transcripts when YouTube exposes caption tracks.

It is built for teams that need reliable YouTube data without spending minutes clicking through channels manually.

What You Can Extract

  • Latest videos from one or many YouTube channels
  • Videos from keyword search results
  • Video metadata: title, URL, ID, thumbnail, description, publish date, duration
  • Engagement metrics: views, likes, comments
  • Channel metadata: handle, subscriber count, profile image, banner image, total videos, total channel views, verification status
  • Channel information and outbound links from the About section
  • Video transcripts from available YouTube captions
  • Clean JSON output ready for CSV, Excel, API, Make, Zapier, dashboards, or internal enrichment workflows

Common Use Cases

  • Monitor competitor YouTube channels
  • Build influencer and creator lead lists
  • Track brand channels and campaign performance
  • Collect video metadata for SEO or content research
  • Extract transcripts for summarization, search, classification, or LLM pipelines
  • Feed YouTube data into CRMs, spreadsheets, BI tools, and automation workflows

Why Use This Actor

  • Optimized for speed: channel and video details can run in parallel.
  • Lower proxy cost: proxyMode: "auto" keeps normal browsing fast and uses residential proxy only for fallback calls that need it.
  • Better transcript coverage: direct caption extraction is tried before slower UI scraping.
  • Restart friendly: checkpointing lets long runs recover without starting from zero.
  • Integration ready: structured input schema, dataset schema, and output schema make results easier to use through the Apify UI, API, MCP, Make, Zapier, and scheduled runs.

Recent benchmark on Apify with 2 Adidas videos and 2 Zara videos:

  • 4 videos returned
  • Actor runtime: about 75 seconds
  • Total Apify usage: about $0.013
  • Adidas transcripts extracted successfully
  • Zara videos had no caption tracks exposed by YouTube, so transcripts were returned as null

Actual runtime and cost depend on number of channels, number of videos, selected proxy mode, transcript availability, and YouTube response speed.

Input

Minimal Channel Input

{
"channel": ["https://www.youtube.com/@adidas/videos", "zara"],
"keywords": false,
"numberOfResults": 2,
"needVideoDetails": true
}

Keyword Search Input

{
"channel": ["running shoes", "summer fashion campaign"],
"keywords": true,
"numberOfResults": 10,
"needVideoDetails": true
}

Fast List-Only Input

Use this when you only need video URLs and basic listing data.

{
"channel": ["https://www.youtube.com/@adidas/videos"],
"keywords": false,
"numberOfResults": 25,
"needVideoDetails": false
}

Input Options

FieldDescription
channelList of YouTube channel handles, channel URLs, /videos URLs, or search terms.
keywordsSet to true when channel contains search keywords instead of channel names or URLs.
numberOfResultsNumber of videos to collect per channel or keyword.
needVideoDetailsSet to true for full metadata, metrics, channel info, and transcripts. Set to false for faster basic video collection.
localeHlYouTube language hint, for example en, fr, or de.
localeGlYouTube country hint, for example US, FR, or DE.
acceptLanguageBrowser language header, for example en-US,en;q=0.9.
maxChannelConcurrencyNumber of channel/search pages processed at the same time.
maxVideoDetailConcurrencyNumber of video detail pages scraped in parallel per channel.
proxyModeauto is recommended. Use always for more defensive scraping or never to avoid proxy usage.
proxyConfigurationOptional Apify Proxy configuration. If omitted in auto mode, fallback proxy calls are handled automatically.
transcriptUiFallbackOptional slower fallback that clicks the YouTube transcript UI when direct caption extraction fails.
checkpointEveryVideosSaves progress every N processed videos. Higher values reduce storage writes for small runs.
interVideoDelayMsOptional delay between video detail scrapes. Keep 0 for speed.

Output

The actor stores results in the default Apify dataset. You can download the data as JSON, CSV, Excel, XML, RSS, or HTML from the Apify Console, or consume it through the Dataset API.

Example output item:

{
"title": "Chasing Sub 2: The Journey of Sabastian Sawe's Historic 1:59:30 Marathon",
"author": "@adidas",
"videoUrl": "https://www.youtube.com/watch?v=qRr0lmYvp5g",
"coverImage": "https://i.ytimg.com/vi/qRr0lmYvp5g/hqdefault.jpg",
"subscriberCount": 2330000,
"likeCount": 5400,
"description": "Video description text...",
"viewCount": 103403,
"commentCount": 201,
"publishedAt": "2026-04-30T00:00:00.000Z",
"duration": "00:12:30",
"id": "qRr0lmYvp5g",
"amountOfVideos": 972,
"profilePicture": "https://yt3.googleusercontent.com/...",
"profileBanner": "https://yt3.googleusercontent.com/...",
"channelTotalViews": 481647084,
"isChannelVerified": true,
"commentsTurnedOff": false,
"transcript": "Full transcript text when captions are available...",
"scrapingStatus": "success"
}

Transcript Behavior

The actor first tries direct YouTube caption sources because they are faster and cheaper than UI automation. If YouTube blocks or hides captions, the actor can use proxy-backed caption fallback. If a video has no caption tracks exposed by YouTube, transcript will be null.

For maximum transcript attempts, enable:

{
"transcriptUiFallback": true,
"proxyMode": "auto"
}

This can improve recovery in some edge cases, but it is slower.

Speed And Cost Tips

  • Keep proxyMode set to auto for the best balance of speed and reliability.
  • Use needVideoDetails: false when you only need video URLs and thumbnails.
  • Start with maxChannelConcurrency: 2 and maxVideoDetailConcurrency: 2.
  • Increase concurrency carefully; YouTube can throttle or change responses when runs become too aggressive.
  • Keep transcriptUiFallback disabled unless transcripts are more important than speed.
  • Use schedules for recurring monitoring instead of running large backfills repeatedly.

Integrations

This actor works with standard Apify platform features:

  • Dataset export in JSON, CSV, Excel, XML, RSS, and HTML
  • Apify API and API clients
  • Scheduled runs for channel monitoring
  • Webhooks after every run
  • Make, Zapier, and other no-code automation tools
  • Actor chaining and MCP/AI-agent workflows through the output schema

FAQ

Can I scrape multiple channels in one run?

Yes. Add multiple handles or URLs to the channel array. The actor processes channels concurrently based on maxChannelConcurrency.

Can I search by keyword instead of channel?

Yes. Put search terms in channel and set keywords to true.

Why is a transcript missing?

YouTube does not expose captions for every video. Some videos have no captions, some captions are region or client restricted, and some can be hidden by YouTube. In those cases the actor returns transcript: null instead of fabricating data.

Why are comments sometimes null?

Some videos have comments disabled or hidden. The actor returns commentsTurnedOff when it can detect that state.

What proxy mode should I use?

Use auto for most runs. It keeps the main browser fast and only uses residential proxy for fallback requests. Use always only if your runs are consistently blocked.

Responsible Use

This actor extracts publicly available YouTube data. You are responsible for using the data in compliance with applicable laws, YouTube terms, privacy rules, and your own internal policies. Do not use scraped data for spam, harassment, or unlawful profiling.