YouTube Shorts Scraper avatar

YouTube Shorts Scraper

Pricing

Pay per event

Go to Apify Store
YouTube Shorts Scraper

YouTube Shorts Scraper

Scrape YouTube Shorts from any channel. Extract video titles, view counts, thumbnails, and URLs. Fast pure HTTP approach โ€” no browser needed. Export to JSON, CSV, or Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

2

Monthly active users

20 hours ago

Last modified

Share

What does YouTube Shorts Scraper do?

YouTube Shorts Scraper extracts Shorts data from any YouTube channel. Provide channel URLs or handles, and get structured data including video titles, exact view counts, likes, comments, publish dates, duration, descriptions, and thumbnails. Uses a fast pure HTTP approach โ€” no browser needed, which means lower cost and higher speed.

Who is it for?

  • ๐Ÿ“Š Social media analysts โ€” tracking YouTube Shorts trends, views, and engagement metrics
  • ๐ŸŽฌ Content creators โ€” researching popular Shorts formats and competitor performance
  • ๐Ÿ“ˆ Marketing teams โ€” analyzing short-form video trends for campaign planning
  • ๐Ÿข Brand managers โ€” monitoring brand mentions and competitor activity on Shorts
  • ๐ŸŽ“ Academic researchers โ€” studying short-form video consumption patterns and virality

Why use YouTube Shorts Scraper?

  • 3x cheaper than alternatives โ€” $2.00 per 1,000 Shorts at the Free tier
  • Rich data โ€” exact view counts, likes, comments, dates, duration, and descriptions
  • Fast โ€” pure HTTP with InnerTube API, no browser overhead
  • Simple input โ€” just paste channel URLs or handles (@MrBeast, /channel/UC..., etc.)
  • Pagination built in โ€” automatically fetches all Shorts from a channel
  • All export formats โ€” JSON, CSV, Excel, XML via Apify integrations

What data can you extract?

FieldTypeDescription
videoIdstringYouTube video ID
titlestringShort title
urlstringDirect link to the Short
thumbnailUrlstringThumbnail image URL
viewCountnumberExact view count
viewCountTextstringAbbreviated views (e.g., "1.2M views")
datestringPublish date (ISO 8601)
likesnumberExact like count
commentsCountnumberComment count
durationstringVideo duration (MM:SS)
descriptionstringVideo description text
hashtagsarrayHashtags extracted from description
channelIdstringChannel's UC-prefixed ID
channelNamestringChannel display name
channelUrlstringLink to the channel
channelUsernamestringChannel handle (without @)
numberOfSubscribersnumberChannel subscriber count
isChannelVerifiedbooleanWhether channel is verified

How much does it cost to scrape YouTube Shorts?

This Actor uses pay-per-event pricing โ€” you pay only for what you scrape. No monthly subscription. All platform costs (compute, proxy, storage) are included.

Free planStarter ($49/mo)Scale ($499/mo)
Per Short$0.002$0.0017$0.0014
1,000 Shorts$2.00$1.70$1.40
10,000 Shorts$20.00$17.00$14.00

Real-world cost examples:

InputShorts scrapedDurationCost (Free tier)
1 channel, 10 Shorts10~30s~$0.03
3 channels, 3 each9~60s~$0.02
1 channel, 100 Shorts100~5 min~$0.21

