YouTube Scraper: Videos, Shorts, Channels & Comments avatar

YouTube Scraper: Videos, Shorts, Channels & Comments

Pricing

from $1.00 / 1,000 results

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

YouTube Scraper: Videos, Shorts, Channels & Comments

Fast YouTube scraper with no browser and no API key: keyword search with filters, channel videos and Shorts, channel About data, playlists, video details (exact likes, date, description) and comments with replies. $1.00 per 1,000 results.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

subimpact

subimpact

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

Fast, keyless YouTube scraper built on plain HTTPS calls to YouTube's internal API. No key, no login, no headless browser. Keyword search (with sort and date filters), channel videos and Shorts tabs, playlists, single video details (exact likes, exact publish date, full description, comment count) and comment scraping, all in one run.

Pay per result: $1.00 per 1,000 results. You are charged $0.001 per delivered row and never for empty or failed work. Platform usage (compute, memory) is billed separately by Apify and is small because the actor is a lightweight HTTP client, not a browser.

How this compares

Plain HTTPS calls to YouTube's internal API: no key, no login and no headless browser, so the compute you pay for is small. One run covers keyword search with sort and date filters, channel videos and Shorts tabs, playlists, single video details and comments. At $1.00 per 1,000 results it is below the four most-used alternatives in this lane: streamers/youtube-scraper ($4.00) and streamers/youtube-shorts-scraper ($4.00), streamers/youtube-comments-scraper ($2.00) and streamers/youtube-channel-scraper ($1.30). Transcripts and media downloads are not offered (see the caveats below); pintostudio/youtube-transcript-scraper covers transcripts at $10.00 per 1,000 items.

ActorPrice per 1,000 resultsPlatform usage
subimpact/youtube-scraper$1.00paid by you
streamers/youtube-scraper$4.00see listing
streamers/youtube-comments-scraper$2.00see listing
streamers/youtube-channel-scraper$1.30see listing
streamers/youtube-shorts-scraper$4.00see listing

Prices are Apify Store list prices on the Free plan, checked 24 October 2026. Competitor prices can change; check their listings.

What it scrapes

ModeSourceYou get
Keyword searchsearchQueriesVideos (and optionally Shorts) with title, duration, views, publish text, channel, thumbnail
Channel URLstartUrls (/@handle, /channel/, /c/, /user/)Videos-tab or Shorts-tab items (or both), plus one channel row with subscribers, lifetime views, About info and external links
Playlist URLstartUrls (?list=)Videos in playlist order
Video URLstartUrls (/watch?v=, youtu.be, /shorts/, /live/)Full video details: exact likes, exact publish date, full description, comment count
CommentsscrapeCommentsTop or Newest comments with author, like count, reply count, and optionally replies

Input modes

{
"searchQueries": ["python tutorial", "coldplay viva la vida"],
"searchSortBy": "views",
"searchUploadDate": "year",
"maxResultsPerQuery": 100
}
{
"startUrls": [{ "url": "https://www.youtube.com/@MrBeast" }],
"channelContent": "both",
"maxVideosPerChannel": 200,
"includeChannelInfo": true
}
{
"startUrls": [{ "url": "https://www.youtube.com/playlist?list=PL4fGSI1pDJn6puJdseH2Rt9sMvt9E2M4i" }],
"maxVideosPerChannel": 500
}
{
"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }],
"scrapeComments": true,
"commentsSortBy": "top",
"maxCommentsPerVideo": 100,
"includeReplies": true,
"enrichVideoDetails": true
}

You can mix modes: searchQueries and startUrls run together in one run.

Output fields

One dataset row per item. itemType is one of video, short, channel, comment (videos and Shorts are the same shape; a Short always has isShort: true and no duration because YouTube does not show one in the Shorts grid). Every row also carries source, input, position (rank within its input) and scrapedAt.

Videos and Shorts:

FieldTypeNotes
videoId, url, titlestringcanonical https://www.youtube.com/watch?v= URL
descriptionstring/nullfull description, only with enrichVideoDetails or a video URL
durationText, durationSeconds/ integer6:15:56 / 22556
viewCount, viewCountTextinteger / string922364, 922,364 views
likeCount, likeCountTextinteger / stringexact 19491363 only with enrichVideoDetails; rounded 19M otherwise when shown
publishedText, publishedDatestring / ISO date4 days ago; exact 2009-10-24 when available
channelId, channelName, channelHandle, channelUrlstring/null
channelSubscriberCount, channelSubscriberCountTextinteger / stringonly when channel info was fetched
channelVerifiedboolean/nullverification badge
thumbnailUrlstringhighest-resolution thumbnail YouTube served
isLivebooleantrue for live streams
badgesarray/nulle.g. ["New", "4K"]
commentCount, commentCountTextinteger / stringonly with enrichVideoDetails or video URL
hashtagsarray/nullextracted from the description

Channels (one row per channel URL when includeChannelInfo):

FieldTypeNotes
channelId, channelName, channelHandle, channelUrlstring/null
channelDescription, avatarUrlstring/null
subscriberCount, subscriberCountTextinteger / string522000000, 522M subscribers
videoCount, totalViewCountinteger1008, lifetime views
country, joinedDatestringUnited States, 2012-02-19
linksarray/null[{ "title": "...", "url": "..." }, ...]

Comments:

FieldType
commentId, videoId, textstring
author, authorChannelIdstring
authorIsVerified, authorIsCreatorboolean
likeCount, likeCountText, replyCountinteger
publishedTextstring (e.g. 6 years ago (edited))
isReply, parentCommentIdboolean / string

Comments get author handles exactly as YouTube displays them (e.g. @grustache4569).

Limits and honest caveats

  • No transcripts and no timed captions. Those endpoints are blocked from datacenter IPs; the actor does not call them.
  • No video or audio download. The player endpoint is blocked for anonymous datacenter access, so stream URLs cannot be provided.
  • Duration for a bare video URL comes from a search lookup (search by the video id and an exact-match read) and can be null when the video is too new to appear in search.
  • Counts like "119M views" or "522M subscribers" are YouTube's rounded display figures. Exact view counts are available for videos with details; exact subscriber counts are never exposed without login.
  • Exact like counts are only available when the video page itself is fetched (default for video URLs, optional via enrichVideoDetails for search/channel results; one extra request per video).
  • maxTotalResults (default 1,000) is a hard global stop on all rows so a single run cannot snowball.
  • Proxies are optional: the scrape works over plain HTTPS from datacenter IPs. Enable Apify Proxy only for very high volumes if you see rate limiting (429s are retried automatically with backoff).

FAQ

Do I need an API key? No.

Is a proxy required? No, but you can enable one: {"proxyConfiguration": {"useApifyProxy": true}}.

What does it cost? $1.00 per 1,000 delivered results ($0.001 each), plus small platform usage. You are never charged for rows that failed to be delivered.

Can I get comments only? Yes: pass a video URL with scrapeComments and the video row (1 result) plus comment rows.

Can I mix search and URLs? Yes: searchQueries and startUrls are combined in a single run, processed with up to maxConcurrency inputs at a time.