YouTube Scraper $2/1K — Videos, Channels, Comments, Transcripts avatar

YouTube Scraper $2/1K — Videos, Channels, Comments, Transcripts

Pricing

from $2.00 / 1,000 results

Go to Apify Store
YouTube Scraper $2/1K — Videos, Channels, Comments, Transcripts

YouTube Scraper $2/1K — Videos, Channels, Comments, Transcripts

Scrape YouTube videos, channels, comments, and transcripts in one tool — by keyword or by video, channel, and playlist URL. Get rich per-video metadata, comments with replies, and translated transcripts. Incremental mode and RAG-ready output included.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Black Falcon Data

Black Falcon Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does YouTube Scraper $2/1K do?

YouTube Scraper extracts structured data from youtube.com — videos, channels, comments, and transcripts in one run. Pull rich video metadata (views, likes, duration, descriptions, chapters, hashtags), full channel stats, top or newest comments with replies, multi-format transcripts with translation, and topic-based trending. Search by keyword or paste video, channel, and playlist URLs. Comments automatically use US residential IPs when needed. Transcripts and direct video-URL detail need US residential IPs (choose the RESIDENTIAL group, country US, in the Proxy input); search, channel, and trending modes run without it.

New to Apify? Sign up free and use the included $5 monthly platform credit to test this actor.

Key features

  • 🎛️ Six data types in one actor — videos, channels, comments (with replies), transcripts, trending, and keyword search — all from one run. Mix pasted URLs, URL lists, and search queries as targets in the same job.
  • 📝 Multi-format transcripts + translation — pull full captions as timed JSON segments, plain text, SRT, WebVTT, or raw XML — every variant ships alongside fullText. Pick the track with transcriptLanguage or auto-translate with translateTo. Transcripts need US residential IPs (the RESIDENTIAL group, country US) and run slower; every other mode, including rich video detail, works on the default proxy.
  • 🎬 Rich video metadata — every video carries views, duration, publish date, description, category, keywords, hashtags, chapters, channel handle, and thumbnails at detailLevel: standard+ (basic = view-only). Like, comment, and subscriber counts populate when you use US residential IPs (abbreviated like/subscriber, exact comment).
  • 📈 Trending + precise search filters — rank the most-viewed recent videos for a topic with Trending mode, and shape search with native filters: sort, upload window, duration, result type, and HD/4K, subtitle, Creative Commons, and live flags. Pick a channel's tab and order with channelVideoType (videos/shorts/live) and channelSortOrder, then post-filter any field with a customFilters expression (e.g. viewCount > 100000 AND durationSec < 600).
  • 🤖 RAG-ready output — flip ragOutput to emit embedding-ready { id, text, metadata } documents instead of raw records; ragChunkSize/ragChunkOverlap split long transcripts into overlapping chunks (chunking never changes billing).
  • ♻️ Incremental mode — re-run the same configuration and receive only what changed. Each record is classified NEW, UPDATED, UNCHANGED, or REAPPEARED and carries changeType, firstSeenAt, and lastSeenAt. Classification tracks content (title, description), not view/like counts, so stat drift never flags everything. Use a stable stateKey for a continuous feed.

What data can you extract from youtube.com?

Each result includes Core listing fields (datasetType, videoId, title, channelName, channelHandle, viewCount, viewCountText, and durationSec, and more). All fields are always present — unavailable data points are returned as null, never omitted.

Input

The main inputs are a result limit. Additional filters and options are available in the input schema.

Key parameters:

  • scrapeVideos — Collect video items (metadata, stats, descriptions) from search results, channel pages, playlists, and pasted video URLs. This is the default mode. Default: true. (default: true)
  • scrapeChannels — Collect channel items (name, subscriber count, video count, country, links) from channel URLs/@handles or channel results in a search. Combine with Channel URLs or a search using Result Type = Channels only. Default: false. (default: false)
  • scrapeComments — Fetch comments for each scraped video. Requires a video target (search, channel, playlist, or pasted Video URL). Comments automatically use US residential IPs when needed (residential access required on your account). Tune volume/order in the Comments settings below. Default: false. (default: false)
  • scrapeTranscripts — Download full transcripts (captions) for each scraped video. Requires a video target. ⚠️ Needs US residential IPs (RESIDENTIAL group, country US) or transcripts come back empty; also runs slower (a browser step). Configure format, language, and translation in the Transcripts settings below. Default: false. (default: false)
  • scrapeTrending — Collect the most-viewed recent videos for your topic, ranked by view count over a recent upload window. Requires at least one Search Query, or a Trending Topic, to define what to rank. Default: false. (default: false)
  • maxResults — Maximum number of videos and channels to collect across all tasks. Comments and transcripts are extra per-video records, not counted against this limit (set their volume with Comments per video / Scrape transcripts). Set 0 for unlimited. Default: 50. Aliases: limit, max, maxItems, maxVideos. (default: 50)
  • ...and 64 more parameters

