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.

YouTube Scraper - Videos, Channels & Search (No API Key)

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: commentCount is null. 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 includeTranscript to also fetch clean caption text per video (with a fresh residential IP per request to avoid rate limits). Uses youtube-transcript-api 1.x.
  • Channels — reliable: channelName, channelId, description, subscriberCount, isVerified. videoCount is approximate for large channels (YouTube shows it abbreviated, e.g. "1K videos").
  • Channels — may be null in v1: total channel viewCount, country, and external links live 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.

Related scrapers