YouTube Channel Scraper avatar

YouTube Channel Scraper

Pricing

from $0.45 / 1,000 direct video results

Go to Apify Store
YouTube Channel Scraper

YouTube Channel Scraper

Extract videos from YouTube channels, video URLs, or keyword searches. Choose basic data or full metadata with available transcripts, channel profiles, and links. Export JSON, CSV, or Excel with result-based pricing.

Pricing

from $0.45 / 1,000 direct video results

Rating

4.3

(8)

Developer

Newbs

Newbs

Maintained by Community

Actor stats

82

Bookmarked

3.1K

Total users

50

Monthly active users

7 days ago

Last modified

Features

Limited permissions

Share

Collect videos from YouTube channels, individual video URLs, or keyword searches. Choose basic video data for fast, low-cost collection, or video details with available transcripts for research and analysis. Export results as JSON, CSV, or Excel, or use them through the Apify API.

Quick start

  1. Enter a channel handle such as @adidas, a channel URL, or a video URL.
  2. Set Videos per channel or search. Start with 2 to check the output.
  3. Choose What to collect using the table below.
  4. For search phrases, turn on Search by keyword. Set a maximum run charge, then start the Actor.
What to collectBest forWhat you receive
Basic video dataVideo lists, monitoring, and discoveryTitle, URL, thumbnail, channel, and metrics available in the listing. No transcripts or proxy requests.
Video details + transcriptsContent research, summarization, and analysisVideo metadata, channel profiles and links, and available caption text. Automatically retries missing details or captions through proxy when needed.
Use advanced settingsExisting integrations and custom extractionManual control of details, proxy use, language, and transcript recovery.

A direct video URL returns one video. In Basic mode, it returns the title, thumbnail, and author information exposed by YouTube; listing metrics are not available for an individual URL. Transcripts are YouTube caption text, not speech-to-text generated from audio. No mode guarantees a transcript for every video.

Pricing

Each successful video is charged once, at the direct or proxy-assisted rate. The rates are never added together.

Successful resultFree plan: per 1,000Paid plans: per 1,000
Direct extraction$0.50$0.45
Proxy-assisted extraction$8.00$7.50
  • Basic video data uses the direct rate and never uses proxies.
  • Video details + transcripts starts directly. A video uses the proxy rate if its extraction, recovery attempts, or source collection actually used a proxy. The preset alone does not determine the rate.
  • A successful metadata result remains chargeable when captions are missing, including after an unsuccessful proxy caption attempt.
  • Failed or partial video rows and Shorts-only guidance rows are free.
  • Pay-per-event prices include run platform usage. There is no additional start fee or rental charge. Post-run storage and dataset access follow Apify's terms. Historical rental runs retain their original billing terms.

For example, 900 direct results plus 100 proxy-assisted results cost $1.25 on the Free plan, or $1.155 on a paid plan. Check the Pricing tab for the effective price and set the maximum run charge before starting. The Actor saves completed results and stops when the remaining allowance cannot cover the next result.

Input examples

Get videos and transcripts from a channel

{
"channel": ["https://www.youtube.com/@adidas/videos"],
"numberOfResults": 10,
"scrapeMode": "transcripts"
}

Search for videos at the Basic price

{
"channel": ["running shoes", "summer fashion campaign"],
"keywords": true,
"numberOfResults": 25,
"scrapeMode": "basic"
}

The limit applies to each channel or search entry. Repeated video IDs are deduplicated across the run, so the final total can be lower. For creator discovery, set Max videos per channel to 1 in the advanced search settings.

Get an individual video's details

{
"channel": ["https://www.youtube.com/watch?v=qRr0lmYvp5g"],
"numberOfResults": 1,
"scrapeMode": "transcripts"
}

Use public channels and regular videos. Playlist URLs and individual Shorts URLs are not supported. For Shorts, use the YouTube Shorts Scraper. A channel containing only Shorts returns a free guidance row.

Output

Results appear while the run is processing. Open the Overview, Basic results, Transcript, or Channel profile dataset view, then export or access the dataset through the API.

DataUseful fields
Video identityid, videoUrl, title, coverImage
Metadata and engagementdescription, publishedAt, duration, viewCount, likeCount, commentCount
Channel profilechannelName, channelUrl, subscriberCount, channelDescription
Channel linkschannelLinks for structured links; channelLinksText for spreadsheets
Captionstranscript, transcriptLanguage, transcriptStatus, transcriptMessage
Result quality and pricingscrapingStatus, collectionMode, detailsStatus, proxyUsed, sourceProxyUsed

Fields that YouTube does not expose remain null. Basic mode intentionally leaves full-detail and transcript fields empty. A missing comment count, social link, or caption does not mean the video row failed. proxyUsed identifies proxy-priced rows; proxyRequestCount counts per-video attempts and excludes shared source collection requests.

A shortened illustrative result:

{
"id": "qRr0lmYvp5g",
"videoUrl": "https://www.youtube.com/watch?v=qRr0lmYvp5g",
"title": "Example video title",
"collectionMode": "full",
"scrapingStatus": "success",
"transcript": "Caption text supplied by YouTube...",
"transcriptStatus": "available",
"transcriptMessage": "Transcript available.",
"proxyUsed": true
}

Missing transcripts and incomplete results

Start with transcriptMessage for a plain-language explanation. Common cases:

Status or reasonMeaning / next step
not_requestedBasic mode was selected. Choose Video details + transcripts if captions matter.
no_caption_tracksThe checked YouTube responses exposed no tracks. This does not prove the video has no captions.
caption_fetch_failedTracks were found, but their text could not be downloaded.
retry_limitCustom Standard mode reached its retry cap. Select Video details + transcripts for recovery on every eligible video.
video_limit / proxy_limitRecovery reached a work or proxy limit. Existing data is retained.
spending_limitThe remaining charge allowance could not cover proxy recovery.
no_recovery_yieldRepeated attempts returned no captions, so further recovery stopped.

Recovery is bounded to control cost and runtime: per-video work has a 45-second active budget, 60 requests, and 12 proxy requests, plus shared proxy allowances. Temporary direct source connection failures receive one retry. These safeguards can leave some captions unavailable.

Open Run summary and source diagnostics in the run's Output, or read the key-value store record OUTPUT, for caption coverage, source errors grouped by code (sourceErrorCounts), retry counters, saved/billed counts, and failure details. Good sources continue when another source fails. Valid empty channels finish normally; genuine failures to collect or extract any usable video remain visible as failed runs.

Advanced settings and compatibility

Most users can leave both Advanced sections closed. Language/country hints and parallelism settings are optional; leave concurrency at its default unless troubleshooting.

The Basic and Video details + transcripts presets override conflicting custom extraction fields. Choose Use advanced settings to control needVideoDetails, proxyMode, transcriptMode, or custom proxy configuration yourself.

Existing saved tasks and API inputs without scrapeMode keep their earlier behavior. Select "scrapeMode": "transcripts" explicitly to use the improved recovery. Custom Standard mode has an automatic recovery cap of up to 80 videos on larger runs; the transcript preset attempts every eligible missing caption within the safeguards above.

Help and integrations

Use the Actor with scheduled Apify tasks, the API, Make, Zapier, or your own data pipeline. Typical uses include competitor monitoring, creator discovery, video catalogs, and caption-based search or summarization.

If results are unexpected, open an issue and include a shared run link, the selected mode, one affected channel/video, and what you expected. The run log and OUTPUT diagnostics help distinguish invalid input, unavailable content, YouTube blocking, and work limits.

Only collect data you are authorized to access and use it in accordance with applicable terms and laws.