YouTube Scraper
Pricing
from $0.50 / 1,000 youtube starters
YouTube Scraper
Scrapes YouTube videos by keyword search, channel, playlist, or direct video URLs using Playwright. Returns raw video metadata including title, views, likes, duration, comments, subtitles, and channel info.
Pricing
from $0.50 / 1,000 youtube starters
Rating
0.0
(0)
Developer

yourlocalhost
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Scrapes YouTube videos by keyword search, channel, playlist, or direct video URLs using Playwright. Returns raw video metadata including title, views, likes, duration, comments, subtitles, and channel info.
What it does
This Actor supports four scraping modes:
- Search — find videos by keywords with filters for upload date, content type, duration, and sort order
- Channel — scrape the latest videos from specific YouTube channels
- Playlist — extract all videos from YouTube playlists
- Video — scrape detailed data from specific video URLs, optionally including subtitles/captions and top comments
Each mode outputs structured video data to the Apify dataset, ready for analysis or integration.
Use cases
- Influencer discovery — find top channels and videos in any niche
- Video SEO research — analyse titles, descriptions, thumbnails, and engagement metrics
- Content gap analysis — compare your channel's performance against competitors
- Product review monitoring — track what reviewers are saying about your products on YouTube
- Transcript extraction — fetch video subtitles for content repurposing and analysis
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | No | "search" | Scraping mode: "search", "channel", "playlist", or "video" |
keywords | array | No | [] | Search keywords (search mode only) |
searchMaxResults | integer | No | 20 | Max results per keyword (1–200) |
searchUploadDate | string | No | — | Filter: "hour", "today", "week", "month", "year" |
searchType | string | No | — | Filter: "video", "channel", "playlist", "movie" |
searchDuration | string | No | — | Filter: "short" (< 4 min), "medium" (4–20 min), "long" (> 20 min) |
searchSortBy | string | No | — | Sort: "relevance", "date", "viewCount", "rating" |
channelUrls | array | No | [] | Channel URLs (channel mode only) |
channelMaxVideos | integer | No | 50 | Max videos per channel (0–500) |
playlistUrls | array | No | [] | Playlist URLs (playlist mode only) |
playlistMaxItems | integer | No | 200 | Max items per playlist (1–1000) |
videoUrls | array | No | [] | Video URLs (video mode only) |
fetchSubtitles | boolean | No | true | Fetch subtitles/captions (video mode) |
fetchComments | boolean | No | true | Fetch comments (video mode) |
maxComments | integer | No | 20 | Max comments per video (1–100) |
proxyConfiguration | object | No | No proxy | Proxy settings to avoid rate limiting |
Example input (search mode)
{"mode": "search","keywords": ["trending products", "viral gadgets 2025"],"searchMaxResults": 20,"searchUploadDate": "month","searchSortBy": "viewCount"}
Example input (channel mode)
{"mode": "channel","channelUrls": ["https://www.youtube.com/@MrBeast"],"channelMaxVideos": 50}
Example input (video mode)
{"mode": "video","videoUrls": ["https://www.youtube.com/watch?v=abc123xyz"],"fetchSubtitles": true,"fetchComments": true,"maxComments": 20}
Output
Each video is pushed as a separate record to the Apify dataset.
| Field | Type | Description |
|---|---|---|
title | string | Video title |
url | string | Full video URL |
viewCount | number | Number of views |
channelName | string | Channel name |
date | string | Publish date |
duration | string | Video duration (e.g. "12:34") |
thumbnailUrl | string | Thumbnail image URL |
likes | number | Number of likes |
Example output
{"title": "10 Viral Products You NEED in 2025","url": "https://www.youtube.com/watch?v=abc123xyz","viewCount": 1250000,"channelName": "TrendFinder","date": "2026-02-28","duration": "12:34","thumbnailUrl": "https://i.ytimg.com/vi/abc123xyz/maxresdefault.jpg","likes": 45200}
How to run
On Apify Platform
- Go to the Actor's page on Apify Console
- Select your scraping mode and configure the relevant fields
- Click Start and wait for the run to finish
- Download results from the Dataset tab in JSON, CSV, or Excel format
Locally
$apify run
Deploy to Apify
apify loginapify push
Built with
- Apify SDK — actor framework and dataset management
- Playwright — browser automation for YouTube pages