โšก Fast YouTube Channel Scraper avatar

โšก Fast YouTube Channel Scraper

Pricing

from $1.40 / 1,000 results

Go to Apify Store
โšก Fast YouTube Channel Scraper

โšก Fast YouTube Channel Scraper

Fast YouTube Channel Scraper: extract Videos, Shorts & Live from any channel URL or @handle โ€” exact views, likes, comments, tags, category, transcripts, engagement rate & outlier score. No YouTube API key or quota. Bulk scrape into a clean Apify dataset.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Data Minds

Data Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Security

Limited permissions

Share

What is Fast YouTube Channel Scraper?

Fast YouTube Channel Scraper extracts video, Shorts and live stream data from any public YouTube channel. Paste one or more channel links, choose how many videos you want, and get view, like and comment counts, tags, category and publish dates, with optional transcripts and top comments, plus a sponsor signal, an outlier flag and an engagement rate for every video. Pay per result: from $1.40 per 1,000 results on the Gold plan ($2.00 on the Free plan).

Just add a channel link and click Start. This YouTube channel scraper tool needs no coding and no YouTube API key.

  • ๐Ÿ“Š YouTube competitor analysis: track a competitor YouTube channel by collecting every video with views, likes, comments, tags and category, then compare in a spreadsheet.
  • ๐Ÿš€ Find outlier videos: spot the top performing videos on a YouTube channel with isOutlier, engagementRate and viewsToSubsRatio.
  • ๐Ÿค YouTube influencer research and sponsorship research: read the channel About details and use built-in YouTube sponsor detection on video descriptions.
  • ๐Ÿ”” Monitor new YouTube videos from a channel: schedule runs for YouTube channel monitoring that stop at a video you already have and optionally notify your webhook.
  • ๐Ÿ“‹ YouTube channel video list export: download the full video list of a channel as JSON, CSV or Excel.
  • ๐Ÿ“ YouTube transcripts and comments for research: scrape YouTube channel transcripts and top comments into each video row when you need them.

The Actor runs on the Apify platform, so you also get the Apify API, scheduling, webhooks, integrations and one-click exports in JSON, CSV, Excel, XML and HTML.

What can Fast YouTube Channel Scraper do?

  • ๐ŸŽฌ Scrape YouTube channel videos, Shorts and live streams with a separate limit for each tab
  • ๐Ÿ”ƒ Sort by newest, most popular or oldest and stop at a start date
  • ๐Ÿ” Work as a YouTube video details scraper: exact view and like counts, description, category and publish date, plus YouTube video tags in bulk
  • ๐Ÿ“บ Work as a YouTube channel info scraper: description, country, joined date and external links from the About panel
  • ๐Ÿ“ˆ Work as a YouTube channel stats scraper: a YouTube channel subscriber count scraper with total views and total videos, and a YouTube video stats scraper for each upload
  • ๐Ÿ“ฅ Accept bulk input: run it as a bulk YouTube channel scraper by pasting many channel links at once
  • ๐Ÿ’ฐ Flag sponsor and affiliate signals in video descriptions and channel links
  • ๐Ÿ’ฌ Collect top comments and transcripts in plain text, timestamped lines, SRT or JSON segments
  • ๐Ÿ” Run in monitor mode to return only videos newer than a known video ID

What data can Fast YouTube Channel Scraper extract?

Each video becomes one flat row in the dataset: the channel fields (prefixed with channel) followed by the video fields.

