YouTube Shorts Scraper avatar

YouTube Shorts Scraper

Pricing

from $2.80 / 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 $2.80 / 1,000 results

Rating

0.0

(0)

Developer

Data Minds

Data Minds

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

19 hours ago

Last modified

Categories

Share

YouTube Shorts Scraper is an Apify Actor that extracts Shorts from any YouTube channel: views, likes, comments, hashtags, subtitles and full channel details, with no API key or login. Add channel names, @handles or links and get one row per Short in JSON, CSV or Excel, ready for trend research and competitor analysis. From $0.0028 per Short on the Gold plan ($2.80 per 1,000), plus platform usage. ๐Ÿš€ Try it free

What can YouTube Shorts Scraper do?

  • ๐Ÿ“บ Scrape YouTube Shorts by channel - paste usernames, @handles or channel links, one per line, and collect a whole Shorts tab in bulk.
  • ๐Ÿ“Š Stats on every row - views, likes, comments count, duration, upload date and hashtags, like a YouTube Shorts stats scraper and metadata scraper in one.
  • ๐Ÿ‘ฅ Channel data included - subscribers, total videos, total views, country, join date, verified badge and links from the About details.
  • ๐Ÿ”ƒ Sort and filter - newest, popular or oldest first, plus a date filter such as 2026-01-01 or 30 days.
  • ๐Ÿ“ Subtitles and descriptions - a YouTube Shorts subtitles extractor and hashtag extractor: caption tracks with subtitle languages, plus description text and links.
  • โšก Live results - this YouTube Shorts data extractor saves every Short to the dataset as soon as it is collected.
  • ๐Ÿ”Œ Export and automation - download JSON, CSV or Excel, call the YouTube Shorts scraper API, schedule runs or send results to other tools.

What data can I extract from YouTube Shorts?

Each dataset row is one Short. The Overview, Channel & About, Engagement, Media and Source views group the fields below.

FieldDescription
๐ŸŽฌ title, id, url, typeShort title, video ID, link to the Short; type is always shorts.
๐Ÿ“ท thumbnailUrlLink to the largest thumbnail found; with url it gives a YouTube Shorts thumbnail and URL list.
๐Ÿ‘€ viewCountNumber of views.
๐Ÿ‘ likesNumber of likes.
๐Ÿ’ฌ commentsCount, commentsTurnedOffComment count, and whether comments are switched off.
๐Ÿ“… datePublish date and time in UTC.
โณ durationLength as HH:MM:SS.
๐Ÿ”– hashtagsList of hashtags without the # sign.
๐Ÿ“ text, descriptionLinksDescription text and the links inside it.
๐Ÿ”ค subtitlesCaption tracks: language code, language name, auto-generated flag and link.
๐Ÿ”ž isAgeRestricted, isMembersOnly, isPaidContentTrue when the Short is not marked family safe, is for members, or carries a paid promotion label.
๐Ÿ“บ channelName, channelUrl, channelUsername, channelIdChannel name, link, handle and ID.
๐Ÿ‘ฅ numberOfSubscribers, channelTotalVideos, channelTotalViewsSubscriber, video and view totals of the channel.
๐ŸŒ channelLocation, channelJoinedDateCountry and join date from the About details.
โœ… isChannelVerifiedTrue when the channel shows a verified badge.
๐Ÿ”— channelDescription, channelDescriptionLinks, channelAvatarUrl, channelBannerUrlChannel description, links with titles, avatar and banner images.
๐Ÿ“ฆ aboutChannelInfoObject repeating the channel fields plus isAgeRestricted and inputChannelUrl.
๐Ÿ“ฅ input, inputChannelUrl, fromYTUrl, fromChannelListPage, orderYour channel input, the resolved channel link, the Shorts tab link, the source tab and the position in the run.
๐Ÿšง translatedTitle, translatedText, location, collaborators, isMonetized, aiVideoDescription, aiVideoSummaryReserved fields. They are present on every row and currently always null.

Counts such as subscribers and likes can be rounded, as shown publicly. The scraper returns caption track details, not transcript text. Think of it as a YouTube Shorts extractor and YouTube Shorts crawler for channel lists.

What can you do with the data from YouTube Shorts?

๐ŸŽฏ Spot trending Shorts

  1. Put the channels you follow into channels and set sortChannelShortsBy to POPULAR to find popular Shorts on a channel.
  2. Raise maxResultsShorts to 50 and run the YouTube Shorts scraper.
  3. Sort the export by viewCount and likes to see the most viewed Shorts of a channel.

