YouTube Scraper Pro โ Channels, Videos & Transcripts
Pricing
from $0.18 / 1,000 ๐ค channel profile scrapeds
YouTube Scraper Pro โ Channels, Videos & Transcripts
Find YouTube channels by keyword with subscribers, total views, country, join date and public contact links, or scrape videos, Shorts, live streams, podcasts, courses, playlists and hashtags with full metadata and optional transcripts in text, SRT or WebVTT.
Pricing
from $0.18 / 1,000 ๐ค channel profile scrapeds
Rating
5.0
(8)
Developer
FlowExtract API
Maintained by CommunityActor stats
23
Bookmarked
161
Total users
0
Monthly active users
11 hours ago
Last modified
Share
๐บ YouTube Scraper Pro โ channels, videos, Shorts & transcripts
Scrape YouTube two ways in one Actor: find channels by keyword with audience metrics and public contact links, or pull videos from any channel, playlist, Short, live stream, podcast, course or hashtag with full metadata and optional transcripts.
No YouTube API key, no quota, no sign-in. Export to JSON, CSV, Excel, XML or HTML, or pull the results straight from the Apify API.
๐ What you can do
- Build a YouTube creator list โ search a niche and get every channel behind the results, with subscribers, total views, country and links.
- Influencer and lead research โ channel rows carry a business-email flag, any e-mail written in the description, and social profiles split by platform (Instagram, X, TikTok, Facebook, LinkedIn, Patreon, Linktreeโฆ).
- Competitor and market research โ compare audience size, upload volume, join date and country across a whole niche.
- Content and SEO analysis โ scrape a channel's videos with views, duration, keywords, hashtags and description.
- Transcripts for AI/NLP โ add transcripts as plain text, SRT or WebVTT for summarising, translation or RAG pipelines.
- Shorts, live streams, podcasts and courses โ each channel tab is scrapeable on its own.
- Monitoring โ schedule a keyword or channel and watch new videos or new channels appear.
๐ฆ Two kinds of result
Every row carries a type field, so a mixed run is easy to split.
๐ค Channel row (type: "channel")
{"type": "channel","channel": {"id": "UCMb0O2CdPBNi-QqPk5T3gsQ","handle": "@jameshoffmann","title": "James Hoffmann","url": "https://www.youtube.com/@jameshoffmann","description": "Hi! My name is James, and I make videos about anything and everything to do with coffeeโฆ","isVerified": true,"isFamilySafe": true,"isUnlisted": false,"isNoindex": false},"metrics": {"subscribers": 2560000,"subscriberText": "2.56M subscribers","subscriberCountIsExact": false,"videos": 409,"videoText": "409 videos","totalViews": 394118287,"totalViewText": "394,118,287 views"},"profile": {"country": "United Kingdom","joinedDate": "2014-12-08","joinedText": "Joined Dec 8, 2014","keywords": ["coffee", "james hoffmann", "jimseven"],"rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UCMb0O2CdPBNi-QqPk5T3gsQ","tabs": [{ "title": "Videos", "url": "https://www.youtube.com/@jameshoffmann/videos" }],"availableCountryCodes": ["US", "GB", "โฆ"]},"contacts": {"hasBusinessEmail": true,"emails": [],"socialLinks": { "instagram": "https://www.instagram.com/jimseven", "twitter": "https://twitter.com/jimseven" },"links": [{ "title": "Linktree", "url": "http://linktree.com/jimseven", "platform": "linktree" }],"externalLinks": ["http://linktree.com/jimseven", "https://www.jameshoffmann.co.uk/contact-me"]},"images": {"avatarUrl": "https://yt3.googleusercontent.com/โฆ=s160-c-k-c0x00ffffff-no-rj","bannerUrl": null,"avatarImages": [{ "url": "โฆ", "width": 160, "height": 160 }]},"discoverySource": {"sourceKind": "keyword","value": "coffee roasting","discoverySurface": "video_results","rank": 1,"sourceUrl": "https://www.youtube.com/results?search_query=coffee+roasting&hl=en&gl=US"},"sourceVideo": {"videoId": "N6BJVM5tvnw","title": "Coffee Roasting Explained","url": "https://www.youtube.com/watch?v=N6BJVM5tvnw","publishedText": "3 years ago","viewText": "2,108,385 views","viewCount": 2108385}}
discoverySource records how the channel was found and at which rank; sourceVideo is the video that led to it, or null when the channel came from channel results or from a URL you supplied. Each channel is saved once per run, on its first match.
๐ฌ Video row (type: "video")
{"type": "video","videoId": "Iy8m7AbZVm0","VideoURL": "https://www.youtube.com/watch?v=Iy8m7AbZVm0","category": "Videos","Video_title": "Taste Coffee With Me For The Last Time","Channel_Id": "UCMb0O2CdPBNi-QqPk5T3gsQ","Channel_Name": "James Hoffmann","Description": "Buy A Tasting Kit: โฆ","Views": "468911 views","viewCount": 468911,"Runtime": "4:39","durationSeconds": 279,"published_Date": "2026-09-04T07:54:44-07:00","thumbnail": "https://i.ytimg.com/vi_webp/Iy8m7AbZVm0/maxresdefault.webp","isLive": false,"keywords": ["james hoffmann", "coffee"],"hashtags": ["#coffee"],"mentions": [],"youtubeCategory": "Entertainment","hasTranscript": true,"transcript": {"formattedContent": "1\n00:00:01,000 --> 00:00:03,000\nyou know that feeling whenever you walkโฆ","format": "srt","language": "en","isAutoGenerated": false,"segmentCount": 172,"timestamps": [{ "time": "0:01", "text": "you know that feeling whenever you walk" }]}}
โถ๏ธ How to run it
- Search by keyword โ put your topics in Keywords to search on YouTube and pick what to save: channel profiles, videos, or videos plus their channels.
- Or scrape by URL โ paste channels,
@handles, videos, Shorts, playlists,#hashtagsor saved YouTube search pages into YouTube URLs. - Choose channel tabs (Videos, Shorts, Live, Podcasts, Playlists, Courses) and the order to read them in.
- Set the limits โ a cap per input and a cap for the whole run.
- Optionally add transcripts in plain text, SRT or WebVTT.
- Run it and open the Channels or Videos tab of the dataset.
โ๏ธ Input
| Field | Type | What it does |
|---|---|---|
searchKeywords | string array | Topics to search on YouTube, one per line (up to 500). |
resultsType | string | What a keyword returns: channels, videos, or both (a video row plus its channel's profile). |
channelsFrom | string | Where channels are collected: both surfaces, videoResults, or channelSearch. |
startUrls | string array | Channels, @handles, videos, Shorts, playlists, #hashtags, or youtube.com/results search pages. Channel URLs may name a tab, e.g. /@handle/shorts. |
includeChannelProfile | boolean | Also save a profile row for every channel URL you supplied. |
channelTabs | string array | Which tabs to read for a plain channel URL. Default ["Videos"]. |
sortVideosBy | string | Latest, Popular or Oldest while reading a channel tab. |
maxResults | integer | Cap for each keyword, each URL and each channel tab. 0 skips videos (pair with includeChannelProfile for profiles only). Empty = keep paging. |
maxTotalResults | integer | Stop the whole run after this many rows. |
includeTranscript | boolean | Add transcripts to video rows. |
transcriptLanguage | string | 2-letter language code, e.g. en, es, ar. YouTube's translation is used when needed. |
transcriptFormat | string | text, srt or vtt. Timestamped segments are always included. |
onlyWithTranscript | boolean | Skip videos that have no transcript. |
Example input
{"searchKeywords": ["coffee roasting"],"resultsType": "channels","channelsFrom": "both","maxResults": 100}
๐ณ What you pay for
This Actor charges per result:
channel-scrapedโ one unique channel profile saved to your dataset.video-scrapedโ one video saved to your dataset.
Nothing is charged for results the filters skip, for pages that return nothing, or for a channel that was already saved earlier in the run. Set Max results for the whole run (or the run's max cost) to cap spend exactly.
Transcripts are produced by the separate YouTube Transcript & Metadata Extractor, which bills its own usage when includeTranscript is on.
๐ Good to know
- Channels are deduplicated per run โ the first match wins and keeps its discovery evidence.
- Playlists return up to 200 videos, which is YouTube's own limit for playlist pages. To go through a channel's full catalogue, scrape its Videos tab instead.
- Hashtags are read through YouTube search, because YouTube's own hashtag page stops after roughly a dozen videos.
- Some channels hide their subscriber count โ those rows carry
subscribers: nulland still include everything else. - Business e-mails are never exposed by YouTube without a sign-in, so
hasBusinessEmailtells you whether the channel has one;emailsholds addresses written in the description. - Transcripts don't exist for every video, and auto-generated ones can be imperfect. Use
onlyWithTranscriptwhen you need guaranteed text.
โ FAQ
Is scraping YouTube legal? This Actor reads only public pages, with no sign-in. Public data scraping is broadly lawful, but what you do with the data (personal data, copyright) is your responsibility. Ask a lawyer for your specific case.
Do I need a YouTube API key? No. There is no Google Cloud project, no API key and no daily quota.
Can I get every video of a channel? Yes โ give the channel URL, leave Max results per input empty, and the Videos tab is read page by page.
Can I search several keywords at once? Yes, up to 500 keywords per run, each with its own result cap.
Can I re-run a search I built on YouTube?
Yes. Copy the youtube.com/results?... URL โ its filters (upload date, duration, sorting) are kept.
How do I get subtitles as files?
Set Transcript format to SRT or WebVTT; transcript.formattedContent is a valid subtitle file you can save directly.
Does it work for non-English channels? Yes, any language. Transcripts can be requested in a specific language, translated by YouTube when available.
๐งฐ More YouTube Actors
Already signed in? These open straight in your Console, ready to run:
| Actor | What it does |
|---|---|
| ๐ YouTube Transcript & Metadata Extractor | Transcripts and metadata for videos, channels and playlists. |
| ๐ฌ YouTube Comments Scraper | Comments and replies, with likes and authors. |
| โก YouTube Shorts Trend Finder | Shorts by keyword, ranked by views with date filters. |
| ๐ฌ YouTube Playlist Extractor | Every video in a playlist. |
| ๐ YouTube Subtitle Translator | Translate subtitles into another language. |
| #๏ธโฃ YouTube Hashtag Extractor | Videos behind a hashtag โ free to use. |
๐ Feedback
Found a bug or need a field that isn't here? Open an issue on the Actor's page in Apify Console and it gets looked at quickly.
Support
๐ Website flowextractapi.com ยท ๐ง flowextractapi@outlook.com ยท ๐ฌ GitHub FlowExtractAPI ยท ๐ผ LinkedIn flowextract-api ยท ๐ฆ X @FlowExtractAPI ยท ๐ฑ Facebook flowextractapi ยท ๐ต TikTok @flowextractapi
Legal & compliance
Public data only ยท respects source rate limits and terms ยท no storage of personal information ยท suitable for commercial use ยท No affiliation with or endorsement by YouTube is implied.
YouTube Scraper Pro โ by FlowExtract API. Turn any website into structured data.