YouTube Scraper: Channels, Videos, Transcripts & Comments avatar

YouTube Scraper: Channels, Videos, Transcripts & Comments

Pricing

from $1.79 / 1,000 videos

Go to Apify Store
YouTube Scraper: Channels, Videos, Transcripts & Comments

YouTube Scraper: Channels, Videos, Transcripts & Comments

Scrape YouTube channels and videos — subscriber and view counts, full video lists with pagination, complete transcripts, and comments with replies. Transcripts included, not a paid add-on. No login. Pricing: videos $1.79/1K, video details with transcript $2.49/1K, comments $1.49/1K.

Pricing

from $1.79 / 1,000 videos

Rating

0.0

(0)

Developer

Socialhz

Socialhz

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Categories

Share

Give it a list of YouTube channels and video links. Get back each channel's full statistics and video history, each video's details and complete transcript, and comments with their replies — in one run, with no YouTube login and no API key of your own.

Transcripts are included in the video price. They are not a paid add-on here.

Mix channels and videos in the same list. Each entry is routed automatically.

Built for AI and content pipelines, creator vetting, competitor research and audience analysis.


What it does

  • Channels — subscriber count, lifetime view total, how many videos exist, creation date, country, banner, links to their other social accounts
  • Video history with real pagination — YouTube returns 30 videos per page and this Actor keeps going, so you can pull a channel's back catalogue rather than just its latest page
  • Full transcripts — the spoken content as plain text, with the caption language, ready to feed a model or a search index
  • Video detail — views, likes, comments, length, category, language, keywords, hashtags, age restriction, live and unlisted flags
  • Comments with replies — author, text, likes, reply count, and whether a comment is pinned or written by the creator
  • Videos or Shorts — a channel's long-form feed and its Shorts feed are separate, and you choose which to read
  • Title and description kept apart — YouTube serves them as one blob; this Actor splits them so the title column is a title
  • No duplicates — paginated pages overlap, and repeats are dropped before they are ever charged

Input

FieldTypeDefaultDescription
targetsarray—Required. Channels and videos, mixed freely. Max 200 per run
maxVideosPerChannelinteger30How far back to go per channel. 30 is one page
contentTypeselectvideoRead a channel's Videos or its Shorts
includeTranscriptbooleantrueReturn the transcript with each video you supply
includeCommentsbooleanfalseReturn comments on videos you supply
maxCommentsPerVideointeger20The first 20 arrive free with the video

Accepted entries

Channels @MrBeast
MrBeast
youtube.com/@MrBeast
youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA
UCX6OQ3DkcsbYNE6H8uQQuVA
Videos youtube.com/watch?v=dQw4w9WgXcQ
youtu.be/dQw4w9WgXcQ
youtube.com/shorts/_JUlWtSCNbs

Example input

{
"targets": [
"@MrBeast",
"https://www.youtube.com/watch?v=dQw4w9WgXcQ"
],
"maxVideosPerChannel": 60,
"includeTranscript": true,
"includeComments": false
}

Output

One record per entry, carrying type (channel or video), label and status.

Channel records

FieldTypeDescription
channelId, handle, displayNamestring | nullIdentity
descriptionstring | nullAbout-panel text
subscriberCountnumber | nullSubscribers
totalViewsnumber | nullLifetime views across the channel
videoCountnumber | nullHow many videos the channel has published
createdAt, locationstring | nullWhen and where
isVerified, isFamilySafe, privacyStatusStatus flags
profileImageUrl, bannerImageUrlstring | nullImages
externalLinks, keywordsarrayTheir other accounts, and channel keywords
videosarrayEach with title, description, link, views, likes, comments, publish date, thumbnail, hashtags
videosReturned, morePagesAvailableHow many you got, and whether more exist

Put subscriberCount and totalViews beside videoCount and you have average views per video — the quickest read on whether an audience is real.

Video records

FieldTypeDescription
videoId, url, title, descriptionstring | nullIdentity and text, kept separate
publishedAtstring | nullISO 8601 UTC
viewCount, likeCount, commentCountnumber | nullEngagement
channelName, channelHandle, channelIdstring | nullWho published it
durationSeconds, category, languageLength, YouTube category, language
keywords, hashtags, mentionsarrayMetadata
transcriptstring | nullThe spoken content as plain text
transcriptLanguage, subtitlesCaption language and tracks
isLive, isPrivate, isUnlisted, ageRestrictionStatus flags
commentsarrayAuthor, text, likes, reply count, pinned and creator flags
commentsReturned, moreCommentsAvailableHow many you got, and whether more exist

Every record also carries status: ok, not_found for a channel or video that is not publicly available, or unavailable if the source could not be reached.


Pricing

EventPrice
Video from a channel feed$1.79 per 1,000
Channel looked up$1.79 per 1,000
Video detail, transcript included$2.49 per 1,000
Extra comment beyond the first 20$1.49 per 1,000
Run start$0.005 per run

The same price applies on every Apify plan.

An entry that is not a YouTube channel or video is rejected before any lookup and costs nothing, as are duplicates. Repeated videos and comments across paginated pages are dropped before they are charged.

Worked examples

Totals are rounded to the nearest cent.

Channel snapshot — 10 channels, 30 videos each 10 × $0.00179 + 300 × $0.00179 + $0.005 = ≈$0.56

Back catalogue — one channel, 600 videos 1 × $0.00179 + 600 × $0.00179 + $0.005 = ≈$1.08

Transcript pull — 500 videos with transcripts 500 × $0.00249 + $0.005 = $1.25

Set Maximum cost per run in the run options to cap spend. The Actor stops cleanly at that ceiling and returns everything it charged for.


Good to know

This source is deliberate rather than fast. A channel page takes eight to twenty seconds, so a deep pull is a long run — 600 videos is twenty pages and several minutes. Requests are given ninety seconds before being retried, which is why a slow source costs you a slower run rather than an empty one. Set the run timeout generously for large jobs.

The first 20 comments come free with the video. Leaving the comment limit at 20 adds nothing to your bill. Ask for more and only the extra pages are charged.

Transcripts depend on captions existing. Where a video has no captions in any form, transcript comes back null. Most substantial channels caption their content.

You supply the channels and videos. There is no keyword search — this Actor reads what you point it at.


Tips

  • Check the ratio before you pay a creator. Lifetime views divided by video count, against subscriber count, exposes a bought audience faster than any single number.
  • Pull transcripts in bulk, then search them. One run over a channel's catalogue gives you a corpus you can query offline without touching YouTube again.
  • Comments are unfiltered product research. Sort by like count and the top comments are the objections and praise an audience actually agrees on.
  • Shorts and Videos are different businesses. Run both feeds for the same channel and compare — many creators perform very differently across the two.
  • Start shallow. One page per channel is enough to rank a list; go deep only on the channels that survive that cut.

Support

Report a problem through the Issues tab on this Actor's page. Issues are reviewed regularly.

When reporting, please include the run ID, the input you used, and what you expected.

For volume enquiries, custom requirements, or anything not specific to a single run, email socialhtz@gmail.com.