YouTube Shorts Scraper avatar

YouTube Shorts Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
YouTube Shorts Scraper

YouTube Shorts Scraper

YouTube Shorts Scraper extracts Shorts data including titles, views, likes, comments, upload dates, channels, hashtags, descriptions, captions, and engagement metrics. Ideal for content research, competitor analysis, trend discovery, and AI data pipelines.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Data Minds

Data Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Categories

Share

๐Ÿ“ฑ YouTube Shorts Scraper โ€” Channel Shorts Data Extractor

YouTube Shorts Scraper is a production-grade Apify Actor for extracting YouTube Shorts data straight from any channel โ€” no official Data API key, no login, no quota. Give it one or more channels and it returns every Short's views, likes, comments, hashtags, subtitles and upload date, plus the full channel profile (subscribers, totals, About panel, links) โ€” streamed to your Apify Dataset in real time.

๐Ÿ’ก Need a custom version, private integration, or a tailored pipeline? Email hello.dataminds@gmail.com.

Built for content researchers, marketers, influencer/creator-outreach teams, social listening & trend analysis, and AI/LLM data pipelines โ€” anyone who needs clean YouTube Shorts data without scrolling by hand or wrestling with API quotas.


๐Ÿ“‘ Table of contents


๐Ÿ“ฑ What is YouTube Shorts Scraper?

The official YouTube Data API charges you in daily quota units, has no dedicated "Shorts" endpoint, and still needs a Google Cloud key to set up.

This Actor is a drop-in replacement that works straight out of the box:

  • Accepts any channel โ€” a username, an @handle, or any channel/Shorts URL.
  • Returns the full Short record โ€” title, URL, thumbnail, duration, upload date, hashtags, view/like/comment counts, subtitle-track availability.
  • Reads the channel About panel โ€” description, country, join date, exact subscriber/view/video counts, and every external link.
  • Sorts and filters โ€” Newest / Popular / Oldest, plus a date cutoff (YYYY-MM-DD or "last N days").
  • Streams every finished result to your Dataset โ€” export to JSON, CSV, Excel, XML, or pull them through the Apify API.

If you have ever needed "every recent Short from this channel, with view counts and channel details, as clean rows" โ€” this is the Actor.


โœจ Main features

  • ๐Ÿ”— Flexible channel input โ€” plain username, @handle, or a full channel/Shorts URL, mixed freely in one bulk field.
  • ๐Ÿ“ฑ Every Short field that matters โ€” views, likes, comments (count + turned-off flag), duration, upload date, hashtags, description links, members-only/paid-promotion flags.
  • ๐Ÿ“ Subtitle-track metadata โ€” language, auto-generated flag, and the caption URL for every Short that has one.
  • ๐Ÿ“บ Channel enrichment on every row โ€” subscriber count, total videos/views, join date, country, verified badge and About-panel links, attached to every Short from that channel.
  • ๐Ÿ”ƒ Sort control โ€” Newest, Popular or Oldest, matching the chips on the channel's own Shorts shelf.
  • ๐Ÿ“… Date filtering โ€” an absolute date or a relative "last N days" cutoff, with automatic early-stop once results scanned pass it.
  • ๐Ÿšฆ Automatic network fallback โ€” direct โžœ datacenter โžœ residential, sticky after the first switch, with a last-resort browser session.
  • ๐Ÿ“ฆ Live dataset writes and six prebuilt table views โ€” Overview, Channel & About, Engagement, Media, Source, Errors.
  • ๐Ÿ“Š Run summary stored in the key-value store, with per-run totals.

๐Ÿ‘ฅ Who is this Actor for?

  • ๐Ÿ”ฌ Content & trend researchers โ€” track what's performing on a channel's Shorts shelf without manual scrolling.
  • ๐Ÿ“ˆ Marketers & SEO teams โ€” mine titles, hashtags and posting cadence for content ideas.
  • ๐Ÿค Creator/influencer outreach โ€” pull channel details and subscriber counts for partnership lists.
  • ๐Ÿ‘‚ Social listening tools โ€” monitor a competitor or brand's Shorts output over time.
  • ๐Ÿค– AI / LLM data pipelines โ€” clean, structured Shorts data for RAG and fine-tuning.
  • ๐Ÿ—ƒ๏ธ Analytics & BI teams โ€” feed a warehouse with view/like/comment time series per channel.
  • ๐Ÿง‘โ€๐Ÿ’ป Developers โ€” a dependable YouTube Shorts data source with no quota-limited API key to manage.

