YouTube Scraper - Videos, Channels & Search (No API Key)
Pricing
from $4.00 / 1,000 results
YouTube Scraper - Videos, Channels & Search (No API Key)
Scrape YouTube videos, channels, playlists and search without the Data API or quotas. Get title, views, likes, comments, duration, date, description, keywords, channel info and thumbnails - plus optional LLM-ready transcripts. Export JSON/CSV for research, competitor analysis and RAG.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Get Anything
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract public YouTube data at scale without the YouTube Data API or its daily quotas. Give it video URLs, channels, playlists or search queries and get clean, structured metadata for every video — plus optional LLM-ready transcripts.
What it does
- Videos — title, description, view count, like count, comment count, duration, publish/upload date, category, keywords, hashtags, live/short flags, and full thumbnail set.
- Channels — a channel-level record with name, subscriber count, video count, total views, description and external links.
- Discovery — expand channels, playlists and search queries into their videos (capped by
maxVideosPerSource). - Transcripts (optional add-on) — clean caption text per video, with language preference and optional translation.
Inputs
| Field | Type | Notes |
|---|---|---|
videoUrls | array | Video URLs or 11-char IDs (watch, youtu.be, Shorts). |
channelUrls | array | @handle or /channel/UC... URLs. Pulls recent uploads. |
playlistUrls | array | playlist?list=... URLs. |
searchQueries | array | Scrapes the top matching videos per query. |
videoType | select | videos (default), shorts, or streams — which channel tab to expand. |
maxVideosPerSource | int | Cap per channel/playlist/search. Default 25. |
includeChannelInfo | bool | Emit a channel record per channel URL. Default true. |
includeTranscript | bool | Fetch transcript per video (add-on). Default false. |
languages / translateTo | array / string | Transcript language preference & optional translation. |
proxyConfiguration | proxy | Residential proxy strongly recommended — YouTube blocks datacenter IPs. |
Output
One dataset item per video (and one per channel when includeChannelInfo is on). Example video item:
{"videoId": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "…","channel": "…","channelId": "UC…","viewCount": 1600000000,"likeCount": 18000000,"commentCount": 2100000,"durationSeconds": 213,"publishDate": "2009-10-25","category": "Music","keywords": ["…"],"hashtags": ["…"],"isShort": false,"isLive": false,"thumbnail": "https://i.ytimg.com/…"}
Use cases
- Competitor and channel analysis (upload cadence, engagement, catalog size)
- Trend and topic discovery via search
- Influencer/creator vetting
- Feeding video metadata + transcripts into RAG / LLM pipelines
Field availability & notes
Verified live (Sept 2026):
- Videos — reliable: title, description, channel, channelId/URL, viewCount, likeCount, durationSeconds, publishDate, uploadDate, category, keywords, hashtags, isLive, isShort, isFamilySafe, thumbnails.
- Videos — not in v1:
commentCountisnull. YouTube loads comment counts lazily via a separate request, so it isn't available from the initial page. (Matches how other scrapers treat comments as a separate paid step.) - Transcripts — optional add-on (off by default): enable
includeTranscriptto also fetch clean caption text per video (with a fresh residential IP per request to avoid rate limits). Usesyoutube-transcript-api1.x. - Channels — reliable: channelName, channelId, description, subscriberCount, isVerified.
videoCountis approximate for large channels (YouTube shows it abbreviated, e.g. "1K videos"). - Channels — may be null in v1: total channel
viewCount,country, and externallinkslive on the lazily-loaded About panel and aren't in the static HTML. - Engagement/structure fields are best-effort; YouTube changes its page layout often.
- Use a residential proxy for reliable results at any volume — YouTube blocks datacenter IPs.
Monetization (set in Apify Console → Publication → Monetization)
The code already emits pay-per-event charges. Define these events to enable them:
| Event name | When it fires | Suggested price (free tier) |
|---|---|---|
video-scraped | Each video successfully scraped | ~$0.004 |
channel-scraped | Each channel-info record | ~$0.004 |
transcript-scraped | Each video transcript (add-on) | ~$0.005 |
Benchmarks: streamers/youtube-scraper charges ~$0.004/video; transcripts elsewhere run $0.048/min.