DataFieldWhat you get
๐Ÿ†” Video IDvideoIdYouTube video ID
๐ŸŽฌ TitletitleVideo title
๐Ÿ”— Video linkurlWatch link for the video
๐Ÿ”– Content typetypevideo, short or stream
๐Ÿ•’ DurationdurationSeconds, durationLength in seconds and as h:mm:ss
๐Ÿ“… PublishedpublishedAt, relativeDateTextExact UTC publish date (deep enrichment) and the "3 weeks ago" text
๐Ÿ“ˆ ViewsviewCount, viewCountTextView count and the displayed view text
๐Ÿ‘ LikeslikeCountLike count (deep enrichment)
๐Ÿ“ธ ThumbnailthumbnailUrlLargest thumbnail link
๐Ÿ”ด LiveisLiveWhether the video is live
๐Ÿ“ Description and tagsdescription, tags, categoryFull description, tags and category (deep enrichment)
๐Ÿšฆ FlagsisFamilySafe, isUnlisted, isMembersOnly, isAgeRestricted, playableVideo status flags (deep enrichment)
๐Ÿ’ฌ CommentscommentCountText, commentCount, topCommentsComment count and top comments with commentId, author, authorChannelId, authorIsVerified, text, publishedTimeText, likeCount, replyCount, isPinned (comments option)
๐Ÿ“„ TranscripttranscriptText, timestamped lines, SRT or segments with start, duration, text (transcript option)
๐Ÿ’ฐ Sponsor signalsponsorSignalhasSponsorSignal, sponsorPhraseMatched, affiliateLinks with url and reason
๐Ÿงฎ InsightsengagementRate, viewsToSubsRatio, isOutlier, outlierBasisEngagement rate, the YouTube views to subscribers ratio, an outlier flag and its basis
๐Ÿ†• New videoisNewtrue on every row in monitor mode
๐Ÿ“บ ChannelchannelId, channelName, channelHandle, channelUrl, inputChannelUrl, channelStandardizedUrlChannel identity and the link you entered
๐ŸŒ Channel AboutchannelDescription, channelDescriptionLinks, channelCountry, channelJoinedDate, channelCreationDateAbout details; each link has text, url and isLikelyAffiliate
๐Ÿ‘ฅ Channel totalschannelSubscriberCount, channelSubscriberCountText, channelTotalViews, channelTotalVideosSubscribers, total views and total videos
๐ŸŒ„ Channel images and statuschannelAvatarUrl, channelBannerUrl, channelIsFamilySafe, channelIsAgeRestrictedAvatar, banner and status flags

Note: Fields marked "deep enrichment" are only present when Deep video enrichment is on (the default). Comments, transcripts and sponsor signals need it. Channel About fields need Channel About panel to be on. channelSubscriberCount is read from the displayed subscriber text, so it is rounded the way YouTube shows it. isOutlier and outlierBasis stay empty when fewer than 5 videos of the same type are collected in the run. Values can be empty when a channel hides them.

What data can't Fast YouTube Channel Scraper extract?

  • โŒ Video or audio files. The Actor returns data about videos, not the media itself.
  • โŒ Playlists, hashtags or search results. Use YouTube Scraper for those.
  • โŒ Full comment threads with reply text. This Actor returns top comments with a reply count; use YouTube Comments Scraper for comments and replies.
  • โŒ Private videos, or channels that are not public.

How to scrape YouTube channel videos

