Youtube Shorts Scraper avatar

Youtube Shorts Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Youtube Shorts Scraper

Youtube Shorts Scraper

🎬 YouTube Shorts Scraper (youtube-shorts-scraper) extracts titles, URLs, hashtags, views, likes, comments, captions, publish dates & channel data at scale. ⚡ Fast, reliable, CSV/JSON export. 📈 Ideal for trend tracking, competitor research & content strategy.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeEngine

ScrapeEngine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

14 days ago

Last modified

Share

Youtube Shorts Scraper

Youtube Shorts Scraper is a fast, reliable YouTube Shorts scraper tool that extracts structured Shorts video data at scale from channel handles, full channel URLs, or keyword searches — without the official API. It solves the pain of manually collecting Shorts metadata by automating discovery and extraction of titles, views, likes, comments metadata, hashtags, captions availability, and channel context. Built for marketers, developers, data analysts, and researchers, this YouTube Shorts data extractor enables bulk workflows for trend tracking, competitor research, and content strategy with export-ready datasets. 🚀

What data / output can you get?

Below are examples of the structured fields the actor saves to the Apify dataset for each Shorts video. Export to JSON, CSV, or Excel via Apify’s dataset UI.

Data typeDescriptionExample value
titleVideo title“Giving Trick-or-Treaters Weirder and Weirder Gifts”
idYouTube video ID (11 chars)“R7MkZL5i3FQ”
urlCanonical Shorts URLhttps://www.youtube.com/shorts/R7MkZL5i3FQ”
thumbnailUrlHighest available thumbnail URLhttps://i.ytimg.com/vi/R7MkZL5i3FQ/hqdefault.jpg”
viewCountParsed views (supports K/M/B)64493572
datePublish date (ISO, if available)“2025-11-07T00:00:00.000Z”
likesParsed likes (supports K/M/B)909841
durationVideo length (HH:MM:SS)“00:00:27”
commentsCountParsed comments count (if present)7171
commentsTurnedOffWhether comments are disabledfalse
channelNameChannel display name“MrBeast”
channelUrlCanonical channel URLhttps://www.youtube.com/@MrBeast”

Bonus outputs include channel enrichment (e.g., numberOfSubscribers, channelId, channelAvatarUrl, channelBannerUrl, channelTotalVideos, channelTotalViews, channelJoinedDate, channelLocation, isChannelVerified), content context (hashtags, descriptionLinks, subtitles), technical formats (quality and truncated stream URLs), and flags like isMonetized, isMembersOnly, and isPaidContent.

Key features

  • ⚡ Accurate Shorts targeting (channel + search) Discovers Shorts from @handles, channel URLs, or keyword queries via robust logic and YouTube’s internal endpoints — ideal for YouTube Shorts crawler and YouTube Shorts search scraper workflows.

  • 📊 Rich metadata coverage Captures titles, URLs, thumbnailUrl, viewCount, likes, duration, commentsCount/commentsTurnedOff, hashtags, descriptionLinks, and subtitles — making it a capable YouTube Shorts captions scraper and YouTube Shorts hashtag scraper.

  • 🧭 Channel “About” enrichment Bundles channelName, channelUrl, channelUsername, channelId, numberOfSubscribers, isChannelVerified, channelBannerUrl, channelAvatarUrl, channelTotalVideos, channelTotalViews, channelJoinedDate, channelLocation, and channelDescriptionLinks into aboutChannelInfo for deeper analysis.

  • 🔎 Flexible discovery (channel or keyword) Works as a YouTube Shorts channel scraper and YouTube Shorts search scraper. Provide @handles, channel URLs, or plain keywords — the actor adapts automatically.

  • 🗂️ Filter and sort for analysis Filter by publishedAfter (absolute date or relative period) and sort results by newest, oldest, or popular (views). Great for YouTube Shorts analytics scraper use cases.

  • 💻 Developer-friendly, API-ready Built with Python and the Apify SDK for reliable cloud execution. Integrate via Apify API from Node.js or Python to power pipelines for your YouTube Shorts scraper Node.js or YouTube Shorts scraping Python workflows.

  • 🌐 Optional proxy support Toggle Apify Proxy for improved reliability in restricted regions. Run as a YouTube Shorts API scraper alternative without logging in.

  • 📦 Export-ready datasets Results are stored in Apify Dataset for one-click export to JSON, CSV, or Excel — perfect for YouTube Shorts bulk scraper use cases (metadata-only exports).

