YouTube Channel Scraper
Pricing
from $0.45 / 1,000 direct video results
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
Maintained by CommunityActor stats
82
Bookmarked
3.1K
Total users
50
Monthly active users
7 days ago
Last modified
Categories
Features
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
- Enter a channel handle such as
@adidas, a channel URL, or a video URL. - Set Videos per channel or search. Start with 2 to check the output.
- Choose What to collect using the table below.
- For search phrases, turn on Search by keyword. Set a maximum run charge, then start the Actor.
| What to collect | Best for | What you receive |
|---|---|---|
| Basic video data | Video lists, monitoring, and discovery | Title, URL, thumbnail, channel, and metrics available in the listing. No transcripts or proxy requests. |
| Video details + transcripts | Content research, summarization, and analysis | Video metadata, channel profiles and links, and available caption text. Automatically retries missing details or captions through proxy when needed. |
| Use advanced settings | Existing integrations and custom extraction | Manual 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 result | Free plan: per 1,000 | Paid 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.
| Data | Useful fields |
|---|---|
| Video identity | id, videoUrl, title, coverImage |
| Metadata and engagement | description, publishedAt, duration, viewCount, likeCount, commentCount |
| Channel profile | channelName, channelUrl, subscriberCount, channelDescription |
| Channel links | channelLinks for structured links; channelLinksText for spreadsheets |
| Captions | transcript, transcriptLanguage, transcriptStatus, transcriptMessage |
| Result quality and pricing | scrapingStatus, 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 reason | Meaning / next step |
|---|---|
not_requested | Basic mode was selected. Choose Video details + transcripts if captions matter. |
no_caption_tracks | The checked YouTube responses exposed no tracks. This does not prove the video has no captions. |
caption_fetch_failed | Tracks were found, but their text could not be downloaded. |
retry_limit | Custom Standard mode reached its retry cap. Select Video details + transcripts for recovery on every eligible video. |
video_limit / proxy_limit | Recovery reached a work or proxy limit. Existing data is retained. |
spending_limit | The remaining charge allowance could not cover proxy recovery. |
no_recovery_yield | Repeated 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.