
Youtube Shorts Scraper pro
Pricing
$18.00/month + usage

Youtube Shorts Scraper pro
π¬ 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!
0.0 (0)
Pricing
$18.00/month + usage
0
1
1
Last modified
3 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. |