How to use Youtube Shorts Scraper - step by step

  1. Sign in to your Apify account.
  2. Open the “youtube-shorts-scraper” actor in the Apify Console.
  3. In “startUrls”, enter one or more:
  4. Set “maxResults” to control how many Shorts to collect per input (1–10,000).
  5. (Optional) Configure “publishedAfter” (e.g., “7 days” or “2025-01-01”) and “sortOrder” (“newest”, “popular”, or “oldest”).
  6. (Optional) Turn on “proxyConfiguration.useApifyProxy” if you need a proxy.
  7. Click Start. The actor will discover Shorts and push items live to the dataset.
  8. Download results from the Dataset tab as JSON, CSV, or Excel for analysis or integration.

Pro tip: Use the Apify API to kick off runs and stream datasets into your stack for automation (e.g., BI dashboards, enrichment, or alerts).

Use cases

Use case nameDescription
Marketing trend trackingIdentify top-performing Shorts by views/likes for specific topics to inform content calendars and campaigns.
Competitor performance monitoringMonitor rival channels’ Shorts output and engagement using the YouTube Shorts channel scraper mode.
Keyword-based discoveryScrape YouTube Shorts videos matching keywords to uncover emerging themes and viral formats.
Audience insightsEnrich Shorts with channel subscriber counts and verification status for better audience profiling.
Data science pipelinesFeed structured Shorts metadata into a warehouse via API for modeling, forecasting, and anomaly detection.
Academic researchCollect longitudinal datasets of Shorts + channel info for media, engagement, and diffusion studies.
Automation triggersTrigger downstream actions when new Shorts match filters (e.g., publishedAfter and sortOrder).

Why choose Youtube Shorts Scraper?

A precision-focused, production-ready YouTube Shorts data extractor for structured, scalable metadata collection.

  • 🎯 High-precision Shorts detection from channels or keyword searches
  • 🔑 Works without the official API — a robust YouTube Shorts API scraper alternative
  • 📈 Scales to thousands of results per run with async fetching
  • 🧪 Developer access via Apify API for Python/Node.js pipelines
  • 🛡️ Ethical by design — collects public data only
  • 🔌 Dataset-first design for easy CSV/JSON/Excel exports and integrations
  • 🌐 Optional proxy support for reliability in restricted regions

Unlike brittle browser extensions or one-off scripts (e.g., ad-hoc YouTube Shorts scraper GitHub snippets), this actor runs on Apify’s infrastructure, handles continuations, and returns consistent, well-structured output.

Yes — when used responsibly. This actor accesses publicly available YouTube Shorts pages and metadata and does not log in or bypass authentication. Always collect only public data, respect YouTube’s Terms of Service and applicable laws (e.g., GDPR/CCPA), avoid scraping personal or private information, and verify compliance with your legal team if uncertain.

Input parameters & output format

Example input (JSON):

{
"startUrls": [
"@MrBeast",
"https://www.youtube.com/@veritasium",
"funny shorts"
],
"maxResults": 20,
"publishedAfter": "30 days",
"sortOrder": "popular",
"proxyConfiguration": {
"useApifyProxy": true
}
}

