Youtube Video Details Scraper
Pricing
from $3.00 / 1,000 results
Youtube Video Details Scraper
Extract comprehensive details from YouTube videos including metadata, channel information, transcripts, comments, and engagement metrics.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(1)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
18
Total users
4
Monthly active users
15 days ago
Last modified
Categories
Share
Scrape comprehensive YouTube video details including metadata, channel info, chapters, endscreen elements, related videos, caption tracks, comments, and engagement metrics. HTTP-first approach with automatic Playwright fallback for maximum reliability.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
videoUrls | string[] | Yes | - | YouTube video URLs, short links (youtu.be), shorts URLs, clip URLs, or plain video IDs |
maxComments | integer | No | 0 | Max comments to extract per video (0-1000). Set to 0 to skip comments |
includeChapters | boolean | No | true | Extract chapter markers from the video engagement panel or description timestamps |
includeEndscreen | boolean | No | true | Extract endscreen elements (suggested videos/channels/playlists shown at video end) |
includeCards | boolean | No | false | Extract interactive info cards embedded in the video |
includeTranscriptMetadata | boolean | No | true | List available caption/transcript tracks (language codes, auto-generated flag). Does not fetch transcript text |
includeRelatedVideos | integer | No | 0 | Number of related/suggested videos to extract from the watch page sidebar. 0 = skip |
proxyCountry | string | No | "US" | Country for proxy routing. One of: US, GB, DE, IN, JP, BR, FR, ES, KR, RU. Useful for geo-blocked videos |
Supported URL formats
https://www.youtube.com/watch?v=dQw4w9WgXcQhttps://youtu.be/dQw4w9WgXcQhttps://www.youtube.com/shorts/dQw4w9WgXcQhttps://www.youtube.com/embed/dQw4w9WgXcQhttps://www.youtube.com/v/dQw4w9WgXcQhttps://www.youtube.com/clip/UgkxxxxClipId(clip URLs)dQw4w9WgXcQ(bare video ID)
Example input
{"videoUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://youtu.be/VIDEO_ID_2"],"maxComments": 100,"includeChapters": true,"includeRelatedVideos": 10,"proxyCountry": "US"}
Output
Each row in the dataset represents one video with full metadata, channel info, optional chapters/endscreen/related videos, caption track listings, and optionally comments.
Video fields
| Field | Type | Example |
|---|---|---|
type | string | "video" |
inputUrl | string | Original URL provided in input |
videoId | string | "dQw4w9WgXcQ" |
title | string | "Rick Astley - Never Gonna Give You Up" |
description | string | Full video description |
channelId | string | "UCuAXFkgsw1L7xaCfnd5JJOw" |
channelName | string | "Rick Astley" |
publishedDate | string | "2009-10-25" |
durationSeconds | integer | 212 |
viewCount | integer | 1234567890 |
likeCount | integer | 15000000 |
commentCount | integer | 500000 |
commentsDisabled | boolean | false |
tags | array | ["rick astley", "never gonna give you up"] |
hashtags | array | ["#rickastley", "#nevergonnagiveyouup"] |
thumbnails | object | {"default": "...", "medium": "...", "high": "..."} |
category | string | "Music" |
language | string | "en" |
defaultAudioLanguage | string | "en" |
liveStatus | string | "none", "live_now", "was_live", or "upcoming" |
liveBroadcastDetails | object | Start/end timestamps when applicable |
uploadType | string | "normal", "live", "was_live", "premiere", or "short" |
engagementRate | float | 0.0162 |
resolution | string | "1080p" |
isFamilySafe | boolean | true |
isPlayable | boolean | true |
isAgeGated | boolean | false |
requiresLogin | boolean | false |
playabilityStatus | string | "OK" |
availableCountries | array | ["US", "GB", "CA", ...] |
clipId | string/null | Clip identifier (clip URLs only) |
clipStartMs | integer/null | Clip start time in ms |
clipEndMs | integer/null | Clip end time in ms |
success | boolean | true |
scrapedAt | string | "2026-02-10T12:00:00.000000+00:00" |
Channel info (embedded in channel object)
| Field | Type | Example |
|---|---|---|
id | string | "UCuAXFkgsw1L7xaCfnd5JJOw" |
name | string | "Rick Astley" |
handle | string | "@rickastley" |
url | string | "https://www.youtube.com/@rickastley" |
subscriberCount | integer | 2500000 |
subscriberCountText | string | "2.5M subscribers" |
logo | string | Channel avatar URL |
badges | array | ["Verified"] |
Chapters (embedded in chapters array, when includeChapters=true)
| Field | Type | Example |
|---|---|---|
title | string | "Intro" |
startSeconds | integer | 0 |
startTimeText | string | "0:00" |
thumbnailUrl | string | Chapter thumbnail URL |
Endscreen (embedded in endscreen array, when includeEndscreen=true)
Array of endscreen items (videos, channels, playlists, or links) shown at the end of the video. Each item includes its type, title, target URL, and thumbnail.
Caption tracks (embedded in captionTracks array, when includeTranscriptMetadata=true)
| Field | Type | Example |
|---|---|---|
languageCode | string | "en" |
languageName | string | "English" |
isAutoGenerated | boolean | false |
isTranslatable | boolean | true |
Related videos (embedded in relatedVideos array, when includeRelatedVideos > 0)
Array of related video objects from the watch page sidebar, including videoId, title, channelName, viewCount, duration, and thumbnail.
Comments (embedded in comments array, when maxComments > 0)
| Field | Type | Example |
|---|---|---|
commentId | string | "abc123" |
text | string | "This song is timeless!" |
authorName | string | "MusicFan" |
authorChannelId | string | "UC..." |
authorProfileImageUrl | string | Profile image URL |
publishedTimeText | string | "2 years ago" |
likeCount | integer | 1200 |
isHearted | boolean | false |
isPinned | boolean | false |
FAQ
Q: Does this scraper fetch full transcript text?
No. With includeTranscriptMetadata=true it lists available caption tracks (language code, auto-generated flag, translatable). Use a dedicated transcript scraper to fetch the text body.
Q: Why is commentCount non-zero but comments empty?
Comments are only fetched when maxComments > 0. The commentCount field reflects YouTube's total, which is always populated.
Q: How are clip URLs handled?
Clip URLs return the parent video's metadata plus clipId, clipStartMs, and clipEndMs describing the clip range.
Q: What happens for geo-blocked videos?
Set proxyCountry to a region where the video is available. The availableCountries array on output shows where the video is accessible.
Q: Are private or members-only videos supported?
Only public videos are scraped. Private, unlisted-without-link, or members-only videos will return isPlayable=false with the matching playabilityStatus.
Use Cases
- Content research — extract full video metadata including chapters, tags, and engagement rates for any video at scale
- SEO analysis — collect titles, descriptions, hashtags, and related videos for keyword and ranking research
- Media monitoring — track view counts, like counts, and playability status for a set of videos over time
- Competitor intelligence — analyze a competitor's video catalog: upload frequency, categories, endscreen strategy, and caption availability
- AI and NLP pipelines — use
captionTracksto discover available languages, then fetch full text with the Transcript Scraper - Legal and compliance — check
availableCountries,isAgeGated, andplayabilityStatusfor content rights workflows
YouTube Scraper Suite
This actor is part of a complete YouTube data extraction toolkit. Explore the full suite:
| Actor | Description |
|---|---|
| YouTube Channel Scraper | Channel metadata, subscriber counts, and full video catalogs |
| YouTube Channel Scraper Fast | Streamlined channel scraper for high-volume and speed-sensitive workflows |
| YouTube Comment Scraper | Comments, replies, likes, author info, and pinned/hearted status |
| YouTube Email Scraper | Creator contact emails from channel pages, Instagram, TikTok, and Linktree |
| YouTube Hashtag Scraper | Videos and Shorts tagged with specific hashtags |
| YouTube Playlist Scraper | All videos and metadata from any YouTube playlist |
| YouTube Search Scraper | Search results including videos, channels, and playlists |
| YouTube Shorts Scraper | Shorts from channels or hashtags with full view and like metadata |
| YouTube Transcript Scraper | Timed transcripts and captions with optional Whisper AI fallback |
| YouTube Trending Scraper | Ranked trending videos by category — Gaming, Music, News, Movies |
| YouTube Video Details Scraper | Comprehensive video metadata, chapters, endscreen, captions, and comments |
| YouTube Video Downloader | Download videos, playlists, and channels in any quality with metadata |