YouTube Scraper Pro: Videos & Channels avatar

YouTube Scraper Pro: Videos & Channels

Pricing

from $0.40 / 1,000 primary youtube results

Go to Apify Store
YouTube Scraper Pro: Videos & Channels

YouTube Scraper Pro: Videos & Channels

Fast YouTube scraper for videos, channels, search, playlists, comments, and transcripts. Exact limits, restart recovery, no API key.

Pricing

from $0.40 / 1,000 primary youtube results

Rating

0.0

(0)

Developer

Dev

Dev

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

5 days ago

Last modified

Share

YouTube Scraper Pro

Extract public YouTube videos, Shorts, live streams, channels, playlists, search results, comments, and timestamped transcripts—without a YouTube Data API key or a browser.

Use it for creator research, content monitoring, lead discovery, trend analysis, dataset building, and YouTube workflow automation. Start with URLs, search queries, or both in the same run.

Why choose this YouTube scraper?

What you needWhat this Actor does
Predictable pricingCharges only for successful primary records. No start fee. Comments, transcripts, notices, and errors have no additional event charge. Platform usage is included.
Broad coverageOne Actor handles videos, Shorts, streams, channels, playlists, hashtags, search, comments, and transcripts.
Reliable bulk runsExact concurrent limits, global deduplication, isolated source failures, retry handling, automatic checkpoints, and restart-safe dataset recovery.
Fast, efficient collectionHTTP-first extraction runs without a browser and uses 256 MB by default.
Integration-ready dataStable recordType values, normalized fields, native dataset views, machine-readable errors, and a compact run summary.
Safe cost controlsPer-source and run-wide record caps work together with Apify's maximum charge per run.

In a paid cloud benchmark, the Actor produced exactly 1,000 unique results and 1,000 matching billed events in 136.5 seconds at 256 MB, with zero retries, 429s, 5xx responses, or network errors. Batched paid writes made this identical workload about 30% faster than the previous paid build. A separate forced-reboot test resumed a run, recovered the dataset tail, and finished with no duplicate records. Actual speed varies with source type, enrichment, network conditions, and YouTube responses.

Pricing

You pay only when the Actor stores a successful primary result: a video, short, stream, channel, or playlist record.

Apify planPrice per 1,000 primary results
Free$0.60
Bronze$0.50
Silver$0.45
Gold$0.40
Platinum$0.40
Diamond$0.40

Included at no additional event charge:

  • Actor starts and empty searches
  • Comments and comment pagination
  • Timestamped transcript enrichment
  • notice and error records
  • Apify platform usage during the run

For example, 10,000 primary results cost $6.00 on Free, $5.00 on Bronze, or $4.00 on Gold and higher plans. Set Maximum total charge when starting a run to enforce an additional billing ceiling.

Quick start

Scrape a channel and a direct video in one run:

{
"startUrls": [
{ "url": "https://www.youtube.com/@Apify" },
{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }
],
"channelSections": ["videos", "shorts", "live"],
"maxResultsPerSource": 50,
"maxTotalResults": 100,
"includeComments": true,
"maxCommentsPerVideo": 20,
"includeTranscript": true
}

Search YouTube without opening every result page:

{
"searchQueries": [
"web scraping tutorials",
"Apify YouTube automation"
],
"searchResultTypes": ["video", "short", "channel", "playlist"],
"uploadDate": "month",
"searchSort": "relevance",
"maxResultsPerSource": 100,
"maxTotalResults": 200
}

startUrls and searchQueries can be combined. Each URL or query is processed independently, so one unavailable target does not discard successful results from other sources.

Supported YouTube URLs

  • Videos: youtube.com/watch?v=... and youtu.be/...
  • Shorts, live streams, and embeds: /shorts/..., /live/..., /embed/...
  • Channels: /@handle, /channel/..., /c/..., and /user/...
  • Playlists: /playlist?list=...
  • Hashtags: /hashtag/...
  • Search pages: /results?search_query=...

What you can extract

Videos, Shorts, and streams

  • ID, canonical URL, title, description, publication date, and duration
  • View, like, and comment counts when YouTube exposes them
  • Channel identity, handle, verification, URL, and thumbnails
  • Video thumbnails, tags, category, live/upcoming flags, and availability information
  • Optional expanded details for search, channel, hashtag, and playlist results

Channels and playlists

  • Channel identity, description, subscriber and video counts, and thumbnails
  • Videos, Shorts, and Live channel tabs with continuation-page pagination
  • Playlist identity, metadata, item counts, and paginated playlist items

