Youtube Video Details Scraper
Pricing
$5.00/month + usage
Youtube Video Details Scraper
Scrape YouTube videos quickly and easily. Just enter a YouTube video or playlist link to get the title, description, views, likes, upload date, and channel information. Perfect for research, analytics, or content creation β an all-in-one tool for unlimited data access.
5.0 (1)
Pricing
$5.00/month + usage
0
3
1
Last modified
2 days ago
YouTube Video + Channel Enriched Scraper π¬
Extract detailed YouTube video metadata plus channel βAboutβ text & social links β with human-readable counters.
Built for Apify Actors using the Python SDK. Reads input with Actor.get_input() and writes dataset items with Actor.push_data(). ([Apify Documentation][1])
Features β
- Works with single videos or playlists (process all or a range of items).
 - Enriches video data with channel About text and first TikTok / Instagram / X links found on the channel profile. ([Google Help][2])
 - Human-friendly counters (e.g., 
1.4M) alongside raw numbers. 
Input π§
Provide JSON to the actor:
| Field | Type | Required | Default | Description | Example | 
|---|---|---|---|---|---|
startUrls | array<{url:string}> | string | β | β | One or more YouTube video or playlist URLs. | [{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}] | 
processAll | boolean | β | false | If true, process all items in a playlist. If false, limit via playlistItems. | true | 
playlistItems | string | β | "1" | Playlist slice in yt-dlp format (e.g., "1-10", "1,3,5"). Ignored when processAll: true. | "1-25" | 
proxyConfiguration | object | β | β | Apify Proxy settings (datacenter/residential, country). Created with Actor.create_proxy_configuration() under the hood. | { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" } | 
requestTimeoutSec | integer | β | 25 | Timeout for fetching channel About/social links. | 30 | 
Example input
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },{ "url": "https://www.youtube.com/playlist?list=PLxxxxxxxx" }],"processAll": false,"playlistItems": "1-5","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"},"requestTimeoutSec": 25}
Output π€
Each processed video yields a JSON object like below.
Example output
{"title": "Never Gonna Give You Up","video_id": "dQw4w9WgXcQ","uploader": "Rick Astley","upload_date": "20091024","publish_date": "2009-10-24","duration": 213,"duration_str": "3:33","view_count": 1500000000,"view_count_str": "1.5B","like_count": 12000000,"like_count_str": "12M","dislike_count": null,"comment_count": 450000,"comment_count_str": "450K","categories": ["Music"],"tags": ["Rick Astley", "80s"],"description": "The official video for βNever Gonna Give You Upβ...","thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","channel_name": "Rick Astley","channel_url": "https://www.youtube.com/@RickAstley","channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw","channel_subscriber_count": 4100000,"channel_subscriber_count_str": "4.1M","about": "Welcome to the official Rick Astley channel...","tiktok": "https://www.tiktok.com/@example","instagram": "https://www.instagram.com/example","x": "https://x.com/example","subtitles": null}
Field reference
Video metadata
| Field | Type | Description | 
|---|---|---|
title | string | Video title | 
video_id | string | YouTube video ID | 
uploader | string | null | Uploader name | 
upload_date | string | null | Original upload date (YYYYMMDD) | 
publish_date | string | null | ISO date derived from upload/timestamp (YYYY-MM-DD) | 
duration | integer | null | Duration in seconds | 
duration_str | string | null | Human-readable duration (H:MM:SS or M:SS) | 
description | string | null | Video description | 
categories | array | null | Video categories | 
tags | array | null | Video tags | 
thumbnail | string | null | Thumbnail URL | 
url | string | Video URL | 
subtitles | object | null | Subtitles map from yt-dlp | 
Engagement (raw + humanized)
| Field | Type | Description | 
|---|---|---|
view_count | integer | null | View count (raw) | 
view_count_str | string | null | View count (e.g., 1.4M) | 
like_count | integer | null | Like count (raw) | 
like_count_str | string | null | Like count (e.g., 320K) | 
comment_count | integer | null | Comment count (raw) | 
comment_count_str | string | null | Comment count (e.g., 5.6K) | 
dislike_count | integer | null | May be unavailable | 
Channel enrichment
| Field | Type | Description | 
|---|---|---|
channel_name | string | null | Channel display name | 
channel_url | string | null | Channel URL | 
channel_id | string | null | Channel ID | 
channel_subscriber_count | integer | null | Subscribers (raw, if exposed) | 
channel_subscriber_count_str | string | null | Subscribers (e.g., 2.3M) | 
about | string | null | Channel βAboutβ text | 
tiktok | string | null | First TikTok link found on the channel profile | 
instagram | string | null | First Instagram link found on the channel profile | 
x | string | null | First X/Twitter link found on the channel profile | 
Social/profile links are taken from channel profile links that creators can configure on YouTube. If none are set, these fields will be
null. ([Google Help][2])
On this page
Share Actor:
