
Youtube Scraper Pro
Pricing
Pay per event

Youtube Scraper Pro
Full‑fidelity YouTube data extractor for videos, Shorts, live streams, and channels. Built on Apify + Puppeteer for reliable, scalable web scraping that returns complete metadata, engagement stats, caption tracks for transcripts, hashtags/keywords, description links, and channel insights — fast.
0.0 (0)
Pricing
Pay per event
0
2
2
Last modified
4 days ago
YouTube Scraper Pro (Apify Actor)
Full‑fidelity YouTube data extractor for videos, Shorts, live streams, and channels. Built on Apify + Puppeteer for reliable, scalable web scraping that returns complete metadata, engagement stats, caption tracks for transcripts, hashtags/keywords, description links, and channel insights — fast.
At a Glance
- Scrape by keywords, channel handles (e.g.
@mkbhd
), channel IDs, playlists, or direct video URLs - Returns: title, description, duration, publish date, views, likes, comments count, category, features (HD/4K/HDR), hashtags, keywords, description links, caption tracks (for transcripts), and rich channel data
- Optimized: blocks heavy resources, smart throttling, 3× parallel page visits → ~3–5s/video throughput
- Localization & Proxies: region + language options, optional residential proxy with exit country targeting
Best for: content research, SEO, competitive intelligence, trend analysis, brand monitoring, influencer discovery, and data‑driven content strategy.
⚠️ Important: Residential Proxy Requirement
For complete data extraction with all 30+ fields populated, enabling residential proxy is strongly recommended.
Setting | Result |
---|---|
✅ Residential Proxy ENABLED | All fields populated: category , captions , keywords , isMonetized , etc. |
⚠️ Residential Proxy DISABLED | Some fields may return null due to YouTube's bot detection |
Why? YouTube actively detects and limits datacenter IPs, restricting access to complete metadata. Residential proxies appear as regular users, ensuring full data access.
Trade-off: Residential proxy incurs per-GB charges but guarantees reliable, complete extraction for production use.
Why this scraper?
- Complete fields: visits each video page to populate all available metadata (not just search snippets)
- Stable & fast: resource blocking + robust retries keep large jobs moving
- Consistent schema: predictable JSON keys designed for analytics pipelines
- Enterprise‑ready: optional residential proxies, localization, rate limiting, and error handling
Key Features
- Multiple Input Methods: keywords, channel handles/IDs, playlists, direct URLs, bulk URL upload via text file or remote file link
- Content Coverage: standard videos, Shorts, live/live‑replay
- Date Filtering: filter search results by publish date range (applies to search keywords only)
- Comprehensive Metadata: title, description, duration, publish date, views, likes, comment count, category
- Rich Media & SEO Signals: hashtags, keywords/tags, description outbound links
- Captions for Transcripts: returns caption track URLs for use with external tools (yt-dlp, youtube-transcript-api, n8n, Zapier, Make) to fetch full transcripts
- Channel Intelligence: id, name, handle, URL, subscribers, (optionally) totals and profile data
- Performance: 3 concurrent page visits; resource/ads/fonts/video blocking for speed
- Localization:
regionCode
+language
- Proxy Support:
useResidentialProxy
+proxyCountryCode
for geo‑targeting
Quick Start (Apify)
- Create an Actor task and paste one of the JSON inputs below
- Toggle Use residential proxy if you need regional results (extra cost)
- Run. Export JSON/CSV/Excel to your datastore, Google Sheets, or S3
Input Schema
The input form is organized into collapsible sections for better usability:
- Search Settings: Configure search behavior, localization, and result limits
- Direct URLs: Scrape specific YouTube URLs directly
- Proxy Settings: Configure proxy usage for enhanced privacy
Input Parameters
# | Field | Key | Type | Required | Default | Description |
---|---|---|---|---|---|---|
1 | Search Keywords | searchQueries | Array | No | [] | Search for keywords, video topics, or channels. Accepts channel handles (@name ) or channel IDs (UC... ) |
2 | Include Shorts | includeShorts | boolean | No | false | If true, include Shorts in search/results |
3 | Max videos per search term | maxResultsPerQuery | integer | No | 10 | Applies per search keyword and per list source. Min 1 |
4 | Country | regionCode | string | No | "US" | ISO-3166-1 alpha-2 code. Options: US, GB, CA, AU, IN, DE, FR, JP, BR, MX |
5 | Language | language | string | No | "en" | IETF BCP-47 code. Options: en, es, de, fr, pt, ja, hi, zh |
6 | From Date | dateFrom | string | No | "" | Filter videos published after this date (YYYY-MM-DD). Only applies to Search Keywords |
7 | To Date | dateTo | string | No | "" | Filter videos published before this date (YYYY-MM-DD). Only applies to Search Keywords |
8 | YouTube URLs | startUrls | Array<Object|string> | No | [] | Accepts video/shorts/channel/playlist/search URLs. Supports manual entry, text file upload, or remote file link for bulk processing |
9 | Use Residential Proxy | useResidentialProxy | boolean | No | false | Routes traffic via residential proxy pool. ⚠️ Charges apply per GB |
10 | Proxy Country Code | proxyCountryCode | string | No | "" | ISO-3166-1 alpha-2 code for proxy exit location |
Important Notes:
- Date Filtering: Date filters (
dateFrom
anddateTo
) only apply to Search Keywords. Direct URLs are not filtered by date. - Bulk URL Upload: The YouTube URLs field supports uploading a text file (one URL per line) or linking to a remote text file for batch processing.
Tip: Start with smaller
maxResultsPerQuery
to validate your setup, then scale up.
Input Example - 01: Search with date filtering
{"searchQueries": ["AI tools", "machine learning", "@veritasium"],"maxResultsPerQuery": 20,"includeShorts": false,"dateFrom": "2025-01-01","dateTo": "2025-12-31","regionCode": "US","language": "en"}
Input Example - 02: Direct video URLs
{"searchQueries": [],"startUrls": [{"url": "https://www.youtube.com/watch?v=7Sx0o-41r2k"},{"url": "https://www.youtube.com/watch?v=5oAnKSCP4do"},{"url": "https://www.youtube.com/watch?v=QJBP2uy8LcU"},{"url": "https://www.youtube.com/watch?v=DOtJEwVsJic"}],"includeShorts": true,"maxResultsPerQuery": 10,"regionCode": "US","language": "en"}
Input Example - 03: Bulk URL upload from remote file
{"searchQueries": [],"startUrls": [{"requestsFromUrl": "https://raw.githubusercontent.com/coregentdevspace/youtube-scraper-assets/main/youtube-scraper-pro-direct-url-text-file.txt"}],"dateFrom": "2025-10-01","dateTo": "2025-10-31","includeShorts": true,"maxResultsPerQuery": 5,"useResidentialProxy": false,"regionCode": "US","language": "en","proxyCountryCode": ""}
Output Schema
Core Output Fields
# | Field | Type | Description |
---|---|---|---|
1 | type | String | One of video , shorts , live , stream |
2 | VideoId | String | YouTube video ID (e.g., 7Sx0o-41r2k ) |
3 | PageURL | String | Canonical YouTube watch URL |
4 | title | String | Video title |
5 | thumbnailUrl | String | null | Primary/hero thumbnail URL |
6 | publishDate | String (ISO) | null | When the video was published |
7 | duration | String | null | HH:MM:SS format (e.g., 00:22:43 ) |
8 | durationSeconds | Integer | null | Duration in seconds |
9 | viewCount | Integer | null | Total views |
10 | likeCount | Integer | null | Total likes |
11 | dislikeCount | Integer | null | Total dislikes (usually unavailable) |
12 | commentCount | Integer | null | Public comments count |
13 | category | String | null | Video category |
14 | location | String | null | Video location if provided |
Video Properties
# | Field | Type | Description |
---|---|---|---|
15 | isLive | Boolean | Whether the item is/was a live stream |
16 | isMembersOnly | Boolean | Members-only gated flag |
17 | isPrivate | Boolean | Private/unavailable to public |
18 | isFamilySafe | Boolean | null | Family-safe flag if exposed |
19 | isMonetized | Boolean | null | Monetization detectable flag |
20 | isRatingsAllowed | Boolean | null | Whether likes/dislikes are enabled |
21 | commentsTurnedOff | Boolean | null | Whether comments are disabled |
22 | commentsAllowed | Boolean | null | Convenience mirror |
Content & Metadata
# | Field | Type | Description |
---|---|---|---|
23 | description | String | null | Creator-written description |
24 | descriptionLinks | Array | Links parsed from description |
25 | keywords | Array | Tags/keywords |
26 | hashtags | Array | Hashtags from title/description |
27 | captions | Object | null | Caption tracks with URLs for fetching transcripts externally |
- | captions.captionTracks | Array | Array of available caption tracks with metadata and URLs |
- | captionTracks[].languageName | String | Human-readable language name (e.g., "English (auto-generated)") |
- | captionTracks[].languageCode | String | ISO language code (e.g., "en") |
- | captionTracks[].isTranslatable | Boolean | null | Whether track supports translation |
- | captionTracks[].isAutoGenerated | Boolean | Whether captions are auto-generated (ASR) |
- | captionTracks[].url | String | YouTube timedtext API URL - use with external tools (yt-dlp, youtube-transcript-api) to fetch subtitle content |
Note on Caption URLs: The scraper provides caption track URLs that can be used with external tools like yt-dlp
, youtube-transcript-api
, or workflow automation platforms (n8n, Zapier, Make) to fetch the actual subtitle/transcript content. This approach ensures maximum compatibility and reliability.
Media Features
# | Field | Type | Description |
---|---|---|---|
28 | features | Object | Media/caption feature flags |
- | features.isHD | Boolean | null | HD available |
- | features.is4K | Boolean | null | 4K available |
- | features.isHDR | Boolean | null | HDR available |
- | features.isVR180 | Boolean | null | VR180 available |
- | features.is360 | Boolean | null | 360° available |
- | features.hasSubtitles | Boolean | null | Any subtitles track exists |
- | features.hasCC | Boolean | null | Closed captions flag |
Channel Information
# | Field | Type | Description |
---|---|---|---|
29 | channel | Object | Channel metadata |
- | channel.id | String | null | Channel ID |
- | channel.name | String | null | Display name |
- | channel.handle | String | null | @handle |
- | channel.url | String | null | Channel URL |
- | channel.subscriberCount | Integer | String | null | Subscriber count |
- | channel.totalViews | Integer | String | null | Lifetime channel views |
- | channel.totalVideos | Integer | null | Number of uploads |
- | channel.country | String | null | Channel country/region |
- | channel.profileImage | String | null | Avatar URL |
- | channel.description | String | null | About text |
- | channel.links | Object<String,String> | Social/website links map |
Provenance
# | Field | Type | Description |
---|---|---|---|
30 | provenance | Object | Source/ordering metadata |
- | provenance.order | Integer | null | Position in results |
- | provenance.source | String | null | search | channel | playlist | trending | startUrl |
- | provenance.collectedAt | String (ISO) | Timestamp when collected |
Sample Output
Output Example - Overview Fields (Key fields only)
[{"type": "live","PageURL": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)","viewCount": 1701132227,"likeCount": 18577732,"duration": "00:03:33","publishDate": "2009-10-24","channel": {"id": "UCuAXFkgsw1L7xaCfnd5JJOw","name": "Rick Astley","handle": null,"url": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw","username": null,"subscriberCount": "4.41M subscribers","totalViews": null,"totalVideos": null,"country": null,"profileImage": null,"description": null,"createdAt": null,"links": {}}}]
Output Example - Complete Record (All 30+ fields)
[{"type": "live","VideoId": "dQw4w9WgXcQ","PageURL": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)","thumbnailUrl": "https://i.ytimg.com/vi_webp/dQw4w9WgXcQ/maxresdefault.webp","publishDate": "2009-10-24","duration": "00:03:33","durationSeconds": 213,"viewCount": 1701132227,"likeCount": 18577732,"dislikeCount": null,"commentCount": 2405226,"category": "Music","location": null,"isLive": true,"isMembersOnly": false,"isPrivate": false,"isFamilySafe": true,"isMonetized": true,"isRatingsAllowed": true,"commentsAllowed": true,"description": "The official video for "Never Gonna Give You Up" by Rick Astley. \n\nNever: The Autobiography 📚 OUT NOW! \nFollow this link to get your copy and listen to Rick's 'Never' playlist ❤️ #RickAstleyNever\nhttps://linktr.ee/rickastleynever\n\n"Never Gonna Give You Up" was a global smash on its release in July 1987, topping the charts in 25 countries including Rick's native UK and the US Billboard Hot 100. It also won the Brit Award for Best single in 1988. Stock Aitken and Waterman wrote and produced the track which was the lead-off single and lead track from Rick's debut LP "Whenever You Need Somebody". The album was itself a UK number one and would go on to sell over 15 million copies worldwide.\n\nThe legendary video was directed by Simon West – who later went on to make Hollywood blockbusters such as Con Air, Lara Croft – Tomb Raider and The Expendables 2. The video passed the 1bn YouTube views milestone on 28 July 2021.\n\nSubscribe to the official Rick Astley YouTube channel: https://RickAstley.lnk.to/YTSubID\n\nFollow Rick Astley:\nFacebook: https://RickAstley.lnk.to/FBFollowID \nTwitter: https://RickAstley.lnk.to/TwitterID \nInstagram: https://RickAstley.lnk.to/InstagramID \nWebsite: https://RickAstley.lnk.to/storeID \nTikTok: https://RickAstley.lnk.to/TikTokID\n\nListen to Rick Astley:\nSpotify: https://RickAstley.lnk.to/SpotifyID \nApple Music: https://RickAstley.lnk.to/AppleMusicID \nAmazon Music: https://RickAstley.lnk.to/AmazonMusicID \nDeezer: https://RickAstley.lnk.to/DeezerID \n\nLyrics:\nWe're no strangers to love\nYou know the rules and so do I\nA full commitment's what I'm thinking of\nYou wouldn't get this from any other guy\n\nI just wanna tell you how I'm feeling\nGotta make you understand\n\nNever gonna give you up\nNever gonna let you down\nNever gonna run around and desert you\nNever gonna make you cry\nNever gonna say goodbye\nNever gonna tell a lie and hurt you\n\nWe've known each other for so long\nYour heart's been aching but you're too shy to say it\nInside we both know what's been going on\nWe know the game and we're gonna play it\n\nAnd if you ask me how I'm feeling\nDon't tell me you're too blind to see\n\nNever gonna give you up\nNever gonna let you down\nNever gonna run around and desert you\nNever gonna make you cry\nNever gonna say goodbye\nNever gonna tell a lie and hurt you\n\n#RickAstley #NeverGonnaGiveYouUp #WheneverYouNeedSomebody #OfficialMusicVideo","descriptionLinks": [{"url": "https://linktr.ee/rickastleynever","text": "https://linktr.ee/rickastleynever"},{"url": "https://RickAstley.lnk.to/YTSubID","text": "https://RickAstley.lnk.to/YTSubID"},{"url": "https://RickAstley.lnk.to/FBFollowID","text": "https://RickAstley.lnk.to/FBFollowID"},{"url": "https://RickAstley.lnk.to/TwitterID","text": "https://RickAstley.lnk.to/TwitterID"},{"url": "https://RickAstley.lnk.to/InstagramID","text": "https://RickAstley.lnk.to/InstagramID"},{"url": "https://RickAstley.lnk.to/storeID","text": "https://RickAstley.lnk.to/storeID"},{"url": "https://RickAstley.lnk.to/TikTokID","text": "https://RickAstley.lnk.to/TikTokID"},{"url": "https://RickAstley.lnk.to/SpotifyID","text": "https://RickAstley.lnk.to/SpotifyID"},{"url": "https://RickAstley.lnk.to/AppleMusicID","text": "https://RickAstley.lnk.to/AppleMusicID"},{"url": "https://RickAstley.lnk.to/AmazonMusicID","text": "https://RickAstley.lnk.to/AmazonMusicID"},{"url": "https://RickAstley.lnk.to/DeezerID","text": "https://RickAstley.lnk.to/DeezerID"}],"keywords": ["rick astley","Never Gonna Give You Up","nggyu","never gonna give you up lyrics","rick rolled","Rick Roll","rick astley official","rickrolled","Fortnite song","Fortnite event","Fortnite dance","fortnite never gonna give you up","rick roll","rickrolling","rick rolling","never gonna give you up","80s music","rick astley new","animated video","rickroll","meme songs","never gonna give u up lyrics","Rick Astley 2022","never gonna let you down","animated","rick rolls 2022","never gonna give you up karaoke"],"hashtags": ["RickAstleyNever","RickAstley","NeverGonnaGiveYouUp","WheneverYouNeedSomebody","OfficialMusicVideo"],"captions": {"captionTracks": [{"languageName": "English","languageCode": "en","isTranslatable": true,"isAutoGenerated": false,"url": "https://www.youtube.com/api/timedtext?v=dQw4w9WgXcQ&ei=z27naN21H4WKkucP5I20uQw&caps=asr&opi=112496729&exp=xpe&xoaf=5&xowf=1&hl=en&ip=0.0.0.0&ipbits=0&expire=1760022847&sparams=ip,ipbits,expire,v,ei,caps,opi,exp,xoaf&signature=4B5A441AE554DF32A2E7E100AF29A4ADA9A0F394.D53028F096B4E39C83F2BF2A81F8F3C47B8CA87C&key=yt8&lang=en"},{"languageName": "English (auto-generated)","languageCode": "en","isTranslatable": true,"isAutoGenerated": true,"url": "https://www.youtube.com/api/timedtext?v=dQw4w9WgXcQ&ei=z27naN21H4WKkucP5I20uQw&caps=asr&opi=112496729&exp=xpe&xoaf=5&xowf=1&hl=en&ip=0.0.0.0&ipbits=0&expire=1760022847&sparams=ip,ipbits,expire,v,ei,caps,opi,exp,xoaf&signature=4B5A441AE554DF32A2E7E100AF29A4ADA9A0F394.D53028F096B4E39C83F2BF2A81F8F3C47B8CA87C&key=yt8&kind=asr&lang=en"},{"languageName": "German (Germany)","languageCode": "de-DE","isTranslatable": true,"isAutoGenerated": false,"url": "https://www.youtube.com/api/timedtext?v=dQw4w9WgXcQ&ei=z27naN21H4WKkucP5I20uQw&caps=asr&opi=112496729&exp=xpe&xoaf=5&xowf=1&hl=en&ip=0.0.0.0&ipbits=0&expire=1760022847&sparams=ip,ipbits,expire,v,ei,caps,opi,exp,xoaf&signature=4B5A441AE554DF32A2E7E100AF29A4ADA9A0F394.D53028F096B4E39C83F2BF2A81F8F3C47B8CA87C&key=yt8&lang=de-DE"},{"languageName": "Japanese","languageCode": "ja","isTranslatable": true,"isAutoGenerated": false,"url": "https://www.youtube.com/api/timedtext?v=dQw4w9WgXcQ&ei=z27naN21H4WKkucP5I20uQw&caps=asr&opi=112496729&exp=xpe&xoaf=5&xowf=1&hl=en&ip=0.0.0.0&ipbits=0&expire=1760022847&sparams=ip,ipbits,expire,v,ei,caps,opi,exp,xoaf&signature=4B5A441AE554DF32A2E7E100AF29A4ADA9A0F394.D53028F096B4E39C83F2BF2A81F8F3C47B8CA87C&key=yt8&lang=ja"},{"languageName": "Portuguese (Brazil)","languageCode": "pt-BR","isTranslatable": true,"isAutoGenerated": false,"url": "https://www.youtube.com/api/timedtext?v=dQw4w9WgXcQ&ei=z27naN21H4WKkucP5I20uQw&caps=asr&opi=112496729&exp=xpe&xoaf=5&xowf=1&hl=en&ip=0.0.0.0&ipbits=0&expire=1760022847&sparams=ip,ipbits,expire,v,ei,caps,opi,exp,xoaf&signature=4B5A441AE554DF32A2E7E100AF29A4ADA9A0F394.D53028F096B4E39C83F2BF2A81F8F3C47B8CA87C&key=yt8&lang=pt-BR"},{"languageName": "Spanish (Latin America)","languageCode": "es-419","isTranslatable": true,"isAutoGenerated": false,"url": "https://www.youtube.com/api/timedtext?v=dQw4w9WgXcQ&ei=z27naN21H4WKkucP5I20uQw&caps=asr&opi=112496729&exp=xpe&xoaf=5&xowf=1&hl=en&ip=0.0.0.0&ipbits=0&expire=1760022847&sparams=ip,ipbits,expire,v,ei,caps,opi,exp,xoaf&signature=4B5A441AE554DF32A2E7E100AF29A4ADA9A0F394.D53028F096B4E39C83F2BF2A81F8F3C47B8CA87C&key=yt8&lang=es-419"}]},"features": {"isHD": null,"is4K": null,"isHDR": null,"isVR180": null,"is360": null,"hasSubtitles": true,"hasCC": true,"hasLocation": false,"isBought": null},"channel": {"id": "UCuAXFkgsw1L7xaCfnd5JJOw","name": "Rick Astley","handle": null,"url": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw","username": null,"subscriberCount": "4.41M subscribers","totalViews": null,"totalVideos": null,"country": null,"profileImage": null,"description": null,"createdAt": null,"links": {}},"provenance": {"collectedAt": "2025-10-09T08:14:31.290Z"}}]
Performance & Reliability
- Speed: ~3–5 seconds per video with all fields populated
- Parallelism: up to 3 concurrent video page visits
- Throughput: ~100 videos in 5–8 minutes on typical runs
- Stability: smart retries, exponential backoff, resource blocking (video streams, ads, fonts)
For large jobs, prefer batching by topic/channel and consider residential proxies for geo‑specific data.
Popular Use Cases
- SEO research: surface keywords, tags, hashtags, linking practices
- Content strategy: analyze formats, titles, thumbnails, and posting cadence
- Competitive intelligence: benchmark creators and track launches
- Market/academic research: study trends by niche, region, or language
- Brand monitoring: find mentions and categorize sentiment downstream
- Influencer discovery: filter by views/engagement within your topics
FAQ
Why are some fields returning null
without residential proxy?
YouTube actively detects and blocks datacenter IPs (Apify's default proxy), restricting access to complete metadata. Fields like category
, captions
, keywords
, and isMonetized
require residential proxy for reliable extraction. Enable useResidentialProxy: true
for guaranteed complete data.
Does this fetch transcripts? No, but it provides caption track URLs that you can use with external tools like yt-dlp, youtube-transcript-api, or workflow automation platforms (n8n, Zapier, Make) to fetch full transcripts. This approach ensures maximum compatibility and reliability.
Can I target a country or language?
Yes — set regionCode
and language
. For stronger geo‑targeting, enable useResidentialProxy
and optionally set proxyCountryCode
.
What about Shorts and live videos?
includeShorts
controls Shorts. Live/live‑replay is auto‑detected via the type
and isLive
flags.
Can I filter by date?
Yes — use dateFrom
and dateTo
(YYYY-MM-DD format) to filter videos published within a date range. Note: Date filtering only applies to Search Keywords, not Direct URLs.
Are dislikes available?
No (YouTube no longer exposes them publicly). The field is returned as null
.
Any limits or restrictions?
Avoid abusive rates. Some content is age‑restricted or members‑only. When in doubt, use proxies and scale gradually.
Best Practices
- Start small: validate with
maxResultsPerQuery: 5–10
- Filter early: set
includeShorts: false
if not needed; usedateFrom
/dateTo
to narrow search results by publish date - Bulk processing: use text file upload or remote file link for large URL lists
- Batch thoughtfully: group by topic/channel to improve cache locality
- Mind quotas: increase concurrency slowly; add proxies only when required
- Schema‑first: build downstream models against the stable keys listed above
- Transcripts: use external tools (yt-dlp, youtube-transcript-api) with provided caption URLs for reliable transcript extraction
Development
- Runtime: Node.js 18+, Puppeteer (headless Chrome, stealth)
- Project layout: Actor code isolated for lean deployments; docs and assets live outside runtime bundle
- Deploy:
apify push
from theactor/
folder
# local devcd actornpm installnpm start # uses INPUT.json# deploy to Apifyapify push
Compliance
- Intended for legitimate research & business intelligence
- Collects only public information
- Respect YouTube Terms of Service & applicable laws in your jurisdiction
Changelog
- v2.5: Added date range filtering for search queries (
dateFrom
/dateTo
), bulk URL upload support via text file or remote file link, enhanced caption track documentation with external tool integration guidance (yt-dlp, youtube-transcript-api, n8n, Zapier, Make) - v2.0: Performance tuning, caption tracks in output, richer channel fields, improved localization & proxy options
Get Help
- Issues & feature requests → GitHub / Apify support
- Need something custom? Open an issue describing your dataset needs