Input examples

Basic search — Targeted run scoped to a specific searchQueries.

→ Full payload per result — all standard fields populated where the source provides them.

{
"searchQueries": [
"nodejs tutorial"
],
"maxResults": 50
}

Incremental tracking — Only emit videos that changed since the previous run with this stateKey.

→ First run builds the baseline state. Subsequent runs emit only records that are new or whose tracked content changed. Set emitUnchanged: true to include unchanged records as well.

{
"searchQueries": [
"nodejs tutorial"
],
"maxResults": 200,
"incrementalMode": true,
"stateKey": "youtube-tracker"
}

Output

Each run produces a dataset of structured video records. Results can be downloaded as JSON, CSV, or Excel from the Dataset tab in Apify Console.

Example video record

{
"datasetType": "video",
"videoId": "n61ULEU7CO0",
"title": "Best of lofi hip hop 2021 ✨ [beats to relax/study to]",
"channelName": "Lofi Girl",
"channelHandle": "@LofiGirl",
"viewCount": 55051243,
"viewCountText": "55,051,243 views",
"durationSec": 22258,
"durationText": "6:10:58",
"publishedAt": "2022-05-30T20:38:41.032Z",
"publishedTimeText": "4 years ago",
"isShort": false,
"status": "OK",
"url": "https://www.youtube.com/watch?v=n61ULEU7CO0",
"embedUrl": "https://www.youtube.com/embed/n61ULEU7CO0",
"shortUrl": "https://youtu.be/n61ULEU7CO0",
"scrapedAt": "2026-05-31T12:00:00.000Z"
}

Incremental fields

When incremental: true, each record also carries:

  • changeType — one of NEW, UPDATED, UNCHANGED, REAPPEARED, EXPIRED. Default output covers NEW / UPDATED / REAPPEARED; set emitUnchanged: true or emitExpired: true to opt into the others.
  • firstSeenAt, lastSeenAt — ISO-8601 timestamps tracking the listing across runs.

How to scrape youtube.com

  1. Go to YouTube Scraper $2/1K in Apify Console.
  2. Configure the input.
  3. Set maxResults to control how many results you need.
  4. Click Start and wait for the run to finish.
  5. Export the dataset as JSON, CSV, or Excel.

Use cases

  • Extract video data from youtube.com for market research and competitive analysis.
  • Monitor new and changed listings on scheduled runs without processing the full dataset every time.
  • Export clean, structured data to dashboards, spreadsheets, or data warehouses.

How much does it cost to scrape youtube.com?

YouTube Scraper $2/1K uses pay-per-event pricing. You pay a small fee when the run starts and then for each result that is actually produced.

  • Run start: $0.005 per run
  • Per result: $0.002 per video record

Example costs:

  • 10 results: $0.03
  • 25 results: $0.06
  • 100 results: $0.21
  • 200 results: $0.41
  • 500 results: $1

Example: recurring monitoring savings

These examples compare full re-scrapes with incremental runs at different churn rates. Churn is the share of listings that are new or whose tracked content changed since the previous run. Actual churn depends on your query breadth, source activity, and polling frequency — the scenarios below are examples, not predictions.

Example setup: 200 results per run, daily polling (30 runs/month). Event-pricing examples scale linearly with result count.

Numbers below are for the primary Result event. Other events (Transcript) are billed separately when they fire and follow the same incremental logic — when the underlying record has not changed, no charge is emitted.

Churn rateFull re-scrape run costIncremental run costSavings vs full re-scrapeMonthly cost after baseline
5% — stable niche query$0.41$0.03$0.38 (94%)$0.75
15% — moderate broad query$0.41$0.07$0.34 (84%)$1.95
30% — high-volume aggregator$0.41$0.13$0.28 (69%)$3.75

