YouTube Shorts Scraper - Channels, Hashtags & Details
Pricing
$30.00/month + usage
YouTube Shorts Scraper - Channels, Hashtags & Details
Scrape YouTube Shorts from channel handles, channel URLs, and hashtags. Get titles, URLs, thumbnails, views, likes, comments, publish dates, author handles, subscriber counts, channel IDs, and profile metadata.
Pricing
$30.00/month + usage
Rating
1.8
(3)
Developer
Newbs
Actor stats
14
Bookmarked
411
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
YouTube Shorts Scraper
Scrape YouTube Shorts from channel handles, channel URLs, and hashtag pages. The Actor opens each Short by default, enriches the listing with video and channel details, and returns clean dataset rows ready for social listening, influencer research, competitive analysis, trend discovery, and content monitoring.
What You Can Get
- Shorts titles, URLs, video IDs, thumbnails, and source position.
- Numeric view, like, comment, subscriber, and channel video counts when YouTube exposes them.
- Author handles, channel IDs, channel URLs, profile pictures, and profile metadata.
- Publish dates, descriptions, hashtag source tracking, and detail scrape status.
- Stable outputs for both channel scraping and hashtag scraping.
Why Use This Actor
- Works with channel names, handles, full channel URLs, and hashtags.
- Hashtag runs are enriched by default, so results include author and channel data instead of listing-only nulls.
- Counts are normalized to numbers where possible, while original view text is preserved in
viewCountText. - Uses Apify Proxy by default on the platform and supports custom proxy configuration.
- Conservative concurrency defaults improve reliability on YouTube pages.
- Dataset views make results easy to inspect in Apify Console and export to CSV, JSON, Excel, or API workflows.
Use Cases
- Track viral Shorts around hashtags such as fashion, fitness, travel, real estate, or AI.
- Discover creators and channels posting Shorts in a niche.
- Monitor competitor Shorts and engagement.
- Build lead lists of creators with channel URLs and subscriber counts.
- Feed trend, content, or social analytics pipelines.
- Collect Shorts metadata for dashboards, alerts, or research.
Input
| Field | Description |
|---|---|
channel | YouTube channel names, handles, or URLs. Examples: youtube, @adidas, https://www.youtube.com/@zara/shorts. Ignored when hashtags are provided. |
hashtag | Hashtags with or without #. Examples: fashion, #style. Hashtags take precedence over channels. |
numberOfResults | Maximum number of Shorts to return per channel or hashtag. The default sample returns 1 enriched Short so the first Apify test run finishes quickly. |
needVideoDetails | Defaults to true. Opens each Short for likes, comments, publish date, description, author metadata, and cached channel profile data. Set to false only for a faster listing-only run. |
maxConcurrency | Browser page concurrency. Keep 1 or 2 for best detail reliability. Values above 5 are capped by the Actor. |
proxyConfiguration | Proxy settings. Apify Proxy is used by default on the Apify platform. |
Example Inputs
Quick default-style smoke run:
{"hashtag": ["style"],"numberOfResults": 1,"needVideoDetails": true,"maxConcurrency": 1}
Scrape enriched Shorts from a hashtag:
{"hashtag": ["fashion"],"numberOfResults": 20,"maxConcurrency": 2}
Scrape enriched Shorts from a channel name:
{"channel": ["youtube"],"numberOfResults": 10}
Scrape multiple channel URLs:
{"channel": ["https://www.youtube.com/@adidas/shorts","https://www.youtube.com/@zara/shorts"],"numberOfResults": 25,"needVideoDetails": true}
Run faster listing-only scraping:
{"hashtag": ["style"],"numberOfResults": 50,"needVideoDetails": false}
Output
Each dataset row represents one Short.
| Field | Description |
|---|---|
id | YouTube Shorts video ID. |
title | Short title or caption text. |
author | Channel handle, usually formatted as @handle. |
videoUrl | Direct Shorts URL. |
coverImage | Thumbnail URL. |
subscriberCount | Channel subscriber count as a number, when available. |
likeCount | Like count as a number, when available. |
description | Video description, when exposed by YouTube. |
viewCount | Best numeric view count available. |
viewCountText | Original listing view text, such as 5 million views. |
commentCount | Comment count as a number, when available. |
publishedAt | ISO publish date when available. |
amountOfVideos | Channel video count as a number, when available. |
profileBanner | Channel banner URL, when available. |
profilePicture | Channel avatar URL, when available. |
channelId | YouTube channel ID. |
channelUrl | Channel URL. |
channelInfo | Channel description, stats, and social links where available. |
hashtag | Hashtag source for hashtag runs. |
source | Normalized input source used for the result. |
sourceType | channel or hashtag. |
position | Result position in the source listing. |
detailStatus | success, failed, not_requested, or no_results. |
Example Output
{"title": "Street Fashion Style #fashion #style","author": "@StreetOutfitStyle","videoUrl": "https://www.youtube.com/shorts/K77WBF8wG_c","coverImage": "https://i.ytimg.com/vi/K77WBF8wG_c/oardefault.jpg","subscriberCount": 1110000,"likeCount": 45257,"description": null,"viewCount": 5000000,"viewCountText": "5 million views","commentCount": 2038,"publishedAt": "2026-03-27T00:00:00.000Z","id": "K77WBF8wG_c","profilePicture": "https://yt3.ggpht.com/...","channelId": "UCLQai45iFoAo3uCWFiqgPtA","channelUrl": "https://www.youtube.com/@StreetOutfitStyle/shorts","hashtag": "style","source": "style","sourceType": "hashtag","position": 1,"detailStatus": "success"}
Performance Notes
Detail enrichment opens the Short page and may also visit the creator channel page once per unique author to fill subscriber and profile metadata. This produces better data but takes longer than listing-only scraping.
For best reliability:
- Keep
maxConcurrencyat1or2for detail runs. - Use Apify Proxy or a stable custom proxy.
- Increase memory for larger runs or higher concurrency.
- Use
needVideoDetails: falseonly when you need quick title, URL, thumbnail, and listing view data.
Data Quality Notes
YouTube changes page markup and does not expose every field for every video or channel. When a value is unavailable, the Actor returns null or N/A instead of guessing. detailStatus explains whether the Actor successfully enriched the row.
FAQ
Can I scrape by channel name?
Yes. Inputs like youtube, @youtube, and https://www.youtube.com/@youtube/shorts are normalized to the channel Shorts page.
Can I scrape hashtags?
Yes. Enter hashtags with or without #. If both hashtag and channel are provided, hashtags take precedence.
Why are some fields null?
Some values are not exposed by YouTube for every Short or channel. The Actor enriches aggressively by default, but it does not fabricate missing data.
Why does a run take longer with details enabled?
The Actor opens each Short and may visit the author channel page for profile metadata. This is required for likes, comments, publish date, author, and subscriber information.
Is this an official YouTube API?
No. This Actor uses browser automation to collect publicly visible YouTube Shorts data.
Support
Open an issue on the Actor page if you see a repeatable extraction problem. Include your input, run ID, and one example video URL so the issue can be reproduced.