YouTube Shorts Scraper [Only $0.45] avatar

YouTube Shorts Scraper [Only $0.45]

Pricing

from $0.45 / 1,000 results

Go to Apify Store
YouTube Shorts Scraper [Only $0.45]

YouTube Shorts Scraper [Only $0.45]

Unlock YouTube Shorts analytics! Extract views, likes, and engagement data from any channel. Get complete channel stats: 919M+ views tracking, subscriber counts, join dates, locations. Bulk scrape with sorting options. Perfect for content creators, marketers, and researchers analyzing trends.

Pricing

from $0.45 / 1,000 results

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

4 days ago

Last modified

Share

YouTube Shorts Scraper - Extract Shorts, Channel Data & Engagement Metrics

Unlock the power of YouTube Shorts analytics with our comprehensive Shorts Scraper. Extract detailed metadata, engagement metrics, and complete channel information from any YouTube Shorts channel or individual short video.

Overview

This actor allows you to scrape detailed information about YouTube Shorts, including title, view count, likes, duration, thumbnail URLs, and comprehensive channel metadata. Extract all shorts from any channel with complete engagement data and channel statistics. It provides valuable insights for content creators, marketers, and researchers looking to analyze Shorts performance, channel growth, and audience engagement.

Features

  • Complete Shorts Information: Extract comprehensive metadata about each short video including title, views, likes, duration, and upload date.
  • Channel Analytics: Get detailed channel information including total subscribers, total views, total videos, join date, and location.
  • Engagement Metrics: Capture view counts, like counts, and engagement statistics for every short.
  • Channel Branding Assets: Extract channel avatar URLs, banner images, and profile information.
  • Bulk Scraping: Scrape all shorts from a channel or specify a maximum number of items.
  • Sorting Options: Sort shorts by NEWEST, POPULAR, or OLDEST to get exactly the content you need.
  • Hashtag Extraction: Automatically extract all hashtags from short descriptions.
  • Customizable: Flexible configuration options including max items, sorting, and concurrency settings.
  • Proxy Support: Built-in proxy configuration to enhance scraping reliability and avoid blocks.
  • Scrape 40+ critical data points from any YouTube Short, including:

🎯 Core Metrics

  • View counts per short
  • Like counts (real-time engagement data)
  • Video duration and upload date
  • Short type and format information

πŸ“Š Channel Analytics

  • Total subscriber count
  • Total channel views (all-time)
  • Total videos published
  • Channel join date and location
  • Channel verification status

πŸ“œ Content Details

  • Complete Short Metadata
    • Title and translated title support
    • Thumbnail URLs (high quality)
    • Hashtag extraction
    • Description and links
  • Channel Information:
    • Channel description
    • Channel username and ID
    • Avatar and banner URLs
    • Age restriction status

πŸ›  Technical Features

  • Automatic resolution of:
    • Channel URLs (handle, @username, or channel ID)
    • Individual short URLs
    • Bulk channel shorts extraction

How to Use

  1. Set Up: Ensure you have an Apify account and access to the Apify platform.
  2. Configure Input: Set the YouTube channel URL(s) or individual short URL(s) you want to scrape (see Input Configuration section).
  3. Adjust Parameters: (Optional) Configure maxItems, sorting order (NEWEST/POPULAR/OLDEST), concurrency, and proxy settings.
  4. Run the Scraper: Execute the scraper on the Apify platform.
  5. Data Collection: The scraper will output detailed data about each short including views, likes, and complete channel metadata.

Input Configuration

Here's an example of how to set up the input for the YouTube Shorts Scraper:

