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) collects Shorts metadata at scale — titles, descriptions, hashtags, views, likes, comments, channel, audio & URLs — with fast CSV/JSON exports. 🔍 Perfect for research, trend tracking & competitor analysis. ⚡ API-ready.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

ScrapeMesh

ScrapeMesh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 days ago

Last modified

Share

Youtube Shorts Scraper

Youtube Shorts Scraper is a fast, scalable Apify actor that collects structured metadata from YouTube Shorts across channels, handles, and keyword searches. It solves the manual, error-prone task of gathering Shorts data by programmatically exporting titles, views, likes, comments, channel details, hashtags, and more to CSV/JSON for analysis. Built for marketers, developers, data analysts, and researchers, it enables trend tracking, content research, and competitor analysis at scale.

What data / output can you get?

Below are examples of the structured fields saved for each Short. Results export cleanly to CSV or JSON.

Data fieldDescriptionExample value
idYouTube video ID (11 chars)R7MkZL5i3FQ
urlCanonical Shorts URLhttps://www.youtube.com/shorts/R7MkZL5i3FQ
titleVideo title (if available)Giving Trick-or-Treaters Weirder and Weirder Gifts
thumbnailUrlBest-available thumbnail URLhttps://i.ytimg.com/vi/R7MkZL5i3FQ/hqdefault.jpg
viewCountViews parsed from the page64493572
likesLikes parsed from the action bar/header909841
datePublish date (ISO if detected)2025-11-07T00:00:00.000Z
durationVideo duration formatted as 00:MM:SS or HH:MM:SS00:27
commentsCountNumber of comments if present7171
commentsTurnedOffWhether comments are disabledfalse
channelNameChannel display nameMrBeast
channelUrlCanonical channel URL when resolvedhttps://www.youtube.com/@MrBeast

Bonus fields include: numberOfSubscribers, channel visuals (channelAvatarUrl, channelBannerUrl), hashtags, descriptionLinks, subtitles, monetization flag (isMonetized), channel totals (channelTotalVideos, channelTotalViews), and a nested aboutChannelInfo object with merged “About” tab signals. Exports are available as JSON or CSV.

Key features

  • 🔎 Accurate Shorts targeting by channel or keyword
    Extracts Shorts reliably from channel “Shorts” tabs and from keyword searches using YouTube’s internal search with a Shorts filter fallback.

  • 📦 Batch scraping & bulk automation
    Provide multiple handles, URLs, or keywords in one run. The actor collects up to your configured limit per input with concurrency and robust retries.

  • 📊 Rich metadata extraction
    Captures titles, views, likes, comments, channel info, subscriber counts, duration, hashtags, and links found in descriptions.

  • 🔄 Sorting & time filtering
    Control result order with newest, oldest, or popular (views), and limit by publish date (absolute date or relative periods like “7 days,” “1 month”).

  • 🌐 Optional Apify Proxy support
    Enable Apify Proxy directly from input to improve reliability in restricted regions. When off, the actor connects directly.

  • 🧰 Developer-friendly & API-ready
    Built on the Apify platform with clean JSON outputs for integration into analytics pipelines, dashboards, or downstream automations.

  • 📤 Fast CSV/JSON exports
    Download results from the Apify dataset in CSV or JSON for immediate analysis and sharing.

  • 🏗️ Production-ready reliability
    Async architecture with retries and pagination handling to process large inputs efficiently on Apify’s infrastructure.

