Youtube Video Data Scraper[Best and Affordable] avatar
Youtube Video Data Scraper[Best and Affordable]

Pricing

$10.00/month + usage

Go to Apify Store
Youtube Video Data Scraper[Best and Affordable]

Youtube Video Data Scraper[Best and Affordable]

Developed by

Alpha Scraper

Alpha Scraper

Maintained by Community

🎬 Scrape YouTube videos fast! πŸš€ Input: YouTube video link/playlist link 🎯 and get title, description, views, likes, upload date & channel info πŸ“Š Perfect for research, analytics, or content creation ✨ All-in-one tool for unlimited data πŸ€‘πŸ”‘{use RESIDENTIAL Proxy for fast Scraping}

0.0 (0)

Pricing

$10.00/month + usage

0

3

3

Last modified

7 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:

FieldTypeRequiredDefaultDescriptionExample
startUrlsarray<{url:string}> | stringβœ…β€”One or more YouTube video or playlist URLs.[{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}]
processAllboolean❌falseIf true, process all items in a playlist. If false, limit via playlistItems.true
playlistItemsstring❌"1"Playlist slice in yt-dlp format (e.g., "1-10", "1,3,5"). Ignored when processAll: true."1-25"
proxyConfigurationobjectβŒβ€”Apify Proxy settings (datacenter/residential, country). Created with Actor.create_proxy_configuration() under the hood.{ "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
requestTimeoutSecinteger❌25Timeout 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

FieldTypeDescription
titlestringVideo title
video_idstringYouTube video ID
uploaderstring | nullUploader name
upload_datestring | nullOriginal upload date (YYYYMMDD)
publish_datestring | nullISO date derived from upload/timestamp (YYYY-MM-DD)
durationinteger | nullDuration in seconds
duration_strstring | nullHuman-readable duration (H:MM:SS or M:SS)
descriptionstring | nullVideo description
categoriesarray | nullVideo categories
tagsarray | nullVideo tags
thumbnailstring | nullThumbnail URL
urlstringVideo URL
subtitlesobject | nullSubtitles map from yt-dlp

Engagement (raw + humanized)

FieldTypeDescription
view_countinteger | nullView count (raw)
view_count_strstring | nullView count (e.g., 1.4M)
like_countinteger | nullLike count (raw)
like_count_strstring | nullLike count (e.g., 320K)
comment_countinteger | nullComment count (raw)
comment_count_strstring | nullComment count (e.g., 5.6K)
dislike_countinteger | nullMay be unavailable

Channel enrichment

FieldTypeDescription
channel_namestring | nullChannel display name
channel_urlstring | nullChannel URL
channel_idstring | nullChannel ID
channel_subscriber_countinteger | nullSubscribers (raw, if exposed)
channel_subscriber_count_strstring | nullSubscribers (e.g., 2.3M)
aboutstring | nullChannel β€œAbout” text
tiktokstring | nullFirst TikTok link found on the channel profile
instagramstring | nullFirst Instagram link found on the channel profile
xstring | nullFirst 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])