Comments and transcripts

  • Top or newest comments with author, votes, replies, pinned/hearted flags, owner flag, and deep link
  • Timestamped transcript segments with text, start/end milliseconds, and available languages
  • Transcript fallback through signed public caption tracks when YouTube's transcript endpoint is unavailable

Input options

InputPurposeDefault
startUrlsVideo, channel, playlist, hashtag, or search URLs[]
searchQueriesPlain-text YouTube searches[]
searchResultTypesvideo, short, channel, playlistvideo + short
maxResultsPerSourceExact cap for every URL or query50
maxTotalResultsExact cap for the entire run1000
channelSectionsChannel tabs to collectall three
includeChannelRecordStore channel metadata before its contenttrue
includeCommentsFetch comments for detailed videosfalse
maxCommentsPerVideoComment cap per enriched video20
commentsSortByTop comments or newest firsttop
includeTranscriptAdd timestamped transcript segmentsfalse
enrichExpandedVideosOpen every expanded list result for full detailsfalse
searchSortRelevance or popularityrelevance
uploadDateToday, week, month, year, or allall
durationUnder 3, 3–20, over 20 minutes, or allall
language / countryLocalize YouTube responsesen / US
maxConcurrencyParallel top-level sources4
maxRequestRetriesRetries for transient failures3
maxSourcesMaximum URLs and queries combined200
maxPagesPerSourceMaximum paginated YouTube pages per source100
maxRequestsPerSourceMaximum YouTube HTTP attempts per source500
requestTimeoutMsTimeout for each HTTP attempt20000
proxyConfigurationOptional Apify or custom proxydisabled

maxResultsPerSource and maxTotalResults include every stored record type, including free comments, notices, and errors. This makes the dataset size deterministic as well as the bill.

The source, page, and request limits also bound work when YouTube returns empty or repeated pages. They can be raised for larger jobs. A PAGE_LIMIT_REACHED or REQUEST_LIMIT_REACHED notice means available results may be partial; repeated URLs or queries that were already covered by another source do not produce a misleading NO_RESULTS notice.

Fast list mode or full enrichment

The default list path returns metadata already present on search, channel, hashtag, and playlist pages. This is the fastest and least expensive way to collect large result sets.

Enable enrichExpandedVideos when every expanded video needs full video-page fields, comments, or transcripts. Enrichment adds at least one request per video. Direct video URLs always use the full-detail path.

Output format

Every dataset row contains a stable type and source context:

{
"recordType": "video",
"id": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Example video",
"viewCount": 123456,
"channel": {
"id": "UC...",
"name": "Example channel",
"url": "https://www.youtube.com/channel/UC..."
},
"source": {
"kind": "search",
"value": "web scraping tutorials",
"index": 0
},
"scrapedAt": "2026-09-27T08:30:00.000Z"
}

recordType is one of:

  • video, short, or stream
  • channel or playlist
  • comment
  • notice for a valid source with no public results
  • error for an isolated source failure

The default dataset contains the records. The OUTPUT key-value-store record contains source outcomes, counts, duplicate and recovery metrics, first-result latency, duration, HTTP request/retry status, and whether a result or billing limit was reached.

Reliability behavior

  • Retries HTTP 408, 425, 429, and 5xx responses with exponential backoff and jitter
  • Deduplicates globally by record type and stable ID or canonical URL
  • Reserves output capacity before concurrent writes, preventing limit overshoot
  • Saves state at startup, in source batches, periodically, and before migration
  • Recovers rows written after the last checkpoint following a restart
  • Preserves partial results when one source, comment page, or enrichment fails
  • Keeps free comments eligible for output after the final affordable video, as long as the dataset and per-source record caps still have room
  • Reports a comment fetch failure as a separate free error row tied to the video, without rewriting or charging the video again
  • Returns stable error codes for rate limits, network failures, unavailable/private content, transcript failures, invalid input, and extraction changes

API example

Run synchronously and receive dataset rows:

curl "https://api.apify.com/v2/acts/smart_albatross~youtube-scraper-pro/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-X POST \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["web scraping tutorials"],
"maxTotalResults": 25
}'

For larger jobs, start the Actor asynchronously and read the default dataset after the run finishes.

Responsible use and limitations

This Actor requests public YouTube data only. You are responsible for complying with applicable law, privacy and copyright rules, contractual restrictions, and YouTube's terms.

  • Fields vary by locale, region, account state, content type, and YouTube experiments.
  • Some list pages expose abbreviated counts or omit fields; full enrichment can provide more detail.
  • Private, deleted, members-only, age-restricted, and region-restricted content may be unavailable or partial.
  • Transcripts require public captions or transcripts for the selected video.
  • The Actor does not download video or audio media.