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 extracts YouTube Shorts metadata at scale — titles, captions, hashtags, channel, publish date, views, likes, comments, duration & thumbnails. ⚙️ Clean JSON/CSV output. 📊 Ideal for trend tracking, competitor analysis, and content strategy. 🚀

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

Scrapium

Scrapium

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

19 days ago

Last modified

Share

Youtube Shorts Scraper

The Youtube Shorts Scraper is a fast, scalable YouTube Shorts extractor that collects clean, structured metadata from Shorts discovered by channel handles, full channel URLs, or keyword searches. It solves the pain of manual copy-paste by automating bulk collection of titles, views, likes, publish dates, durations, comments, hashtags, and channel info — a powerful YouTube Shorts API alternative for marketers, developers, analysts, and researchers. With clean JSON/CSV output, it enables large-scale trend tracking, competitor monitoring, and content strategy workflows. 🚀

What data / output can you get?

Data typeDescriptionExample value
titleShorts title extracted from the video page“I Built A Chocolate Factory”
idUnique YouTube video ID (11 chars)“R7MkZL5i3FQ”
urlCanonical Shorts URLhttps://www.youtube.com/shorts/R7MkZL5i3FQ”
thumbnailUrlBest available thumbnail URL (fallback to HQ)https://i.ytimg.com/vi/R7MkZL5i3FQ/hqdefault.jpg”
viewCountParsed view count (supports K/M/B)64493572
datePublish date in ISO format when available“2025-11-07T00:00:00.000Z”
likesParsed like count when available909841
durationDuration in HH:MM:SS (Shorts-friendly)“00:00:27”
commentsCountParsed comments count when available7171
commentsTurnedOffWhether comments are disabledfalse
channelNameChannel display name“MrBeast”
channelUrlCanonical channel URL (handle or channel ID)https://www.youtube.com/@MrBeast”
numberOfSubscribersParsed subscriber count when available450000000
hashtagsHashtags extracted from title/description["giveaway","shorts"]
descriptionLinksLinks detected in title/description runs["https://example.com","https://www.youtube.com/watch?v=abc123def45"]
locationVideo location when present in metadata“Los Angeles, CA”
subtitlesAvailable caption tracks (base URL + language)[{"url":"https://...%22,%22languageCode%22:%22en"}]
isMonetizedMonetization flag from microformat (if present)true
aboutChannelInfoAggregated channel About metadata block{ ... }

Notes:

  • Each run saves items to the Apify dataset, ready to export as JSON or CSV.
  • Bonus/extra fields include channel avatars/banners, channel totals (videos/views), and context flags (order, fromYTUrl, fromChannelListPage).

Key features

  • ⚡️ Powerful Shorts discovery

    • Accepts channel handles (e.g., @MrBeast), usernames (mrbeast), full channel URLs, or plain keywords. Automatically switches to keyword search if a channel tab is empty — perfect for a YouTube Shorts URL extractor and YouTube Shorts web crawler workflow.
  • 🔎 Flexible filters & sorting

    • Filter with publishedAfter (absolute date or relative like “7 days”, “2 weeks”, “1 month”, “1 year”) and sort by newest, oldest, or popularity (views) — ideal for YouTube Shorts analytics scraper needs.
  • 📦 Rich, structured outputs

    • Scrapes titles, views, likes, publish dates, durations, comments, hashtags, links, subtitles, formats, and detailed channel metadata. Clean JSON/CSV output for analysis or pipelines.
  • 🧠 Smart channel enrichment

    • Resolves channel browse IDs, fetches About tab details, and aggregates into aboutChannelInfo, including channelJoinedDate, channelLocation, total videos/views, and verification.
  • 🧵 Batch scraping at scale

    • Process multiple channels/keywords in one run, with parallel fetching and robust retries for reliable bulk YouTube Shorts scraper workflows.
  • 🌐 Optional proxy support

    • Integrate Apify Proxy when needed for reliability in restricted regions; otherwise uses direct connection by default.
  • 🧑‍💻 Developer-friendly

    • Built on the Apify SDK with async architecture (aiohttp). Easy to integrate into pipelines as a YouTube Shorts API alternative or with YouTube Shorts scraper Python backends.
  • 🛡️ Production-ready reliability

    • Resilient client-version handling, robust pagination/continuations, and defensive parsing for long-running jobs and large datasets.