๐Ÿ“ˆ Benchmark competitors

  1. Add competitor channels to channels.
  2. Set oldestPostDate to 30 days to collect Shorts published in the last 30 days.
  3. Compare numberOfSubscribers, viewCount and commentsCount for YouTube Shorts competitor analysis and engagement analysis.

๐Ÿค Build a YouTube creator outreach list

  1. Add a bulk channel list of Shorts creators to channels with a small maxResultsShorts.
  2. Export channelName, channelUrl, numberOfSubscribers (the YouTube channel subscriber count), isChannelVerified (the YouTube channel verified badge) and channelDescriptionLinks.
  3. Filter by subscriber count and country for YouTube influencer research.

๐Ÿ”– Research hashtags and content ideas

  1. Collect recent Shorts from channels in your niche.
  2. Read hashtags, title and text for YouTube Shorts hashtag research and content ideas.
  3. Check duration and date for YouTube Shorts duration and upload date, and compare YouTube Shorts posting frequency.

๐Ÿ“‰ Feed dashboards

  1. Schedule the Actor on Apify to monitor YouTube Shorts every day or week.
  2. Send the dataset to your dashboard, so YouTube Shorts data for dashboards stays fresh.
  3. Use it for YouTube Shorts social listening and YouTube Shorts market research.
  4. Track YouTube Shorts performance benchmark changes over time.

How do I use YouTube Shorts Scraper?

  1. Open YouTube Shorts Scraper on Apify and click Try for free.
  2. Enter one or more channels in Channels: a username, an @handle or a channel link, one per line.
  3. Set Max Shorts per channel (maxResultsShorts); start with 20 for a quick sample.
  4. Choose Sort Shorts by (newest, popular or oldest) and, if you need it, a date in Only Shorts published after.
  5. Click Start and wait for the run to finish; Shorts appear in the dataset while it runs.
  6. Open the Output tab, pick a view and export your YouTube Shorts data as JSON, CSV or Excel.

How much does it cost to scrape YouTube Shorts?

YouTube Shorts Scraper uses pay-per-event pricing: you pay for each Short saved to the dataset, and the price falls as your Apify plan goes up. Platform usage is billed in addition.

PlanPrice per ShortPer 1,000 Shorts
๐Ÿ†“ Free$0.004$4.00
๐Ÿฅ‰ Bronze$0.0036$3.60
๐Ÿฅˆ Silver$0.0032$3.20
๐Ÿฅ‡ Gold, Platinum and Diamond$0.0028$2.80

Each run also pays a start event of $0.00005 per GB of memory, minimum one. This Actor starts with 4096 MB (4 GB), so one start costs 4 events = $0.0002.

Worked example: 100 Shorts on the Free plan cost 100 x $0.004 = $0.40, plus the $0.0002 start, so $0.4002 before platform usage. You can set a maximum spend per run; the Actor then stops and keeps the Shorts already saved.

Is scraping YouTube Shorts free?

No. YouTube Shorts Scraper is billed per saved Short, from $0.004 on the Free plan down to $0.0028 on Gold, Platinum and Diamond, plus the small start event and platform usage. Start with a few Shorts to test the output, and set a maximum spend per run for full control.

How much does YouTube Shorts Scraper cost per 1,000 results?

One result is one saved Short. A thousand Shorts cost $4.00 on the Free plan, $3.60 on Bronze, $3.20 on Silver and $2.80 on Gold, Platinum and Diamond. Each run adds a $0.0002 start event, and platform usage is billed separately. Rows that report a problem with a channel are not charged as results.

Input

Give YouTube Shorts Scraper at least one channel. Everything else has a default, so a first run needs only channels.