The Actor is designed for an easy start, even if you have never extracted data from the web before.

  1. Create a free Apify account with your email.
  2. Open Fast YouTube Channel Scraper.
  3. Add one or more channel links to Channel URLs (urls).
  4. Set Max videos per channel (maxResults) to scrape all videos from a YouTube channel (raise it to the channel's video count), and optionally set Shorts, streams, sort order or a start date.
  5. Click Start and wait for the run to finish.
  6. Open the Output tab and download your data in JSON, CSV, Excel, XML or HTML.

How much does it cost to scrape YouTube?

The Actor uses a pay-per-event model: you pay for each result saved to the dataset (a video, Short or stream row), plus a small start fee per run. Platform usage is billed in addition. Error rows are saved without a result charge.

PlanPrice per resultPrice per 1,000 results
Free$0.002$2.00
Bronze$0.0018$1.80
Silver$0.0016$1.60
Gold$0.0014$1.40

The start event costs $0.00005 per GB of memory with a minimum of one event. The default memory is 1024 MB, so each run is charged 1 start event, or $0.00005.

Example: scraping 10 channels with 100 videos each is 1,000 results. On the Free plan that is 1,000 x $0.002 = $2.00, and on the Gold plan 1,000 x $0.0014 = $1.40, plus $0.00005 for the start event and platform usage.

See the pricing tab for all events.

Is scraping YouTube free?

You can start for free. The Apify Free plan includes $5 of monthly credit, which covers about 2,500 results at the Free price of $0.002 per result ($5 / $0.002), before platform usage. A run also stops cleanly when it reaches the spending limit you set, and keeps everything saved so far.


Input

To run the Actor you only need one or more channel links in urls. Every other field has a default. Set the input in the Actor form or send it as JSON through the API.

This example collects the 10 newest videos of one channel:

{
"urls": [
"https://www.youtube.com/@mkbhd"
],
"maxResults": 10,
"proxyConfiguration": {
"useApifyProxy": false
}
}

See the input tab for the full description of every field.

FieldTypeRequiredDefaultDescription
urlsarrayYesnoneChannel links, @handles or channel IDs, one per line
maxResultsintegerNo10Videos to collect per channel from the Videos tab (0 skips it)
maxResultsShortsintegerNo0Shorts to collect per channel (0 skips Shorts)
maxResultStreamsintegerNo0Live and past streams to collect per channel (0 skips streams)
sortVideosBystringNoNEWESTNEWEST, POPULAR or OLDEST
oldestPostDatestringNoemptyStop at videos older than a date (YYYY-MM-DD) or a number of days (30 days)
enrichVideosbooleanNotrueDeep video enrichment: exact stats and full metadata
includeAboutInfobooleanNotrueRead the channel About panel
detectSponsorsbooleanNotrueFlag sponsor and affiliate signals (needs deep enrichment)
includeCommentsbooleanNofalseCollect top comments (needs deep enrichment)
maxCommentsintegerNo5Maximum comments per video
includeTranscriptbooleanNofalseCollect the transcript when one is available
transcriptFormatstringNotexttext, timestamped, srt or segments
monitorModebooleanNofalseNewest first, stop at a known video
sinceVideoIdstringNoemptyThe 11-character video ID to stop at in monitor mode
webhookUrlstringNoemptyReceives {channel, newVideos} once per channel in monitor mode
proxyConfigurationobjectNo{"useApifyProxy": false}Proxy configuration; leave the default for most runs
cookiestringNononeAdvanced and optional, stored encrypted
outputFormatstringNonestednested or flat; the OUTPUT record always holds one object per channel and the dataset is always one flat row per video
maxConcurrencyintegerNo5Videos processed at the same time per channel (1 to 20)
maxRetriesintegerNo3Attempts before a single request counts as failed (1 to 10)
maxScrollRetriesintegerNo3Listing pages with nothing new allowed before a tab counts as finished (1 to 10)
maxScannedintegerNo20000Safety cap on listing rows examined per tab (100 to 200000)

Channel URLs

Enter channel links, @handles or channel IDs, one per line. Only channel pages are supported.

  • โœ… Good: https://www.youtube.com/@mkbhd
  • โœ… Good: https://www.youtube.com/channel/UC...
  • โŒ Bad: a single video link, a playlist link or a search link

Warning: A link that is not a channel page returns an error row in the Errors view instead of videos.

Start date and monitor mode

oldestPostDate stops collecting once videos are older than your date. It forces the sort order to Newest. Monitor mode also forces Newest and stops each channel at sinceVideoId, so only newer videos are returned.

  • โœ… Good: 2026-01-01 or 30 days
  • โŒ Bad: 2 weeks or 6 months

Warning: The start date is checked against the "3 weeks ago" text shown in the channel listing, so it is approximate. Shorts listings carry no date, so the start date does not filter Shorts. Values in weeks, months or years are accepted by the form but do not filter; use days or a date.


Output

Results are saved to the run's dataset, one row per video, Short or stream, and appear live in the Output tab while the run is going. Open them as a table or JSON, pick the fields you need, and download in JSON, CSV, Excel, XML or HTML. The dataset has ready-made views: Overview, Insights, Channel, Sponsors, Comments and Transcript, Media and Errors.

The key-value store also holds two records: OUTPUT, with one object per channel containing channel and a videos array (updated after each channel finishes), and run-summary, with totals such as channelsProcessed, totalVideos, videos, shorts, streams, errors, withComments, withTranscript, withSponsorSignal, outliers and durationSeconds.

JSON example

Results for the input example above (shortened, with sample values):

{
"channelId": "UC0000000000000000000000",
"channelName": "Example Channel",
"channelHandle": "@examplechannel",
"channelUrl": "https://www.youtube.com/@examplechannel",
"inputChannelUrl": "https://www.youtube.com/@examplechannel",
"channelStandardizedUrl": "https://www.youtube.com/@examplechannel/about",
"channelDescription": "Example channel description.",
"channelDescriptionLinks": [
{
"text": "Website",
"url": "https://example.com/shop?ref=channel",
"isLikelyAffiliate": true
}
],
"channelSubscriberCount": 1500000,
"channelSubscriberCountText": "1.5M subscribers",
"channelTotalViews": 480000000,
"channelTotalVideos": 1200,
"channelCountry": "United States",
"channelJoinedDate": "Jan 1, 2010",
"channelCreationDate": "2010-01-01T12:00:00Z",
"channelIsFamilySafe": true,
"channelIsAgeRestricted": null,
"channelAvatarUrl": "https://example.com/avatar.jpg",
"channelBannerUrl": "https://example.com/banner.jpg",
"videoId": "abc123XYZ_0",
"title": "Example video title",
"url": "https://www.youtube.com/watch?v=abc123XYZ_0",
"type": "video",
"durationSeconds": 600,
"duration": "10:00",
"publishedAt": "2026-10-01T15:00:00.000Z",
"relativeDateText": "3 weeks ago",
"viewCount": 250000,
"viewCountText": "250K views",
"thumbnailUrl": "https://example.com/thumbnail.jpg",
"isLive": false,
"description": "Example description. Use code SAVE10 for a discount.",
"tags": ["example", "tutorial"],
"category": "Science & Technology",
"likeCount": 12000,
"isFamilySafe": true,
"isUnlisted": false,
"isMembersOnly": false,
"isAgeRestricted": false,
"playable": true,
"sponsorSignal": {
"hasSponsorSignal": true,
"sponsorPhraseMatched": true,
"affiliateLinks": []
},
"engagementRate": 0.048,
"viewsToSubsRatio": 0.1667,
"isOutlier": false,
"outlierBasis": "median of 10 videos collected this run: 180,000 views"
}

With Collect top comments and Collect transcript on, each row also gets these fields:

{
"commentCountText": "1,234",
"commentCount": 1234,
"topComments": [
{
"commentId": "Ugx0000000000000000",
"author": "@exampleviewer",
"authorChannelId": "UC1111111111111111111111",
"authorIsVerified": false,
"text": "Example comment text.",
"publishedTimeText": "2 weeks ago",
"likeCount": 42,
"replyCount": 3,
"isPinned": false
}
],
"transcript": "Example transcript text for the video."
}

A channel link that cannot be read produces an error row in the Errors view:

{
"error": "no channel data was returned: check the link, the channel may be deleted, or try again later",
"inputUrl": "https://www.youtube.com/@missing-example"
}

Notes and limitations

  • Comment counts, likes and views come from the video itself when deep enrichment is on. With it off, you get the faster listing data, and viewCount is parsed from the rounded view text.
  • Top comments are limited by maxComments and by what YouTube shows first for each video.
  • The transcript uses the first caption track a video offers and is empty when none exists.
  • sponsorSignal is a lead to verify, not proof that a video is sponsored.
  • isOutlier compares a video with the median views of the videos collected in the same run, not the channel's full history.

Tips and advanced usage

How many results can you scrape with Fast YouTube Channel Scraper?

Each tab has its own limit, up to 500,000 per channel, and runs also stop at maxScanned rows examined per tab (default 20,000). The real number depends on how many public videos the channel has, the start date, and whether comments and transcripts are on. The best way to know for your channel is a quick test run with a small maxResults.

How to use the data as a YouTube channel analysis tool

Open the Insights view to compare viewCount, engagementRate and viewsToSubsRatio across a channel's uploads, or export the rows to a spreadsheet and chart them against upload dates.

How to get faster or cheaper results

  • Turn Deep video enrichment off for the fastest listing-only run.
  • Keep comments and transcripts off unless you need them, because they add extra requests per video.
  • Lower maxResults, maxResultsShorts and maxResultStreams to the numbers you will actually use.
  • Raise maxConcurrency (up to 20) to process more videos at the same time.

How to monitor new YouTube videos from a channel

Turn on Stop at a known video (monitorMode), set sinceVideoId to the newest video ID from your last run, and use Apify schedules to schedule a YouTube channel scrape every day or week. Each run returns only videos newer than that ID, and every row has isNew set to true. Add webhookUrl to be notified once per channel when new videos are found.


Integrations and API

Can I use Fast YouTube Channel Scraper as an API?

Yes. The Apify API gives you programmatic access: start runs, schedule them and fetch results. Use the apify-client package for Node.js or Python, and see the API tab for ready-to-use code.

How to scrape YouTube channel data with Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("data_minds/fast-youtube-channel-scraper").call(run_input={
"urls": ["https://www.youtube.com/@mkbhd"],
"maxResults": 10,
"proxyConfiguration": {"useApifyProxy": False},
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Can I integrate Fast YouTube Channel Scraper with other apps?

Yes. Connect it with Make, Zapier, Google Sheets, Slack and more through Apify integrations. Use webhooks to trigger an action when a run finishes, and schedule runs to keep your data fresh.

Can I use Fast YouTube Channel Scraper with AI agents (MCP)?

Yes. Connect the Actor to Claude and other AI assistants through the Apify MCP server. Open the MCP tab for setup steps.


Other YouTube scrapers

ScraperWhat it does
๐Ÿ’ฌ YouTube Comments ScraperExtracts video comments and replies with author, text, likes and pinned status
๐Ÿ” YouTube ScraperScrapes YouTube videos, Shorts, streams, channels, playlists, hashtags and search results
๐Ÿ“ YouTube Transcript ScraperExtracts transcripts, subtitles and captions in bulk
๐Ÿ”— Best YouTube Transcripts ScraperGet the transcript of any YouTube video, Short, playlist or channel: timestamped captions, SRT, chapters, language choice, video and channel details.
๐Ÿ”— YouTube Channel Email ScraperFind contact emails, social links, channel stats and recent activity for any YouTube channel from links, @handles, channel IDs, video links or...

FAQ

Scraping publicly available data is generally legal, but you must respect personal data rules such as GDPR, copyright and YouTube's terms. Collect personal data only with a legitimate reason. This is not legal advice, so check your use case with a lawyer. Read more in Is web scraping legal?

How does Fast YouTube Channel Scraper work?

You paste channel links and set limits. The Actor reads each channel's Videos, Shorts and Live tabs, adds the details you switch on, and saves one row per video to your dataset as it goes. You then export the rows in JSON, CSV or Excel, or fetch them through the API.

Why scrape YouTube channel data?

Channel data supports competitor analysis, influencer and sponsorship research, content planning and trend tracking. Views, likes, tags, categories and engagement rates show which topics and formats work for a channel, while scheduled runs let you track new uploads and spot breakout videos without opening each channel by hand.

How do I find outlier videos on a YouTube channel?

Run the Actor with at least 5 videos per tab and open the Insights view. Each row has isOutlier, which is true when a video has at least three times the median views of the videos collected in that run. outlierBasis shows the median used, so you can judge the result yourself.

How can I check if a YouTube video is sponsored?

Keep Sponsor and affiliate detection on and check sponsorSignal in the Sponsors view. As a YouTube affiliate link finder and creator research tool, it flags sponsor phrases and affiliate or tracking links in the description and channel links. Treat it as a lead to verify, not proof of a paid deal.

Can I use a YouTube channel scraper with no API key?

Yes. This Actor works as a YouTube data API alternative for channel and video data: it does not ask for a YouTube API key or quota. You only need an Apify account and a channel link. Each plan has a fixed price per result, so you can estimate the cost before you start.

Can I export a YouTube channel's video list to CSV or Excel?

Yes. After the run, open the Output tab, choose the Overview view or any other view, and download the dataset as CSV, Excel, JSON, XML or HTML. Export only the url column to get all video URLs from a YouTube channel, or fetch the rows through the Apify API.

Why am I getting fewer results than expected?

Check that each limit is above 0 and that a start date or monitor mode is not stopping the run early. A channel with few public videos, a hidden Shorts or Live tab, or a spending limit can also reduce results. Rows for links that failed appear in the Errors view.

Why is Fast YouTube Channel Scraper not working?

First check that every link is a public channel page and that the run log shows no spending-limit message. Then try a small test run with the default input. If the problem continues, open the Issues tab and share your input and run link.


Support and feedback

Found a bug or have a feature request? Please create an issue on the Issues tab.

Need a custom solution or more data? Contact hello.dataminds@gmail.com.

Built and maintained by the data_minds team on Apify.

This Actor is an independent tool and is not affiliated with or endorsed by YouTube or Google. You are responsible for using the data in line with the law and the platform's terms.