Input parameters

  • 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: not specified
  • sortOrder (string, optional; one of: 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: not specified

Example output item (JSON):

{
"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": null,
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/@MrBeast",
"channelUsername": "MrBeast",
"collaborators": null,
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"channelDescription": "I make videos.",
"channelJoinedDate": "2012-02-20",
"channelDescriptionLinks": [
"https://shopmrbeast.com"
],
"channelLocation": "United States",
"channelAvatarUrl": "https://yt3.ggpht.com/abc123=s88-c-k-c0x00ffffff-no-rj",
"channelBannerUrl": "https://yt3.ggpht.com/def456=w1060-fcrop64=1,00005a57ffffa5a8-nd",
"channelTotalVideos": 732,
"channelTotalViews": 32100000000,
"numberOfSubscribers": 450000000,
"isChannelVerified": true,
"inputChannelUrl": "https://www.youtube.com/@MrBeast",
"isAgeRestricted": false,
"aboutChannelInfo": {
"channelDescription": "I make videos.",
"channelJoinedDate": "2012-02-20",
"channelDescriptionLinks": [
"https://shopmrbeast.com"
],
"channelLocation": "United States",
"channelUsername": "MrBeast",
"channelAvatarUrl": "https://yt3.ggpht.com/abc123=s88-c-k-c0x00ffffff-no-rj",
"channelBannerUrl": "https://yt3.ggpht.com/def456=w1060-fcrop64=1,00005a57ffffa5a8-nd",
"channelTotalVideos": 732,
"channelTotalViews": 32100000000,
"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": "We gave away some strange treats this year 😂",
"translatedText": null,
"descriptionLinks": [
"https://shopmrbeast.com"
],
"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/@MrBeast/shorts",
"isMonetized": true,
"hashtags": [
"shorts",
"halloween"
],
"formats": [
{
"quality": "720p",
"url": "https://rr2---sn-xyz.googlevideo.com/videoplayback?...(truncated)"
}
],
"isMembersOnly": false,
"input": "@MrBeast",
"fromChannelListPage": "shorts",
"isPaidContent": false
}

Notes:

  • Some fields may be null if not present for a given video (e.g., translatedTitle, translatedText, location).
  • subtitles, hashtags, descriptionLinks, and formats are populated only when detected.

FAQ

Do I need a YouTube API key or login to use this?

No. This works as a YouTube Shorts API scraper alternative and uses public endpoints. It does not require an API key or authentication to collect publicly available metadata.

Can it scrape Shorts by keyword as well as by channel?

Yes. Provide plain keywords (e.g., “funny shorts”) and the actor will operate as a YouTube Shorts search scraper. You can also supply @handles or full channel URLs to run it as a YouTube Shorts channel scraper.

Does it extract comments?

It extracts comments metadata such as commentsCount and whether comments are turned off. It does not download individual comment texts.

Can I get hashtags and captions?

Yes. Hashtags are extracted from title/description where present, and available caption tracks (subtitles) are returned with language codes and URLs.

How many results can I collect per input?

You control this via maxResults (1–10,000). Higher limits may increase run time and resource usage.

Is proxy required?

No. By default, it runs via a direct connection. You can enable Apify Proxy in proxyConfiguration for improved reliability in certain regions.

Does this integrate with Python or Node.js?

Yes. While the actor is implemented in Python, you can start runs and fetch datasets from Python or Node.js via the Apify API — perfect for YouTube Shorts scraping Python or YouTube Shorts scraper Node.js pipelines.

What kind of “analytics” data does it provide?

It returns engagement-related fields such as viewCount, likes, commentsCount, and channel-level metrics like numberOfSubscribers and isChannelVerified, enabling YouTube Shorts analytics scraper workflows without the official API.

Closing CTA / Final thoughts

Youtube Shorts Scraper is built for structured, scalable extraction of public YouTube Shorts metadata and channel context. It helps marketers, analysts, and developers track trends, benchmark competitors, and automate insights — without the official API. Connect it to your pipelines via the Apify API (Python/Node.js), export to JSON/CSV/Excel, and start extracting smarter YouTube Shorts insights today.