FieldTypeRequiredDescriptionDefault / example
๐Ÿ“บ channelsarray of stringsYesChannel usernames, @handles or channel links, one per line.Example: mrbeast
๐Ÿ“ฌ maxResultsShortsintegerNoShorts to collect from each channel, 1 to 999,999.Default 20
๐Ÿ”ƒ sortChannelShortsBystringNoNEWEST, POPULAR or OLDEST, like the sort chips on the Shorts tab. If a date filter is set, Newest is used.Default NEWEST
๐Ÿ“… oldestPostDatestringNoSkip Shorts older than this: YYYY-MM-DD or a value such as 7 days, 2 weeks, 1 month, 1 year.Example: 30 days
๐ŸŒ proxyConfigurationobjectNoOptional connection settings. Leave the default and the run chooses its own.Default: not set
๐Ÿงญ browserFallbackbooleanNoOptional extra-retry setting for requests that keep failing.Default true
โšก maxConcurrencyintegerNoShorts processed in parallel per channel, 1 to 20.Default 5
๐Ÿ” maxRetriesintegerNoAttempts per request before it counts as failed, 1 to 10.Default 3
๐Ÿงฎ maxScannedintegerNoSafety cap on Shorts examined per channel, up to 200,000.Default 5000

A channel that does not exist, has no Shorts tab, or has no Shorts matching your filters produces an error row instead of results.

{
"channels": ["examplechannel", "@examplechannel2"],
"maxResultsShorts": 20,
"sortChannelShortsBy": "NEWEST",
"oldestPostDate": "30 days"
}

Output

Results go to the Apify dataset, one row per Short, and you can download them as JSON, CSV, Excel, XML or HTML from the Output tab or through the API. The dataset has six views: Overview, Channel & About, Engagement, Media, Source and Errors. Use them to export YouTube Shorts to CSV or YouTube Shorts to JSON with only the columns you need. This YouTube Shorts scraping tool is also a YouTube Shorts information extractor for channel research.

A trimmed Short row, with fake values:

{
"title": "Example Short title",
"translatedTitle": null,
"type": "shorts",
"id": "abc123EXAMPLE",
"url": "https://example.com/shorts/abc123EXAMPLE",
"thumbnailUrl": "https://example.com/thumb.jpg",
"viewCount": 1250000,
"date": "2026-09-01T12:00:00.000Z",
"likes": 48000,
"location": null,
"channelName": "Example Channel",
"channelUrl": "https://example.com/channel",
"channelUsername": "examplechannel",
"collaborators": null,
"channelId": "UCexample0000000000000",
"channelDescription": "Example channel description.",
"channelJoinedDate": "Jan 1, 2020",
"channelDescriptionLinks": [{ "title": "Website", "url": "https://example.com" }],
"channelLocation": "United States",
"channelAvatarUrl": "https://example.com/avatar.jpg",
"channelBannerUrl": "https://example.com/banner.jpg",
"channelTotalVideos": 320,
"channelTotalViews": 98000000,
"numberOfSubscribers": 1500000,
"isChannelVerified": true,
"inputChannelUrl": "https://example.com/@examplechannel",
"isAgeRestricted": false,
"aboutChannelInfo": {
"channelDescription": "Example channel description.",
"channelJoinedDate": "Jan 1, 2020",
"channelDescriptionLinks": [{ "title": "Website", "url": "https://example.com" }],
"channelLocation": "United States",
"channelUsername": "examplechannel",
"channelAvatarUrl": "https://example.com/avatar.jpg",
"channelBannerUrl": "https://example.com/banner.jpg",
"channelTotalVideos": 320,
"channelTotalViews": 98000000,
"numberOfSubscribers": 1500000,
"isChannelVerified": true,
"channelName": "Example Channel",
"channelUrl": "https://example.com/channel",
"channelId": "UCexample0000000000000",
"inputChannelUrl": "https://example.com/@examplechannel",
"isAgeRestricted": false
},
"duration": "00:00:42",
"commentsCount": 1200,
"text": "Example description #example",
"translatedText": null,
"descriptionLinks": [{ "text": "example.com", "url": "https://example.com" }],
"subtitles": [
{ "languageCode": "en", "languageName": "English", "isAutoGenerated": true, "url": "https://example.com/captions" }
],
"aiVideoDescription": null,
"aiVideoSummary": null,
"order": 0,
"commentsTurnedOff": false,
"fromYTUrl": "https://example.com/@examplechannel/shorts",
"isMonetized": null,
"hashtags": ["example"],
"isMembersOnly": false,
"input": "examplechannel",
"fromChannelListPage": "shorts",
"isPaidContent": false
}

A channel problem is saved as a separate error row:

{
"url": "https://example.com/@missingchannel",
"input": "missingchannel",
"error": "CHANNEL_DOES_NOT_EXIST",
"note": "Channel does not exist"
}