How to use Youtube Shorts Scraper - step by step

  1. Create or log in to your Apify account.
  2. Open the “youtube-shorts-scraper” actor in the Apify Console.
  3. Add your inputs in startUrls as a list of strings. You can mix:
    • Channel handles/usernames (e.g., @MrBeast, mrbeast)
    • Full channel URLs (e.g., https://www.youtube.com/@MrBeast)
    • Keyword queries (e.g., funny shorts, cooking tips)
  4. Set maxResults to control how many Shorts to collect per input (1–10,000).
  5. Optionally filter by publishedAfter using a date (YYYY-MM-DD) or relative time (e.g., 7 days, 2 weeks, 1 month, 1 year).
  6. Choose sortOrder: newest, oldest, or popular (views).
  7. (Optional) Configure proxyConfiguration and set useApifyProxy to true if you need Apify Proxy for your region.
  8. Click Start. The run will queue requests, fetch IDs, enrich each Short, and push items to the dataset.
  9. Monitor progress in logs. Each saved item is logged with its order, title, and ID.
  10. Export your results from the dataset in JSON or CSV.

Pro tip: Kick off runs via the Apify API with the same input fields to embed the scraper in your automated workflows and analytics pipelines.

Use cases

Use caseDescription
Marketing research – content benchmarkingTrack Shorts performance across competitors to inform your creative strategy with titles, views, likes, and comments.
Trend analysis – keyword discoveryDiscover trending Shorts for topics like “funny shorts” or “cooking tips” using keyword inputs and popularity sorting.
Channel intelligence – audience growthMonitor channels’ subscriber counts and totals to understand growth and engagement trends over time.
Editorial planning – topic validationValidate ideas by reviewing which Shorts formats and hashtags perform best in your niche.
Data analytics – pipeline enrichmentFeed structured Shorts metadata into BI tools or dashboards via JSON exports for time-series and engagement modeling.
Academic & social research – media studiesAnalyze public Shorts publishing patterns, durations, and metadata for research and reporting.

Why choose Youtube Shorts Scraper?

Built for precision, scale, and clean outputs, Youtube Shorts Scraper delivers reliable, analysis-ready datasets.

  • ✅ Accurate Shorts focus via channel tabs and keyword search
  • ⚡ Scales across multiple inputs with concurrency and retries
  • 🧾 Clean CSV/JSON exports for direct analytics use
  • 🧩 API-ready outputs for pipelines and integrations
  • 🌍 Optional Apify Proxy for regions that need it
  • 🔒 No login or cookies required — public data only
  • 🧱 Production-ready on Apify’s infrastructure, designed for stability

Unlike brittle browser extensions or one-off scripts, this actor returns structured, consistent results you can trust for analytics and automation.

Yes — when used responsibly. This actor accesses publicly available YouTube content and does not log in or scrape private data. Always:

  • Scrape only public pages and metadata.
  • Respect YouTube’s Terms of Service and applicable laws (e.g., GDPR/CCPA).
  • Use proxies responsibly and avoid abusive request patterns.
  • Consult your legal team for edge cases or regulated use.

Input parameters & output format

Example input JSON

{
"startUrls": [
"@MrBeast",
"https://www.youtube.com/@YouTube",
"funny shorts"
],
"maxResults": 25,
"publishedAfter": "2 weeks",
"sortOrder": "popular",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input fields (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 output item (dataset)

Each Short is pushed to the dataset with the following fields:

{
"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": "Making the world awesome one video at a time.",
"channelJoinedDate": "2012-02-19",
"channelDescriptionLinks": [
"https://www.mrbeast.com",
"https://www.youtube.com/@MrBeast"
],
"channelLocation": "United States",
"channelAvatarUrl": "https://yt3.ggpht.com/abc123=s176-c-k-c0x00ffffff-no-rj",
"channelBannerUrl": "https://yt3.ggpht.com/banner123=w1060-fcrop64=1,00005a57ffffa5a8-nd-c0xffffffff-rj-k-no",
"channelTotalVideos": 742,
"channelTotalViews": 32000000000,
"numberOfSubscribers": 450000000,
"isChannelVerified": true,
"inputChannelUrl": "https://www.youtube.com/@MrBeast",
"isAgeRestricted": false,
"aboutChannelInfo": {
"channelDescription": "Making the world awesome one video at a time.",
"channelJoinedDate": "2012-02-19",
"channelDescriptionLinks": [
"https://www.mrbeast.com",
"https://www.youtube.com/@MrBeast"
],
"channelLocation": "United States",
"channelUsername": "MrBeast",
"channelAvatarUrl": "https://yt3.ggpht.com/abc123=s176-c-k-c0x00ffffff-no-rj",
"channelBannerUrl": "https://yt3.ggpht.com/banner123=w1060-fcrop64=1,00005a57ffffa5a8-nd-c0xffffffff-rj-k-no",
"channelTotalVideos": 742,
"channelTotalViews": 32000000000,
"numberOfSubscribers": 450000000,
"isChannelVerified": true,
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/@MrBeast",
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"inputChannelUrl": "https://www.youtube.com/@MrBeast",
"isAgeRestricted": false
},
"duration": "00:27",
"commentsCount": 7171,
"text": "Giving Trick-or-Treaters Weirder and Weirder Gifts",
"translatedText": null,
"descriptionLinks": [
"https://shop.mrbeast.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": [
"Halloween",
"Shorts"
],
"formats": [
{
"quality": "hd720",
"url": "https://rr2---sn-abc.googlevideo.com/videoplayback?...truncated..."
}
],
"isMembersOnly": false,
"input": "@MrBeast",
"fromChannelListPage": "shorts",
"isPaidContent": false
}

Notes:

  • Many fields are best-effort and may be null or empty if YouTube doesn’t expose them for a given video/channel.
  • The actor adds contextual fields like input, fromYTUrl, order, and fromChannelListPage to help trace lineage and ordering.
  • The aboutChannelInfo object aggregates channel “About” signals when available.

FAQ

Do I need to log in or use cookies to run this scraper?

No. The actor only accesses public YouTube pages and does not require authentication or cookies. It’s designed for unauthenticated, public data collection.

Can I scrape by keyword as well as by channel?

Yes. Add any search phrase to startUrls (e.g., “funny shorts”) and the actor will use YouTube’s internal search to collect Shorts matching the query.

How many results can I collect per input?

You control this with maxResults. It accepts 1 to 10,000 per channel or keyword. Keep in mind that higher limits mean longer runs.

How can I sort or filter the results?

Use sortOrder to choose newest, oldest, or popular (views). You can also filter by publishedAfter using either a date (YYYY-MM-DD) or a relative period such as “7 days,” “2 weeks,” “1 month,” or “1 year”.

What formats can I export to?

Results are saved to the Apify dataset and can be exported to JSON or CSV directly from the platform.

Does it work with proxies?

Yes. Set proxyConfiguration.useApifyProxy to true to route requests through Apify Proxy for more reliable scraping in restricted regions. When false, the actor uses a direct connection.

Which data fields are included in the output?

Each item includes core video fields (id, url, title, thumbnailUrl, viewCount, likes, date, duration, commentsCount, commentsTurnedOff), channel fields (channelName, channelUrl, numberOfSubscribers, visuals), description extras (hashtags, descriptionLinks, subtitles), monetization and context fields, and the nested aboutChannelInfo object when available.

Can I automate this via API?

Yes. Start runs via the Apify API with the same input schema fields and fetch results programmatically from the dataset endpoint for downstream processing.

Closing CTA / Final thoughts

Youtube Shorts Scraper is built to turn public YouTube Shorts into structured, analysis-ready datasets. With flexible inputs (channels, handles, keywords), rich metadata extraction, sorting and date filtering, and CSV/JSON exports, it’s ideal for marketers, analysts, developers, and researchers. Integrate via the Apify API to automate collection and feed your BI pipelines. Start extracting smarter insights from YouTube Shorts today.