Full re-scrape monthly cost at daily polling: $12.15. First month with incremental costs $1.13 / $2.29 / $4.03 for the 5% / 15% / 30% scenarios because the first run builds baseline state at full cost before incremental savings apply.

Platform usage (compute and proxies) is billed separately by Apify based on actual consumption. Incremental runs consume less on result processing, though fixed per-run overhead stays the same.

FAQ

How many results can I get from youtube.com?

The number of results depends on the search query and available listings on youtube.com. Use the maxResults parameter to control how many results are returned per run.

Does YouTube Scraper $2/1K support recurring monitoring?

Yes. Enable incremental mode to only receive new or changed listings on subsequent runs. This is ideal for scheduled monitoring where you want to track changes over time without re-processing the full dataset.

Can I integrate YouTube Scraper $2/1K with other apps?

Yes. YouTube Scraper $2/1K works with Apify's integrations to connect with tools like Zapier, Make, Google Sheets, Slack, and more. You can also use webhooks to trigger actions when a run completes.

Can I use YouTube Scraper $2/1K with the Apify API?

Yes. You can start runs, manage inputs, and retrieve results programmatically through the Apify API. Client libraries are available for JavaScript, Python, and other languages.

Can I use YouTube Scraper $2/1K through an MCP Server?

Yes. Apify provides an MCP Server that lets AI assistants and agents call this actor directly. Use a single descriptionFormat, RAG output, and excludeEmptyFields to keep payloads manageable for LLM context windows.

This actor extracts publicly available data from youtube.com. Web scraping of public information is generally considered legal, but you should always review the target site's terms of service and ensure your use case complies with applicable laws and regulations, including GDPR where relevant.

What counts as a billable result?

A "result" is one record written to the dataset, billed at the per-result price. What a single result is depends on what you collect:

  • Videos, trending, and playlist videos — 1 result per video.
  • Channels — the channel profile is 1 result, plus each listed video is 1 result.
  • Comments1 result per top-level comment. Replies (when includeReplies is on) are nested under their parent comment's replies field and are not billed separately. A single video with 300 top-level comments is 300 results, so set commentsPerVideo to cap how many you collect.
  • Transcripts — billed at the separate transcript event price, not counted as a result.

When ragOutput is on, a long transcript split into many chunks still bills as one source item — chunking never multiplies your cost.

Do I need a proxy, and what does it cost?

Search, Channel, Comments, Trending, and per-video detail all work on the default proxy — including the rich video metadata enriched for search/channel/playlist/trending results. Only Transcripts need US residential IPs — in the Proxy input, choose the RESIDENTIAL group with country US (or supply your own US residential-IP proxy URLs in the same input). Without it, transcripts come back empty.

Platform usage (compute and proxy traffic) is billed separately by Apify based on actual consumption, on top of the per-event prices below. Residential traffic is the main variable cost on transcript-heavy runs, so budget for it when you enable transcripts at scale.

What should I know about coverage and limits?

  • Transcripts require captions and US residential IPs. A transcript is only returned when the video has captions (uploaded or auto-generated) and the run routes through the RESIDENTIAL group with country US. Videos without captions yield no transcript item — this is normal, not an error.
  • Transcripts run slower. The transcript step is heavier than the other modes, so transcript-heavy jobs take longer — set a generous run time limit.
  • Trending is topic-based. There is no single global trending feed; Trending mode returns the most-viewed recent videos for the topic(s) you provide, so it needs at least one search query or a Trending Topic.
  • Age-restricted, private, or unavailable videos return a status field with the basic info that can be seen, rather than failing — comments and transcripts cannot be collected for them.
  • Contact emails are not extracted. The actor extracts links and social profiles found in descriptions, but does not mine personal email addresses.
  • Result counts are approximate. YouTube limits how deep search and listing results can be paged, so a very high maxResults may return fewer items than requested.

Your feedback

If you have questions, need a feature, or found a bug, please open an issue on the actor's page in Apify Console. Your feedback helps us improve.

You might also like

Getting started with Apify

New to Apify? Create a free account with $5 credit — no credit card required.

  1. Sign up — $5 platform credit included
  2. Open this actor and configure your input
  3. Click Start — export results as JSON, CSV, or Excel

Need more later? See Apify pricing.