🚀Youtube Shorts Scraper🎯
Pricing
$5.00/month + usage
🚀Youtube Shorts Scraper🎯
🎬 Extract YouTube Shorts Data! Easily grab data from one or multiple YouTube channels. Get: 🔗 Video URL Captions / Transcript Timestamp / Upload Date 👍 Likes & 👎 Dislikes 👀 Views & Comments Count Basic Channel Info …and more! 🚀 This alternative YouTube API has no limits or quotas!
5.0 (1)
Pricing
$5.00/month + usage
0
12
6
Last modified
4 days ago
Youtube Shorts Scraper (CHEAK IT FIRST) 🎯
Extract detailed metadata from YouTube Shorts (single videos, share links, or playlist entries).
This Actor is built with the Apify Python SDK. It reads input via Actor.get_input() and writes results with Actor.push_data() (and saves an aggregated OUTPUT record to the default Key-Value Store). :contentReference[oaicite:1]{index=1}
Highlights ✅
- Works with YouTube Shorts URLs and share links (also handles playlist entries).
- Extracts full metadata returned enriches with:
- Hashtags (from title & description),
- A sample of available video formats (
formatsSample), - Live broadcast details,
- Recording details,
- Processing details,
- A small transcript sample a list of available subtitle languages.
- like,comments count. *published date. *others.
- Uses Apify Proxy if configured (recommended: RESIDENTIAL proxies for reliability). :contentReference[oaicite:2]{index=2}
Input 🔧
The actor accepts JSON input. startUrls is required.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | array of {"url":string} or string | ✅ | — | One or more YouTube video or share URLs. You can also pass playlist URLs — the actor will extract entries. |
proxyConfiguration | object | ❌ | {} / useApifyProxy:false (prefill) | Apify proxy settings or your own HTTP proxies. If present, the actor calls Actor.create_proxy_configuration() to obtain a proxy URL. :contentReference[oaicite:5]{index=5} |
Example input
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }],"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],}}
Output 📤
Each processed video produces a single JSON object pushed to the dataset and saved in an aggregated OUTPUT list inside the default key-value store under the OUTPUT key.
Example output (sample)
{"title": "Thankyou for loving #shaky guysss❤️😍 #ishamalviya #shaky #trending #grateful","type": "shorts","id": "1T31NY-RNJ8","vedio url": "https://www.youtube.com/watch?v=1T31NY-RNJ8","thumbnail Url": "https://i.ytimg.com/vi_webp/1T31NY-RNJ8/maxresdefault.webp","view Count": "11.1m","upload date": "2025-06-15","likes count": "414.9k","duration": 40,"Category": "People & Blogs","Privacy Status": "public","Region Restriction": "Not restricted","Live Broadcast Details": {"live_status": "not_live","is_live": false},"Recording Details": {"location": [],"release_date": [],"timestamp": 1750008228},"Processing Details": {"status": "processed","playable_in_embed": true},"Description": "","commentsCount": 1019,"channelName": "IshaMalviyaVlogs","channelUrl": "https://www.youtube.com/channel/UCUg96ekzjuX_VBgTbp0m_mA","channelId": "UCUg96ekzjuX_VBgTbp0m_mA","channelUsername": [],"channelAvatarUrl": [],"inputChannelUrl": "https://www.youtube.com/channel/UCUg96ekzjuX_VBgTbp0m_mA","channelDescriptionLinks": [],"hashtags": [],"fromYTUrl": "https://www.youtube.com/watch?v=1T31NY-RNJ8","tags": [],"durationAlt": "40s","formatsSample": [{"format_id": "sb2","format_note": "storyboard","ext": "mhtml","resolution": "25x45","fps": 1.025,"vcodec": "none","acodec": "none","protocol": "mhtml"},{"format_id": "sb3","format_note": "storyboard","ext": "mhtml","resolution": "48x27","fps": 2.5,"vcodec": "none","acodec": "none","protocol": "mhtml"}],"transcriptSample": [],"availableSubtitleLanguages": ["ab","aa","ar","hy","as","ay","az","bn","ba","eu","be","bho","bs","br","bg","my","ca","ceb","zh-Hans","zh-Hant","co","hr","cs","da","dv","nl","dz","en","et","ee","fo","fj","fil","fi","fr","gaa","gl","lg","ka","de","el","gn","gu","ht","ha","haw","iw","hi-orig","hi","hmn","hu","is","ig","id","iu","ga","it","ja","jv","kl","kn","kk","kha","km","rw","ko","kri","ku","ky","lo","la","lv","ln","lt","lua","luo","lb","mk","mg","ms","ml","mt","gv","mi","mr","mn","mfe","ne","new","nso","no","ny","oc","or","om","os","pam","ps","fa","pl","pt","pt-PT","pa","qu","ro","rn","ru","sm","sg","sa","gd","sr","crs","sn","sd","si","sk","sl","so","st","es","su","sw","ss","sv","tg","ta","tt","te","th","bo","ti","to","ts","tn","tum","tr","tk","uk","ur","ug","uz","ve","vi","war","cy","fy","wo","xh","yi","yo","zu"]}
Output field reference (detailed)
The actor builds its result metadata plus a few computed/enriched fields.
| Field | Type | Description |
|---|---|---|
title | string | Video title returned . |
type | string | "shorts" or "video" — inferred from URL or duration. |
id | string | Video identifier (YouTube ID). |
vedio url | string | (note spelling) Web URL for the video (emitted exactly as vedio url). |
thumbnail Url | string | URL to the chosen thumbnail (emitted exactly as thumbnail Url). |
view Count | string | null | Human-shortened view count (e.g., 1.5b). |
upload date | string | null | ISO date YYYY-MM-DD (derived from upload_date or timestamp). |
likes count | string | null | Human-shortened like count (e.g., 12m). |
duration | integer | null | Duration in seconds. |
durationAlt | string | null | Human-readable duration (e.g., 3.6 minutes or 45s). |
Category | string | null | First category from yt-dlp categories. |
Privacy Status | string | null | Mapped privacy value from the availability field. |
License | string | null | License label from metadata (if any). |
Region Restriction | string | "Not restricted" or the availability value. |
Live Broadcast Details | object | {live_status, is_live, was_live, concurrent_view_count}. |
Recording Details | object | {location, release_date, timestamp}. release_date normalized. |
Processing Details | object | {status, playable_in_embed} — status is "processed" or "processing". |
Description | string | null | Video description. |
commentsCount | integer | null | Comment count (raw numeric). |
channelName | string | null | Channel display name. |
channelUrl | string | null | Channel URL. |
channelId | string | null | Channel ID. |
channelUsername | string | null | Username (currently None in default output). |
channelAvatarUrl | string | null | Avatar image URL (currently None in default output). |
inputChannelUrl | string | null | Channel URL captured from input/enrichment. |
channelDescriptionLinks | array | List of links found in the channel description (currently empty list in default output). |
hashtags | array | Extracted hashtags from title & description (lowercased). |
fromYTUrl | string | Same as vedio url (source URL). |
tags | array | yt-dlp tags array. |
formatsSample | array | Sample of formats with fields (format_id, format_note, ext, resolution, fps, vcodec, acodec, tbr_kbps, filesize, protocol). |
transcriptSample | array | Up to 25 transcript items: {start, duration, text} (requires youtube_transcript_api and available captions). |
availableSubtitleLanguages | array | Union of subtitle/automatic captions keys + transcript API languages. |
On this page
Share Actor:
