Youtube Shorts Scraper
Pricing
$19.99/month + usage
Youtube Shorts Scraper
✨ YouTube Shorts Scraper to extract data from Shorts videos quickly and at scale. Collect titles, views, likes, comments, and video details with ease. Ideal for trend analysis and research. Features: ⚡ fast scraping • 📊 clean output • 🔍 insights • 🌍 scalable automation
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapeLabs
Actor stats
0
Bookmarked
2
Total users
0
Monthly active users
13 days ago
Last modified
Categories
Share
Youtube Shorts Scraper
The Youtube Shorts Scraper is a fast, scalable YouTube Shorts scraper tool that extracts structured video and channel metadata from Shorts discovered by channel handle, full channel URL, or keyword search. It solves the manual grind of collecting YouTube Shorts data by turning it into clean, analysis-ready records — ideal for marketers, developers, data analysts, and researchers. Use this YouTube Shorts data extractor to power trend tracking, competitor monitoring, and bulk analytics across channels and search results at scale. 🚀
What data / output can you get?
| Data type | Description | Example value |
|---|---|---|
| title | Video title | “Giving Trick-or-Treaters Weirder and Weirder Gifts” |
| id | YouTube video ID (11 chars) | “R7MkZL5i3FQ” |
| url | Canonical Shorts URL | “https://www.youtube.com/shorts/R7MkZL5i3FQ” |
| thumbnailUrl | Thumbnail image URL | “https://i.ytimg.com/vi/R7MkZL5i3FQ/hqdefault.jpg” |
| viewCount | Total views (parsed from compact notation) | 64493572 |
| date | Publish date (ISO string if detected) | “2025-11-07T00:00:00.000Z” |
| likes | Total likes (parsed from UI text) | 909841 |
| duration | Video duration (HH:MM:SS or 00:MM:SS) | “00:00:27” |
| commentsCount | Total comments (if available) | 7171 |
| commentsTurnedOff | Whether comments are disabled | false |
| channelName | Channel display name | “MrBeast” |
| channelUrl | Canonical channel URL | “https://www.youtube.com/@MrBeast” |
| numberOfSubscribers | Channel subscriber count | 450000000 |
| hashtags | Hashtags parsed from title/description | [“shorts”, “funny”] |
| descriptionLinks | Links parsed from description/title | [“https://example.com”] |
| subtitles | Caption tracks with language/name (if present) | [{"url": "...", "languageCode": "en", "name": "English"}] |
Bonus fields include: channelUsername, channelId, channelDescription, channelJoinedDate, channelLocation, channelAvatarUrl, channelBannerUrl, channelTotalVideos, channelTotalViews, isChannelVerified, isMonetized, formats (quality + URL snippet), order, fromYTUrl context, input (the query or handle), and more. Export results from the Apify dataset in JSON or CSV for downstream analysis.
Key features
-
⚡️ Powerful keyword & channel discovery Resolve Shorts from channel handles (e.g., @MrBeast), full channel URLs, or keywords via a YouTube Shorts search results scraper flow. Automatically falls back to keyword search when a handle’s Shorts tab is empty.
-
📈 Clean, rich metadata output Works as a YouTube Shorts metadata scraper by extracting titles, views, likes, commentsCount, duration, channel info, hashtags, subtitles (when available), and links found in descriptions.
-
🧪 Robust parsing of YouTube UI text Converts compact counts like “1.2M” to integers for viewCount, likes, commentsCount, and subscriber counts — ideal for analytics.
-
🧵 Async concurrency for scale Built with Python asyncio and aiohttp to scrape YouTube Shorts in bulk across multiple inputs with controlled parallelism.
-
🔎 Sorting & date filtering Use sortOrder to get newest/popular/oldest results and publishedAfter to include only recent Shorts using absolute dates or relative periods.
-
🌐 Proxy-ready for reliability Optional Apify Proxy support via proxyConfiguration for improved stability in restricted regions — ideal for a production YouTube Shorts crawler.
-
🧰 Developer friendly Runs on Apify (Python). Use the Apify API to trigger runs programmatically with the same input fields — perfect for a YouTube Shorts scraping API pipeline or YT Shorts scraper automation.
-
🎬 Formats for downstream downloaders Exposes available streaming formats (quality + URL snippet). While not a YouTube Shorts downloader itself, it provides the metadata needed for compliant, downstream tools.
How to use Youtube Shorts Scraper - step by step
- Sign in to Apify and open the “youtube-shorts-scraper” actor.
- Add inputs in the Channels or keywords field (startUrls):
- Channel handle: @ChannelName or ChannelName
- Full channel URL: https://www.youtube.com/@ChannelName
- Keyword: any search query like “funny shorts” or “cooking tips”
- Set Max Shorts per channel (maxResults) to your desired limit (1–10,000).
- (Optional) Set Only Shorts published after (publishedAfter) to filter by date, e.g. “2025-01-01” or relative like “7 days”, “2 weeks”, “1 month”, “1 year”.
- Choose Sort by (sortOrder): newest, popular, or oldest.
- (Optional) Configure Proxy configuration (proxyConfiguration) to enable Apify Proxy for better reliability in certain regions.
- Click Start. The run will:
- Discover Shorts via channel tab or keyword search
- Fetch each video’s structured metadata
- Stream results to the dataset as they’re found
- Download your results from the run’s Dataset tab in JSON or CSV for analysis.
Pro tip: Trigger runs via the Apify API using the same input fields to integrate this YouTube Shorts video scraper into your data pipelines or automation workflows.
Use cases
| Use case | Description |
|---|---|
| Marketing trend analysis | Track topics and creators by scraping YouTube Shorts in bulk from keywords and sorting by popularity for fast insights. |
| Competitor benchmarking | Monitor Shorts performance (views, likes, commentsCount) across competitor channels with consistent, comparable metrics. |
| Content research | Collect hashtags, subtitles (when present), and description links to inform content strategy and creative direction. |
| Channel analytics | Build a channel-centric dataset (subscriber counts, verification, totals) and map it to each Short for deeper profiles. |
| Data enrichment pipeline | Use the YouTube Shorts scraping API pattern to ingest structured JSON into analytics stacks and BI dashboards. |
| Academic & social research | Analyze public, aggregate-level Shorts engagement and topics without accessing private or authenticated data. |
Why choose Youtube Shorts Scraper?
A precision-built, production-ready YT Shorts scraper that combines async scale with structured, analytics-friendly output.
- 🎯 Accurate metadata parsing that normalizes compact counts (K/M/B) into integers
- 🌍 Optional proxy support for reliable operation across regions
- 📦 Bulk processing with concurrency controls for faster throughput
- 🧩 Developer access via Apify API and Python-based implementation
- 🔒 Public data only — no login or cookies required
- 🔗 Clean output schema with channel-level enrichments and description links
- 🛠️ More reliable than ad-hoc browser extensions or unstable scripts (no headless browser required)
In short: a YouTube Shorts scraper tool built for scale, structure, and reliability.
Is it legal / ethical to use Youtube Shorts Scraper?
Yes, when used responsibly. This actor extracts data from publicly available YouTube pages and does not access private profiles or authenticated content. You should:
- Only use public data for legitimate purposes.
- Respect YouTube’s Terms of Service and applicable laws (e.g., GDPR/CCPA).
- Avoid collecting or using personal data in ways that could be non-compliant.
- Consult your legal team for edge cases or sensitive use cases.
Input parameters & output format
Example JSON input
{"startUrls": ["rainbowicecream9780","@MrBeast","https://www.youtube.com/@MrBeast","funny shorts"],"maxResults": 25,"publishedAfter": "7 days","sortOrder": "popular","proxyConfiguration": {"useApifyProxy": false}}
Input fields (from schema):
- startUrls (array, required)
- Description: Where to scrape Shorts from. Add one or more: channel handles (@MrBeast), usernames (mrbeast), full URLs (https://www.youtube.com/@MrBeast), or search keywords (e.g. funny shorts).
- Default: ["rainbowicecream9780"]
- maxResults (integer, optional)
- Description: Maximum number of Shorts to scrape per channel or keyword. Ranges from 1 to 10,000. Higher = more data, longer run.
- Default: 10
- publishedAfter (string, optional)
- Description: Filter by publish date. Use a date (YYYY-MM-DD) or relative time (e.g. 7 days, 2 weeks, 1 month, 1 year). Leave empty to include all Shorts.
- Default: none
- sortOrder (string, optional; enum: newest, popular, oldest)
- Description: Order of results: Newest first, Oldest first, or by Popularity (views).
- Default: newest
- proxyConfiguration (object, optional)
- Description: Turn on Apify Proxy for more reliable scraping (useful in EU or restricted regions). Off = direct connection; works in most regions and for Apify QA.
- Default: {"useApifyProxy": false}
Example JSON output
{"title": "Giving Trick-or-Treaters Weirder and Weirder Gifts","translatedTitle": null,"type": "shorts","id": "R7MkZL5i3FQ","url": "https://www.youtube.com/shorts/R7MkZL5i3FQ","thumbnailUrl": "https://i.ytimg.com/vi/R7MkZL5i3FQ/hqdefault.jpg","viewCount": 64493572,"date": "2025-11-07T00:00:00.000Z","likes": 909841,"location": "Los Angeles, CA","channelName": "MrBeast","channelUrl": "https://www.youtube.com/@MrBeast","channelUsername": "MrBeast","collaborators": null,"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","channelDescription": "Subscribe for more videos!","channelJoinedDate": "2012-02-20","channelDescriptionLinks": ["https://shop.example.com","https://twitter.com/mrbeast"],"channelLocation": "United States","channelAvatarUrl": "https://yt3.ggpht.com/abc123=s176","channelBannerUrl": "https://yt3.ggpht.com/banner=s2048","channelTotalVideos": 350,"channelTotalViews": 35000000000,"numberOfSubscribers": 450000000,"isChannelVerified": true,"inputChannelUrl": "https://www.youtube.com/@MrBeast","isAgeRestricted": false,"aboutChannelInfo": {"channelDescription": "Subscribe for more videos!","channelJoinedDate": "2012-02-20","channelDescriptionLinks": ["https://shop.example.com","https://twitter.com/mrbeast"],"channelLocation": "United States","channelUsername": "MrBeast","channelAvatarUrl": "https://yt3.ggpht.com/abc123=s176","channelBannerUrl": "https://yt3.ggpht.com/banner=s2048","channelTotalVideos": 350,"channelTotalViews": 35000000000,"numberOfSubscribers": 450000000,"isChannelVerified": true,"channelName": "MrBeast","channelUrl": "https://www.youtube.com/@MrBeast","channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","inputChannelUrl": "https://www.youtube.com/@MrBeast","isAgeRestricted": false},"duration": "00:00:27","commentsCount": 7171,"text": "Short description text...","translatedText": null,"descriptionLinks": ["https://example.com","https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"subtitles": [{"url": "https://www.youtube.com/api/timedtext?v=R7MkZL5i3FQ&lang=en","languageCode": "en","name": "English"}],"order": 1,"commentsTurnedOff": false,"fromYTUrl": "https://www.youtube.com/results?search_query=funny%20shorts","isMonetized": true,"hashtags": ["shorts","funny"],"formats": [{"quality": "hd720","url": "https://redirector.googlevideo.com/videoplayback?...truncated..."}],"isMembersOnly": false,"input": "funny shorts","fromChannelListPage": "search","isPaidContent": false}
Notes:
- Fields may be null/missing if not present on the page (e.g., subtitles, location).
- Sorting and date filtering are applied after items are fetched; order is assigned starting from 1.
FAQ
Does this scrape Shorts from channels and keyword searches?
Yes. Provide channel handles, usernames, or full channel URLs in startUrls to scrape a channel’s Shorts tab. If no Shorts are found or you pass a keyword like “funny shorts,” the actor uses a YouTube Shorts search results scraper approach to collect relevant Shorts.
Does it scrape comments text?
No. It collects commentsCount and detects commentsTurnedOff when available, but it does not extract individual comment text. This keeps runs fast and the output concise.
What’s the maximum number of results per input?
The maxResults parameter supports 1 to 10,000 Shorts per channel or keyword input. Higher limits will increase runtime.
How does sorting and filtering work?
Use sortOrder to sort by newest, popular (views), or oldest. Use publishedAfter to include only Shorts after a specific date (YYYY-MM-DD) or a relative period (e.g., “7 days”, “2 weeks”, “1 month”, “1 year”).
Do I need a login or cookies?
No. The actor works with publicly available data and does not require login or cookies.
Can I run this via API or integrate it with Python?
Yes. Runs accept the same input fields via the Apify API, and the actor itself is implemented in Python. This makes it easy to embed in pipelines advertised as a YouTube Shorts scraping API or to call from YouTube Shorts scraper Python workflows.
Does it support proxies?
Yes. Set proxyConfiguration.useApifyProxy to true to route requests through Apify Proxy, which can improve reliability in certain regions.
Is this a downloader?
Not directly. The output includes a formats array (quality + URL snippet) that can inform downstream tools. The actor focuses on metadata extraction rather than downloading.
Closing thoughts
The Youtube Shorts Scraper is built to deliver structured, reliable YouTube Shorts data at scale. It extracts rich metadata, supports both channel and search discovery, and streams clean records to your dataset for analysis. Whether you’re a marketer, developer, analyst, or researcher, you can integrate it via the Apify API for automation-ready workflows. Start extracting smarter YouTube Shorts insights today — and turn public Shorts metadata into actionable intelligence.