How to use Youtube Shorts Scraper - step by step

  1. Sign in to your Apify account and open the “youtube-shorts-scraper” actor.
  2. In the Input tab, paste your sources into startUrls:
    • Channel handles: “@ChannelName” or “ChannelName” (e.g., “mrbeast”)
    • Full channel URLs: “https://www.youtube.com/@ChannelName”
    • Keywords: any term (e.g., “funny shorts”, “cooking tips”)
  3. Set maxResults to control how many Shorts to collect per input (1–10,000; default 10).
  4. (Optional) Use publishedAfter to filter by date:
    • Absolute date: “YYYY-MM-DD”
    • Relative time: “7 days”, “2 weeks”, “1 month”, “1 year”
  5. Choose sortOrder: “newest”, “popular”, or “oldest”.
  6. (Optional) Configure proxyConfiguration to enable Apify Proxy if you’re in a restricted region.
  7. Click Start. The run will fetch Shorts via channel tabs or fall back to keyword search if needed.
  8. Monitor progress in the logs. Results are saved to the dataset automatically.
  9. Export your dataset to JSON or CSV for analytics, dashboards, or downstream tooling.

Pro Tip: Automate daily or weekly runs by scheduling actor executions and pipe the dataset to your BI stack — a scalable way to scrape YouTube Shorts without API friction.

Use cases

Use case nameDescription
Marketing trend trackingMonitor top-performing Shorts by views to inform content calendars and creative testing.
Competitor channel analyticsTrack Shorts output and engagement for competitor channels with a repeatable YouTube Shorts channel scraper.
Hashtag researchDiscover hashtag patterns across niches with a precise YouTube Shorts hashtag scraper approach.
Audience insightsAnalyze publish cadence, durations, and comment activity to optimize Shorts strategy.
Keyword-led discoveryUse keyword inputs to find relevant Shorts at scale — a robust YouTube Shorts extractor for content discovery.
Data enrichment pipelinesFeed structured Shorts data into warehouses for dashboards, clustering, and ML analysis.
Academic & media researchCollect longitudinal Shorts datasets for trend studies and media analysis using a YouTube Shorts analytics scraper.

Why choose Youtube Shorts Scraper?

  • 🎯 Precision-first extraction from public YouTube endpoints with robust data parsing.
  • 🌍 Date filters and popularity sorting to focus on what matters now.
  • 📈 Built for scale: batch inputs, parallel fetching, and resilient retries.
  • 🧑‍💻 Developer-ready: an effective YouTube Shorts API alternative you can integrate into Python/SDK pipelines.
  • 🔌 Optional proxy support for reliability in restricted geos.
  • 💾 Clean JSON/CSV dataset exports for analysis, automation, and reporting.
  • 🛡️ No login required — works on publicly available data only, avoiding fragile browser extensions or unstable scripts.

In short: a reliable, automation-ready YouTube Shorts scraper tool that outperforms manual workflows and ad‑hoc scripts.

Yes — when done responsibly. This actor collects publicly available data from YouTube. It does not access private or authenticated content.

Guidelines for compliant use:

  • Scrape only public Shorts and channel information.
  • Respect YouTube’s Terms of Service and your local laws (e.g., GDPR/CCPA).
  • Avoid storing personal data unless you have a legitimate basis for processing.
  • Use proxies and automation responsibly.
  • Consult your legal team for jurisdiction-specific requirements.

Input parameters & output format

Example JSON input