โš™๏ธ What the scraper does

  1. Reads every channel you provide โ€” one bulk field, any format welcome.
  2. Opens that channel's Shorts shelf and its About panel for full profile details.
  3. Collects the full Short record the moment it finds one โ€” title, stats, thumbnail, hashtags.
  4. Saves every finished result straight to your Dataset โ€” you can watch results land in the Console in real time.
  5. Keeps going even when some channels fail โ€” a channel with no Shorts, or one that doesn't exist, is logged as a clear error row without stopping the run.
  6. Reports a full run summary at the end โ€” totals, network route used, and duration.

๐Ÿ“ฅ Inputs it accepts

Input typeExampleNotes
UsernamemrbeastNo @ needed
Handle@mrbeastWith or without the @
Channel URLhttps://www.youtube.com/@mrbeastAlso /channel/UCโ€ฆ, /c/โ€ฆ
Shorts shelf URLhttps://www.youtube.com/@mrbeast/shortsSame channel, either form works

All of the above can be mixed freely in a single run โ€” paste one per line, or upload a file.


๐Ÿ“ค Output format (Dataset)

Every record streams to the dataset the moment it's ready, organized into six ready-made Console views:

ViewWhat it shows
โœจ OverviewTitle, channel, views, likes, comments, date, duration, link
๐Ÿ“บ Channel & AboutSubscriber/view/video totals, country, join date, verified badge, About links
๐Ÿ“Š EngagementViews, likes, comments, comments-off, members-only, paid-promotion, age-restricted, hashtags
๐ŸŽž๏ธ MediaThumbnail, duration, hashtags, subtitle-track metadata, description
๐Ÿงญ SourceShort ID, originating channel input, Shorts shelf link, collection order
โš ๏ธ ErrorsAny channel that could not be processed, with a clear reason

๐Ÿงพ Example output (JSON)

{
"title": "World's Largest Tennis Match",
"translatedTitle": null,
"type": "shorts",
"id": "5mU6SRS2Bxo",
"url": "https://www.youtube.com/shorts/5mU6SRS2Bxo",
"thumbnailUrl": "https://i.ytimg.com/vi/5mU6SRS2Bxo/maxresdefault.jpg",
"viewCount": 8568953,
"date": "2026-08-23T16:00:04.000Z",
"likes": 202000,
"channelName": "MrBeast",
"channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
"channelUsername": "MrBeast",
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"numberOfSubscribers": 515000000,
"channelTotalVideos": 999,
"channelTotalViews": 138494809693,
"isChannelVerified": true,
"duration": "00:00:51",
"commentsCount": 21521,
"commentsTurnedOff": false,
"hashtags": [],
"isMembersOnly": false,
"isPaidContent": false,
"isAgeRestricted": false,
"input": "https://www.youtube.com/@mrbeast",
"fromChannelListPage": "shorts"
}

Every record also carries the channel's About-panel details (channelDescription, channelJoinedDate, channelDescriptionLinks, channelLocation, channelAvatarUrl, channelBannerUrl) both at the top level and nested under aboutChannelInfo, plus subtitles (caption-track metadata) when available.


โš ๏ธ Error items

When the scraper cannot retrieve data for a given input โ€” for example a channel has no Shorts or does not exist โ€” it pushes an error item to the dataset instead of silently skipping it. Normal output items are never affected; you can tell them apart by the presence of an error field. Check the โš ๏ธ Errors view in your dataset.

{
"url": "https://www.youtube.com/@somechannel",
"input": "somechannel",
"error": "CHANNEL_HAS_NO_SHORTS",
"note": "Channel exists but has no Shorts"
}

Error codes reference

errorMeaning
CHANNEL_DOES_NOT_EXISTChannel URL points to a channel that does not exist
NOT_FOUNDPage was not found / could not be reached
VIDEO_UNAVAILABLEA Short is not available (deleted, region-blocked, etc.)
AGE_RESTRICTEDChannel is age-restricted and cannot be accessed without login
CHANNEL_HAS_NO_SHORTSChannel exists but has no Shorts
DATE_FILTER_TOO_STRICTShorts exist but none match the active date filter
NO_RESULTSNo results collected for this input
NO_VALID_START_URLSNo valid channels were provided
INVALID_INPUTActor failed due to bad configuration

๐Ÿš€ Quick start

Apify Console

  1. Log in at console.apify.com โ†’ Actors โ†’ open YouTube Shorts Scraper.
  2. Paste one or more channels (username, @handle, or URL).
  3. Adjust the Shorts-per-channel limit, sort order or date filter if you want, then click Start.
  4. Watch the log and the Output tab fill up in real time.
  5. Export to JSON, CSV or Excel when it's done.

API

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~youtube-shorts-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channels":["mrbeast"],"maxResultsShorts":10}'