Error codes you may see are CHANNEL_DOES_NOT_EXIST, NOT_FOUND, CHANNEL_HAS_NO_SHORTS, NO_RESULTS and NO_VALID_START_URLS. Each run also saves a run-summary record in the key-value store with totals and counts: Shorts saved, channels requested and completed, error items, run time and timestamp.

Notes and limitations

  • The date filter always sorts by Newest, so POPULAR and OLDEST are ignored when oldestPostDate is set.
  • If a sort order is not available for a channel, the run uses Newest and says so in the log.
  • maxScanned stops a channel after that many Shorts were examined, even if maxResultsShorts is not reached; raise it for very large channels.
  • commentsCount is null when comments are turned off, and some fields can be empty when YouTube does not show them.
  • Subtitles are a list of caption tracks, not the spoken text.
  • Only public data is collected; private, deleted or unavailable Shorts cannot be returned.
  • The run keeps the Shorts already saved if it is stopped or a spending limit is reached.

FAQ

YouTube Shorts Scraper collects public data that any visitor can see. Whether your use is lawful depends on your country, your purpose and how you handle personal data under rules such as GDPR and CCPA. Read Is web scraping legal? and check the site's terms. This is not legal advice.

Can you scrape YouTube Shorts without the YouTube Data API?

Yes. You get YouTube Shorts data without login, cookies or a YouTube Data API key, so there is no API quota to manage. Paste your channel usernames, handles or links and start the run. You only need an Apify account to run the Actor and pay for the Shorts it saves.

How do I get all Shorts from a YouTube channel?

Add the channel to channels, raise maxResultsShorts to a high number such as 1000, and keep sortChannelShortsBy on NEWEST. Each channel stops after maxScanned Shorts were examined, which is 5000 by default, so raise it for very large channels. A date filter limits results to recent Shorts.

How can I export YouTube Shorts data to CSV or Excel?

When the run finishes, open the Output tab, choose a view such as Overview or Engagement, and pick JSON, CSV, Excel, XML or HTML. You can also fetch the same dataset through the Apify API. Each row is one Short, so YouTube Shorts to CSV needs no extra cleaning or conversion step.

Can I schedule YouTube Shorts scraping or use integrations?

Yes. Apify lets you schedule runs, trigger webhooks when a run finishes and connect the dataset to tools such as Make, n8n or Zapier. A daily schedule with a short date filter such as 7 days keeps a fresh list of new Shorts without collecting the same ones again and again.

Can I use YouTube Shorts Scraper with the Apify API or an MCP server?

Yes. You can start runs and read the dataset from your own code through the Apify API, or let an AI assistant call this Actor through Apify's MCP server. The API tab on the Actor page shows ready-made examples. See the Apify API documentation for details.

Why am I getting fewer Shorts than expected?

Common reasons are a low maxResultsShorts, a date filter that excludes older Shorts, a channel with few Shorts, or a channel without a Shorts tab. Check the Errors view for a note such as NO_RESULTS. Widen oldestPostDate, raise maxResultsShorts or maxScanned, and run again.

How accurate are views, likes and comments?

Values are what the site shows publicly at run time. Subscriber and like counts can be rounded, comment counts are empty when comments are turned off, and counts change as Shorts keep gaining views. Run the Actor again on a schedule to track YouTube Shorts analytics data over time.

YouTube Shorts Scraper not working?

First check the run log and the Errors view for a note. Then try a smaller maxResultsShorts, confirm the channel name or link, and run again later. If it still fails, open the Issues tab with the run link and your input, and we will look at it.

Looking for more from YouTube? These Actors from the same account cover other YouTube data.

ActorUse it to
๐ŸŽฅ YouTube ScraperScrape YouTube videos, Shorts, streams, channels, playlists, hashtags and search results.
โšก Fast YouTube Channel ScraperScrape a channel's Videos, Shorts and Live tabs with exact counts, tags and transcripts.
๐Ÿ’ฌ YouTube Comments ScraperExtract YouTube video comments and replies.
๐Ÿ“œ YouTube Transcript ScraperExtract YouTube transcripts, subtitles and captions in bulk.

Support and disclaimer

Found a bug or need a feature? Open an issue in the Issues tab. For custom solutions, integrations or questions, email hello.dataminds@gmail.com. YouTube Shorts Scraper is independent and not affiliated with YouTube or its owner; trademarks belong to their owners. It collects publicly available data, and you are responsible for complying with applicable laws and the site's terms.

Last updated: 2026-10-17