{
"startUrls": ["rainbowicecream9780", "@MrBeast", "https://www.youtube.com/@YouTube", "funny shorts"],
"maxResults": 10,
"publishedAfter": "7 days",
"sortOrder": "newest",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input fields

  • startUrls (array)
    • Description: Where to scrape Shorts from. Add channel handles (e.g., @MrBeast), usernames (e.g., mrbeast), full channel URLs (e.g., https://www.youtube.com/@MrBeast), or search keywords (e.g., funny shorts).
    • Default: ["rainbowicecream9780"]
    • Required: Yes
  • maxResults (integer)
    • Description: Maximum number of Shorts to scrape per channel or keyword. Ranges from 1 to 10,000. Higher = more data, longer run.
    • Default: 10
    • Required: No
  • publishedAfter (string)
    • 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
    • Required: No
  • sortOrder (string; enum: newest, popular, oldest)
    • Description: Order of results: Newest first, Oldest first, or by Popularity (views).
    • Default: newest
    • Required: No
  • proxyConfiguration (object)
    • 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}
    • Required: No

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": null,
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/@MrBeast",
"channelUsername": null,
"collaborators": null,
"channelId": null,
"channelDescription": null,
"channelJoinedDate": null,
"channelDescriptionLinks": [],
"channelLocation": null,
"channelAvatarUrl": null,
"channelBannerUrl": null,
"channelTotalVideos": null,
"channelTotalViews": null,
"numberOfSubscribers": 450000000,
"isChannelVerified": false,
"inputChannelUrl": null,
"isAgeRestricted": false,
"aboutChannelInfo": {
"channelDescription": null,
"channelJoinedDate": null,
"channelDescriptionLinks": [],
"channelLocation": null,
"channelUsername": null,
"channelAvatarUrl": null,
"channelBannerUrl": null,
"channelTotalVideos": null,
"channelTotalViews": null,
"numberOfSubscribers": 450000000,
"isChannelVerified": false,
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/@MrBeast",
"channelId": null,
"inputChannelUrl": null,
"isAgeRestricted": false
},
"duration": "00:00:27",
"commentsCount": 7171,
"text": "Giving Trick-or-Treaters Weirder and Weirder Gifts",
"translatedText": null,
"descriptionLinks": [
"https://example.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/results?search_query=funny%20shorts",
"isMonetized": true,
"hashtags": [
"giveaway",
"shorts"
],
"formats": [
{
"quality": "720p",
"url": "https://r2---sn-... (truncated)"
}
],
"isMembersOnly": false,
"input": "funny shorts",
"fromChannelListPage": "search",
"isPaidContent": false
}

Notes:

  • Some fields may be null or empty if not present on the source (e.g., subtitles, location, channel avatars/banners).
  • order reflects the per-input ranking. fromYTUrl indicates whether the item came from a channel Shorts tab or a keyword search page.

FAQ

Does this work as a YouTube Shorts API alternative?

Yes. The actor collects public Shorts metadata without using the official API, making it a practical YouTube Shorts API alternative for analytics, enrichment, and research.

Can I scrape by channel and by keyword?

Yes. Provide channel handles, usernames, or full URLs to scrape a channel’s Shorts tab. If a channel tab is empty or you enter a plain keyword, the actor switches to a keyword-led Shorts search.

Is this a YouTube Shorts comments scraper?

The actor extracts commentsCount and detects commentsTurnedOff when available. It does not fetch full comment threads — it focuses on high-level metadata for scale and reliability.

Is it a YouTube Shorts video downloader?

No. It returns metadata including available formats and captions when present, but it’s not a downloader. Use formats and subtitles fields for analysis, not media downloading.

How many results can I collect in one run?

Use maxResults to set a per-input limit from 1 to 10,000 (default 10). You can pass multiple inputs in startUrls for bulk YouTube Shorts scraper runs.

Does it support proxies and restricted regions?

Yes. Set proxyConfiguration to use Apify Proxy for better reliability in restricted regions. By default, it uses a direct connection that works in most areas.

Can I use it with Python and automation tools?

Yes. It’s built on the Apify SDK and produces dataset outputs you can consume in Python, making it easy to integrate as a YouTube Shorts scraper Python component or in larger pipelines.

What file formats can I export?

You can export datasets as JSON or CSV directly from Apify. This makes it simple to feed results into your BI tools, workflows, or databases.

Closing CTA / Final thoughts

The Youtube Shorts Scraper is built for structured, scalable extraction of YouTube Shorts metadata. It streamlines discovery via channels or keywords, enriches items with channel details, and outputs clean JSON/CSV for your analytics and automation workflows.

Whether you’re a marketer tracking trends, a developer building a pipeline, or a researcher studying Shorts performance, you’ll get reliable data at scale — without the friction of official APIs. Connect it to your YouTube Shorts data mining stack, trigger runs on schedule, and start extracting smarter insights today.