Python client

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("YOUR_USERNAME/youtube-shorts-scraper").call(run_input={
"channels": ["mrbeast"],
"maxResultsShorts": 10,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["viewCount"])

โš™๏ธ Input parameters reference

๐Ÿš€ Start here

FieldTypeDefaultDescription
channelsarray[]Channel usernames, @handles, or URLs โ€” bulk input
maxResultsShortsinteger20Max Shorts to collect per channel

๐Ÿ”Ž Sorting & filtering

FieldTypeDefaultDescription
sortChannelShortsBystringNEWESTNEWEST / POPULAR / OLDEST
oldestPostDatestringโ€”YYYY-MM-DD, or "N days" for the last N days

๐ŸŒ Network & reliability

FieldTypeDefaultDescription
proxyConfigurationobjectno proxyAutomatic direct โ†’ datacenter โ†’ residential fallback unless overridden
browserFallbackbooleantrueLast-resort browser rescue for stubborn requests

โšก Speed & limits

FieldTypeDefaultDescription
maxConcurrencyinteger5Parallel Short-detail fetches per channel
maxRetriesinteger3Retries per request on the current network route
maxScannedinteger5000Safety cap on Shorts scanned per channel (0 = no cap)

๐Ÿ›ก๏ธ Reliability & anti-blocking

This Actor starts every run on a direct connection โ€” no proxy overhead unless it's actually needed. If YouTube pushes back, the run automatically and transparently escalates:

Direct connection โžœ datacenter proxy โžœ residential proxy (3 retries) โžœ last-resort browser session

Once the run escalates to a residential route it stays there for every remaining request, so you don't pay for a slower route longer than necessary. Every fallback is logged clearly in the run log. You can also pin your own proxy group in Proxy configuration to skip the automatic ladder entirely.


๐Ÿ”Œ Integrations & automation

  • Schedules โ€” run this Actor daily/weekly to track a channel's newest Shorts.
  • Webhooks โ€” fire ACTOR.RUN.SUCCEEDED to your own endpoint when a run finishes.
  • Zapier / Make / n8n โ€” feed dataset items straight into a spreadsheet, CRM or Slack alert.
  • MCP / AI agents โ€” call this Actor as a tool from Claude, Cursor or any MCP-compatible client via mcp.apify.com.
  • REST API โ€” pull dataset items directly: GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json.

๐Ÿ’ฐ Pricing & how to control cost

This Actor runs on Apify's pay-per-usage pricing โ€” you pay for the platform compute, proxy and storage your run consumes, no separate per-result fee. To control cost:

  • Start with a low maxResultsShorts to sample a channel before a full run.
  • Leave Proxy configuration on automatic โ€” it only escalates to a paid proxy route when actually needed.
  • Set a tight oldestPostDate when you only care about recent uploads โ€” the scraper stops early once it passes the cutoff.

โ“ Frequently asked questions (FAQ)

Does this need a YouTube Data API key or quota? No โ€” it works without any Google API key or daily quota limit.

Can I scrape an entire channel's Shorts? Yes โ€” add the channel and set maxResultsShorts as high as you need.

Does it return channel details? Yes โ€” every Short carries subscriber count, total videos/views, join date, country and About-panel links from its channel.

Can I filter by upload date? Yes โ€” set oldestPostDate to an absolute date or a relative "N days" value.

Does it work for private or age-restricted channels? No โ€” only publicly available YouTube pages are read, same as any anonymous visitor would see.


๐Ÿ› ๏ธ Troubleshooting

SymptomFix
A channel comes back as an error rowCheck the โš ๏ธ Errors view for the reason โ€” usually the channel is private, deleted, or has no Shorts
Fewer Shorts than maxResultsShortsThe channel may simply have fewer Shorts than requested, or the date filter is too strict
Run seems slowLower maxConcurrency, or check if the run escalated to a slower proxy route in the log

๐Ÿ†˜ Help, support & custom builds

Something not working, or need a custom field, private integration or a bespoke pipeline built on top of this Actor? Email hello.dataminds@gmail.com โ€” we read every message.


This Actor only reads publicly available YouTube pages โ€” the same pages any anonymous visitor's browser can load. It does not bypass logins, paywalls or private content, and it does not extract private user data such as email addresses. You are responsible for how you use the collected data โ€” respect YouTube's Terms of Service, applicable copyright law, and privacy regulations (GDPR, CCPA, etc.) for your jurisdiction and use case.


๐Ÿ”‘ SEO keywords targeted

youtube shorts scraper, youtube shorts data scraper, youtube shorts api alternative, scrape youtube shorts, youtube shorts channel scraper, youtube shorts downloader data, youtube shorts analytics scraper, youtube shorts view count scraper, youtube shorts hashtag scraper, youtube shorts trend scraper, youtube channel scraper, apify youtube shorts actor, scrape youtube shorts without api key, youtube shorts data extraction tool, youtube shorts engagement scraper.