YouTube Scraper (Free, No API Key) avatar

YouTube Scraper (Free, No API Key)

Under maintenance

Pricing

Pay per usage

Go to Apify Store
YouTube Scraper (Free, No API Key)

YouTube Scraper (Free, No API Key)

Under maintenance

Free YouTube scraper. Two modes: 'channel' lists every video on a channel handle/URL. 'video' fetches full metadata (views, likes, tags, thumbnails) for specific videos + optional comments. No API key. No quotas. No login.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

casper smartwater

casper smartwater

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

6 days ago

Last modified

Share

YouTube Channel + Video Scraper — Free, No API Key

Turn any YouTube channel or video URL into clean structured data. Channel video lists, full video metadata (views, likes, tags, duration, thumbnails), and optional comments — all free, no Google API key, no quotas, no login.

Powered by yt-dlp, the gold-standard YouTube extraction library used by millions. This Actor wraps it in a tidy input/output interface and runs it on Apify's infrastructure.

✨ Why this Actor

  • Free — most YouTube scrapers on the Apify Store charge $20-50/mo. This one is $0.
  • No Google API key — the official YouTube Data API has a 10,000-unit/day quota and requires OAuth. This Actor bypasses both.
  • No login — works on public videos and channels.
  • Battle-tested — yt-dlp handles every YouTube edge case (signature decryption, age gates, region restrictions, livestreams, shorts).

🚀 Quick start

Get every video on MKBHD's channel:

{
"source": "channel",
"channel": "@mkbhd",
"maxVideos": 100
}

Get full metadata + comments for a specific video:

{
"source": "video",
"videos": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
"maxComments": 200
}

Get videos from a channel ID:

{
"source": "channel",
"channel": "UCsXVk37bltHxD1rDPwtNM8Q",
"maxVideos": 50,
"enrichDetails": true
}

📦 Output schema

Channel mode (lightweight)

FieldTypeNotes
idstr11-char video ID
titlestrVideo title
urlstrFull youtube.com/watch?v=… URL
durationintSeconds
view_countintLifetime views (when available)
channel_idstrUC… ID
channelstrChannel display name

Video mode (full metadata)

Everything above plus:

FieldTypeNotes
descriptionstrFull video description
like_count, comment_countintEngagement counts
upload_datestrYYYY-MM-DD
categories, tagsarrayYouTube category + tags
thumbnailstrHighest-res thumbnail URL
languagestrAuto-detected language code
live_statusstrnot_live / was_live / is_live / is_upcoming
channel_follower_countintSubscriber count at scrape time
commentsarrayWhen maxComments > 0. Each: id, text, author, like_count, timestamp, parent

🎯 Use cases

  • Channel auditing — pull every video from a competitor, sort by views, see what works
  • Content trend tracking — sweep N channels daily, find rising topics
  • Comment sentiment analysis — feed comments into an LLM, score sentiment, detect themes
  • Build a video search engine — index titles + descriptions across niche channels
  • Auto-tweet new uploads — schedule daily, post the latest video
  • YouTube SEO research — see which tags + categories successful videos use
  • Sponsorship outreach — find channels in a niche, get subscriber counts + recent engagement

⚙️ Input parameters

ParameterTypeDefaultNotes
sourcestrchannelchannel or video
channelstrRequired for source=channel. @handle, full URL, or channel ID
videosarray[]Required for source=video. URLs or 11-char IDs
maxVideosint50Channel mode cap
enrichDetailsboolfalseChannel mode: fetch full per-video metadata (slower but richer)
maxCommentsint0Video mode: comments per video (0 = none)

🛠️ How it works

This Actor wraps yt-dlp, the most actively maintained YouTube extraction library. It hits YouTube's public web endpoints (the same ones the website uses), parses the JSON player config, and returns structured data.

No API key required because yt-dlp uses unauthenticated public endpoints. No login required because all returned data is from public videos.

⚠️ Tips & caveats

  • Channel mode is fast (~1 sec per 50 videos) because it uses YouTube's flat playlist endpoint. Set enrichDetails: true only when you need per-video stats — it adds ~1 sec per video.
  • Comments scraping is slow (~5-10 sec per 100 comments) and YouTube paginates aggressively. Stick to maxComments: 100-500 per video for reasonable runtimes.
  • Some channels block extraction — if you see Video unavailable, the channel owner has restricted scraping. Rare but happens.
  • Live streams return partial data while live; full metadata becomes available after the stream ends.

Building a media intelligence stack? Combine with:

💬 Support & feedback

Issues, feature requests, or want a custom YouTube-related scraper? Email caspersmartwater@gmail.com.

⭐ Star this Actor if it saves you time — Apify's algorithm uses run counts + stars to surface Actors.