{
"startUrls": [
"rainbowicecream9780",
"https://www.youtube.com/@channelname/shorts"
],
"searchQueries": ["web scraping", "apify tutorial"],
"hashtags": ["shorts", "coding"],
"shortUrls": [
"https://www.youtube.com/shorts/HKs9NvVRi5s"
],
"maxItems": 50,
"maxResultsShorts": 100,
"sortChannelShortsBy": "NEWEST",
"oldestPostDate": "2026-01-01",
"maxConcurrency": 10,
"minConcurrency": 1,
"maxRequestRetries": 10,
"includeTranscript": false,
"downloadVideo": false,
"language": "default",
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Input Fields Explanation

You need at least one source: startUrls, searchQueries, hashtags, and/or shortUrls (or deprecated channels merged into startUrls).

Data sources

FieldTypeDescription
startUrlsstring[]All channel scraping in one list: handles ("name" or "@name"), full Shorts tab URLs (https://www.youtube.com/@handle/shorts, m.youtube.com, /channel/UC…/shorts, /c/…/shorts), or scheme-less youtube.com/…. Optional if you use search, hashtags, or direct Short URLs.
searchQueriesstring[]Keywords for YouTube Shorts search (each query is run separately; same detail pipeline as channels).
hashtagsstring[]Hashtag hub pages: enter apify or #apify per row β†’ /hashtag/{tag}/shorts.
shortUrlsstring[]Direct Shorts only: youtube.com/shorts/VIDEO_ID, watch?v=, youtu.be/…. Each unique video id is scraped once; counts toward maxItems.
channelsstring[]Deprecated. Not shown in the Apify Console input form; still accepted via API and merged into startUrls. Use startUrls only.

Limits and filtering

FieldTypeDescription
maxItemsnumberGlobal cap: maximum total Shorts to scrape (default in actor code: 10 if omitted).
maxResultsShortsnumberPer-source cap: max Shorts per channel, per search query, or per hashtag (in addition to maxItems).
sortChannelShortsBystringChannel Shorts tab order: "NEWEST" (default), "POPULAR", or "OLDEST" (uses YouTube sort chips for Popular/Oldest).
oldestPostDatestringOnly keep Shorts published on or after this threshold. Absolute: YYYY-MM-DD (UTC start of day, inclusive). Relative: e.g. 7 days, 2 weeks, 3 months, 1 year. Empty = disabled.

Crawler and reliability

FieldTypeDefault (input schema)Description
maxConcurrencynumber10Max pages processed in parallel.
minConcurrencynumber1Min concurrent pages.
maxRequestRetriesnumber10Retries per failed request before giving up.

If you pass a minimal JSON body without maxRequestRetries, the actor code currently falls back to 3; the Apify Console usually prefills 10 from the schema.

Proxy

FieldTypeDescription
proxyobjectStandard Apify proxy settings: e.g. useApifyProxy, apifyProxyGroups (e.g. RESIDENTIAL), apifyProxyCountry, or custom proxyUrls. See Apify proxy docs.

Extra fields (API / JSON input only)

These are not in the current Apify input_schema.json but are read by the actor when present in JSON (local runs or API):

FieldTypeDefaultDescription
includeTranscriptbooleanfalseFetch transcript text when available.
downloadVideobooleanfalseDownload video to Key-Value Store (heavier run).
languagestring"default"Transcript / translation language hint (see commented schema in main.ts for full enum).

Output Structure

The output data includes detailed information about each YouTube Short along with comprehensive channel metadata. Here's a complete sample of the structure:

[
{
"title": "ASRM Satisfying sounds #asmr #music #funny #animation #shortvideo #shorts #satisfying",
"translatedTitle": null,
"type": "shorts",
"id": "HKs9NvVRi5s",
"url": "https://www.youtube.com/shorts/HKs9NvVRi5s",
"thumbnailUrl": "https://i.ytimg.com/vi/HKs9NvVRi5s/hq2.jpg?sqp=-oaymwFACKgBEF5IWvKriqkDMwgBFQAAiEIYANgBAeIBCggYEAIYBjgBQAHwAQH4AbYIgAKAD4oCDAgAEAEYciBDKDkwDw==&rs=AOn4CLBaOHct_7Ob2lwOZzME6tCzLeyl5g",
"viewCount": 173323,
"date": "2025-08-04T03:00:33-07:00",
"likes": 1251,
"location": null,
"channelName": "Coco Creator Rainbow",
"channelUrl": "https://www.youtube.com/channel/UC3N1VbltR6aREupzvJ8y-sw",
"channelUsername": "rainbowicecream9780",
"collaborators": null,
"channelId": "UC3N1VbltR6aREupzvJ8y-sw",
"channelDescription": "Thank you so much! I appreciate you all watching the videos.\n",
"channelJoinedDate": "Aug 9, 2021",
"channelDescriptionLinks": [],
"channelLocation": "United States",
"channelAvatarUrl": "https://yt3.googleusercontent.com/nVSr8lanf5UPU4Mc6oWOmKWqQ8VoFceHcQsM5sW63ZPp4r1S6M6pHr4stNOMGyknf1ig1Wjh3A=s160-c-k-c0x00ffffff-no-rj",
"channelBannerUrl": "https://yt3.googleusercontent.com/Wg27ZtirmK5sH4Bx7atk4CugZubFCTwsXZsKdITtWPT6aTiikJgl26heFNxnM16UJi0-qnlUxQ=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj",
"channelTotalVideos": 230,
"channelTotalViews": 919280766,
"numberOfSubscribers": 1380000,
"isChannelVerified": false,
"inputChannelUrl": "https://www.youtube.com/@rainbowicecream9780/shorts",
"isAgeRestricted": false,
"aboutChannelInfo": {
"channelName": "Coco Creator Rainbow",
"channelId": "UC3N1VbltR6aREupzvJ8y-sw",
"channelUrl": "https://www.youtube.com/channel/UC3N1VbltR6aREupzvJ8y-sw",
"channelUsername": "rainbowicecream9780",
"numberOfSubscribers": 1380000,
"channelTotalViews": 919280766,
"channelTotalVideos": 230,
"channelAvatarUrl": "https://yt3.googleusercontent.com/nVSr8lanf5UPU4Mc6oWOmKWqQ8VoFceHcQsM5sW63ZPp4r1S6M6pHr4stNOMGyknf1ig1Wjh3A=s160-c-k-c0x00ffffff-no-rj",
"channelBannerUrl": "https://yt3.googleusercontent.com/Wg27ZtirmK5sH4Bx7atk4CugZubFCTwsXZsKdITtWPT6aTiikJgl26heFNxnM16UJi0-qnlUxQ=w2560-fcrop64=1,00005a57ffffa5a8-k-c0xffffffff-no-nd-rj",
"isChannelVerified": false,
"channelDescription": "Thank you so much! I appreciate you all watching the videos.\n",
"channelJoinedDate": "Aug 9, 2021",
"channelLocation": "United States",
"isAgeRestricted": false,
"inputChannelUrl": "https://www.youtube.com/@rainbowicecream9780/shorts"
},
"duration": "00:00:51",
"commentsCount": 0,
"text": null,
"translatedText": null,
"descriptionLinks": null,
"subtitles": null,
"order": 0,
"commentsTurnedOff": false,
"fromYTUrl": "https://www.youtube.com/@rainbowicecream9780/shorts",
"isMonetized": null,
"hashtags": [],
"formats": [],
"isMembersOnly": false,
"input": "https://www.youtube.com/@rainbowicecream9780/shorts",
"fromChannelListPage": "shorts",
"isPaidContent": false
}
]

Output Fields Explanation

Each short in the output contains the following fields:

🎬 Video Information

  • title (string): The title of the YouTube Short as it appears on YouTube
  • translatedTitle (string|null): Translated title if translation is enabled, otherwise null
  • type (string): Content type, always "shorts" for YouTube Shorts
  • id (string): Unique YouTube video ID for the short
  • url (string): Full URL to access the short on YouTube
  • thumbnailUrl (string): High-quality thumbnail image URL for the short
  • duration (string): Video duration in HH:MM:SS format (e.g., "00:00:51")
  • date (string): Upload/publish date in ISO 8601 format
  • order (number): Sequential order number of the short in the result set

πŸ“Š Engagement Metrics

  • viewCount (number): Total number of views the short has received
  • likes (number): Total number of likes on the short
  • commentsCount (number): Total number of comments on the short
  • commentsTurnedOff (boolean): Whether comments are disabled for this short

πŸ“Ί Channel Information

  • channelName (string): Display name of the channel that posted the short
  • channelUrl (string): Full URL to the channel page
  • channelUsername (string): Channel username/handle (without @ symbol)
  • channelId (string): Unique YouTube channel ID
  • channelDescription (string): Channel's about/description text
  • channelJoinedDate (string): Date when the channel was created (e.g., "Aug 9, 2021")
  • channelLocation (string): Geographic location of the channel
  • channelAvatarUrl (string): URL to the channel's profile picture/avatar
  • channelBannerUrl (string): URL to the channel's banner image
  • channelDescriptionLinks (array): Array of links from the channel description

πŸ“ˆ Channel Statistics

  • numberOfSubscribers (number): Total subscriber count for the channel
  • channelTotalViews (number): Total all-time views across all channel videos
  • channelTotalVideos (number): Total number of videos published on the channel
  • isChannelVerified (boolean): Whether the channel has YouTube verification badge

πŸ” Additional Metadata

  • location (string|null): Geographic location tag for the video (if set)
  • collaborators (array|null): List of collaborators on the video (if any)
  • isAgeRestricted (boolean): Whether the content is age-restricted
  • isMonetized (boolean|null): Monetization status of the video
  • isMembersOnly (boolean): Whether the content is restricted to channel members
  • isPaidContent (boolean): Whether this is paid promotional content
  • hashtags (array): Array of hashtags extracted from the video title/description
  • text (string|null): Video description text
  • translatedText (string|null): Translated description if translation is enabled
  • descriptionLinks (array|null): Links extracted from video description
  • subtitles (array|null): Available subtitle/caption tracks
  • formats (array): Available video format information

πŸ”„ Scraper Context

  • inputChannelUrl (string): The original input URL used to scrape this short
  • fromYTUrl (string): The YouTube URL where this short was found
  • input (string): The exact input parameter provided to the scraper
  • fromChannelListPage (string): Which channel page type was scraped ("shorts", "videos", etc.)

πŸ“¦ aboutChannelInfo Object

Contains a complete snapshot of channel metadata at the time of scraping:

  • channelName (string): Channel display name
  • channelId (string): Unique channel identifier
  • channelUrl (string): Full channel URL
  • channelUsername (string): Channel username/handle
  • numberOfSubscribers (number): Subscriber count
  • channelTotalViews (number): All-time channel views
  • channelTotalVideos (number): Total videos published
  • channelAvatarUrl (string): Profile picture URL
  • channelBannerUrl (string): Channel banner URL
  • isChannelVerified (boolean): Verification status
  • channelDescription (string): Channel description
  • channelJoinedDate (string): Channel creation date
  • channelLocation (string): Channel location
  • isAgeRestricted (boolean): Age restriction status
  • inputChannelUrl (string): Input URL used for scraping

Use Cases

This YouTube Shorts scraper is perfect for:

  • Content Creators: Analyze competitor shorts performance and engagement metrics
  • Marketers: Track trending shorts and identify viral content patterns
  • Researchers: Collect data on shorts engagement, channel growth, and content trends
  • Data Analysts: Build datasets for YouTube Shorts analytics and performance studies
  • Social Media Managers: Monitor channel performance and shorts strategy effectiveness
  • SEO Specialists: Analyze hashtag usage and optimize short video discoverability

Notes

  • The scraper automatically handles YouTube's dynamic content loading
  • Desktop YouTube structure is used to ensure likes and views data is available
  • Proxy usage is recommended to avoid rate limiting on large scrapes
  • All engagement metrics are captured in real-time at the moment of scraping
  • Channel metadata is extracted once per channel and applied to all shorts from that channel

Support

Additional Services