How to scrape YouTube Shorts

  1. Go to the YouTube Shorts Scraper page on Apify
  2. Enter one or more YouTube channel URLs (e.g., https://www.youtube.com/@MrBeast)
  3. Set the maximum number of Shorts per channel (default: 100)
  4. Click Start and wait for results
  5. Download your data in JSON, CSV, or Excel

Input parameters

ParameterTypeDescription
channelUrlsarrayYouTube channel URLs, handles, or channel IDs. Required.
maxShortsPerChannelintegerMax Shorts to scrape per channel. 0 = unlimited. Default: 100.
maxRequestRetriesintegerRetry attempts for failed requests. Default: 3.

Input example:

{
"channelUrls": [
"https://www.youtube.com/@MrBeast",
"https://www.youtube.com/@NileRed",
"UCq-Fj5jknLsUf-MWSy4_brA"
],
"maxShortsPerChannel": 50
}

Output example

{
"videoId": "vUeY-SU4i04",
"title": "Dissolving glass in scary hydrofluoric acid",
"url": "https://www.youtube.com/shorts/vUeY-SU4i04",
"thumbnailUrl": "https://i.ytimg.com/vi/vUeY-SU4i04/oardefault.jpg?...",
"viewCount": 3519541,
"viewCountText": "3.5M views",
"date": "2026-01-18T16:49:28.000Z",
"likes": 185514,
"commentsCount": 5100,
"duration": "02:34",
"description": "For a while now, I've wanted to test the power of hydrofluoric acid...\n\n#shorts",
"hashtags": ["#shorts"],
"channelId": "UCFhXFikryT4aFcLkLw2LBLA",
"channelName": "NileRed",
"channelUrl": "https://www.youtube.com/channel/UCFhXFikryT4aFcLkLw2LBLA",
"channelUsername": "NileRed",
"numberOfSubscribers": 10500000,
"isChannelVerified": false
}

Tips for best results

  • Use channel URLs with @handle format โ€” they're the most reliable
  • You can mix URL formats: @MrBeast, full URLs, and raw channel IDs all work
  • For large channels (1000+ Shorts), set maxShortsPerChannel to limit costs
  • Each Short requires 2 additional API calls for enrichment (likes, date, duration, etc.)
  • Results are ordered the same way YouTube displays them (newest first)

Integrations

Connect YouTube Shorts Scraper with any tool in your workflow:

  • Google Sheets โ€” automatically export Shorts data to spreadsheets
  • Slack / Email โ€” get notified when scraping completes
  • Zapier / Make โ€” trigger downstream workflows with scraped data
  • API โ€” call programmatically from your own apps
  • Webhooks โ€” receive results via HTTP callback

Using the Apify API

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('automation-lab/youtube-shorts-scraper').call({
channelUrls: ['https://www.youtube.com/@MrBeast'],
maxShortsPerChannel: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('automation-lab/youtube-shorts-scraper').call(run_input={
'channelUrls': ['https://www.youtube.com/@MrBeast'],
'maxShortsPerChannel': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL:

curl -X POST "https://api.apify.com/v2/acts/automation-lab~youtube-shorts-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channelUrls":["https://www.youtube.com/@MrBeast"],"maxShortsPerChannel":50}'

Use with AI agents via MCP

YouTube Shorts Scraper is available as a tool for AI assistants via the Model Context Protocol (MCP).

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com"

Setup for Claude Desktop, Cursor, or VS Code

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com"
}
}
}

Example prompts

  • "Get the latest YouTube Shorts from @mkbhd"
  • "Find trending Shorts about cooking"
  • "Scrape all Shorts from the NileRed channel and export to CSV"

Learn more in the Apify MCP documentation.

Legality

Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.

FAQ

Can I scrape Shorts from multiple channels at once? Yes. Add as many channel URLs as you need to the channelUrls array. Each channel is processed sequentially.

What URL formats are supported? You can use @handle URLs (youtube.com/@MrBeast), full channel URLs (youtube.com/channel/UC...), or raw channel IDs (UCX6OQ3DkcsbYNE6H8uQQuVA).

Does this scraper use a browser? No. It uses pure HTTP requests to YouTube's InnerTube API, which is faster and cheaper than browser-based approaches.

How many Shorts can I scrape? There's no hard limit. Set maxShortsPerChannel to 0 to scrape all Shorts from a channel. Large channels may have 1000+ Shorts.

What's the difference between viewCount and viewCountText? viewCount is the exact numeric view count (e.g., 177870215). viewCountText is the abbreviated text shown on YouTube (e.g., "177M views").

How accurate are the like and comment counts? Like counts are exact numbers from YouTube's API. Comment counts are approximate (rounded to nearest thousand for large counts).

The scraper returns 0 results for a channel. What's wrong? Make sure the channel actually has Shorts content. Some channels only have regular videos. Also verify the URL is correct โ€” handles are case-sensitive (@MrBeast, not @mrbeast). If the channel has Shorts but you still get 0 results, try using the full channel URL format (youtube.com/channel/UC...) instead.

The scraper is slower than expected. How can I speed it up? Each Short requires 2 additional API calls for enrichment data (likes, dates, duration). This is normal and ensures you get complete data. For faster runs at the expense of less data, reduce maxShortsPerChannel. Processing speed is approximately 20 Shorts per minute.

Other YouTube and video scrapers on Apify