YouTube Shorts Scraper
Pricing
Pay per usage
YouTube Shorts Scraper
Extract metadata, views, likes, dislikes, comments, music, and channel data from YouTube Shorts. Search by keyword, channel URL, or video link. Pure HTTP, no browser, 256 MB memory.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
oscar lira
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Scrape YouTube Shorts by keyword. Get views, likes, dislikes, comments, music/sound attribution, channel data, and 17+ data points per Short. No API keys, no quotas.
Why this scraper?
Most YouTube scrapers on Apify run a full browser (Puppeteer or Playwright) that gets detected and blocked. This scraper uses Patchright — an undetectable Chromium fork that bypasses YouTube's bot detection natively. Same data, no blocks.
| Browser-based scrapers | This scraper | |
|---|---|---|
| Bot detection bypass | Needs stealth plugins | Built in (Patchright) |
| Dislike count | Not available | Included |
| Comment extraction | Separate tool ($) | Built in |
| Music/sound data | Not available | Included |
What data does it extract?
Video metadata
| Field | Type | Description |
|---|---|---|
videoId | string | 11-character YouTube video identifier |
url | string | Direct link (/shorts/ format) |
title | string | Video title including hashtags |
description | string | Video description (empty on most Shorts — YouTube hides it without login) |
publishDate | string | Publish date (e.g. "Mar 30, 2026") |
isShort | boolean | Always true for Shorts |
keywords | string[] | Hashtags extracted from the title |
thumbnail | string | Thumbnail URL |
music | string | Song or sound name ("Original Sound", track name, etc.) |
Engagement metrics
| Field | Type | Description |
|---|---|---|
viewCount | integer | Exact total views |
likeCount | integer | Total likes |
dislikeCount | integer | Estimated dislikes via Return YouTube Dislike API |
commentCount | integer | Total number of comments |
Channel data
| Field | Type | Description |
|---|---|---|
channelName | string | Creator's display name |
channelId | string | Channel identifier (UCxxxx format) |
channelUrl | string | Link to the channel page |
Comments (optional)
When includeComments is enabled, each Short includes a comments array:
| Field | Type | Description |
|---|---|---|
author | string | Commenter's @handle |
text | string | Full comment text |
likes | integer | Likes on the comment |
publishedTime | string | Relative timestamp ("2 hours ago") |
The scraper clicks the comment button to open the Shorts comment panel, then extracts up to 20 visible comments per video.
Use cases
- Trend research — Search by keyword to spot which topics, hashtags, and sounds gain traction before they peak.
- Creator analytics — Pull Shorts from a search term. Benchmark engagement rates and content themes across creators.
- Competitor monitoring — Track what competitors publish and what their audience says in comments.
- Content strategy — Analyze top Shorts in your category. Understand which hooks and formats drive views.
- Music and sound tracking — Identify which songs and audio clips are trending across Shorts.
- Sentiment analysis — Extract comments to measure audience sentiment. Feed them into your NLP pipeline.
- Engagement benchmarking — Compare like-to-view ratios and dislike ratios across videos or niches.
How to use
Search for trending Shorts
{"searchQueries": ["cooking hacks", "meal prep ideas"],"maxResultsPerQuery": 20}
Search with comments
{"searchQueries": ["funny cats"],"maxResultsPerQuery": 10,"includeComments": true,"maxComments": 5}
Multiple queries
{"searchQueries": ["fitness motivation", "home workout", "gym fails"],"maxResultsPerQuery": 30}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | [] | Keywords to search for. #shorts is appended automatically. |
maxResultsPerQuery | integer | 20 | Maximum Shorts per search query. Range: 1–50. |
includeComments | boolean | false | Extract top comments per Short. Adds ~3s per video. |
maxComments | integer | 10 | Comments per Short when enabled. Range: 1–20. |
At least one search query is required.
Output example
Short with comments
{"videoId": "Hh6beuoFjww","url": "https://www.youtube.com/shorts/Hh6beuoFjww","title": "cats being cats \ud83e\udd23#youtubeshorts #funnycats #catvideos #shortvideo","description": "","channelName": "Hilarious_cats19","channelId": "UCC1g5eTBsEvHPWWPthcxZ4g","channelUrl": "https://www.youtube.com/@Hilarious_cats19","viewCount": 7457,"likeCount": 664,"dislikeCount": 6,"commentCount": 7,"subscriberCount": 0,"keywords": ["youtubeshorts", "funnycats", "catvideos", "shortvideo"],"thumbnail": "https://i.ytimg.com/vi/Hh6beuoFjww/frame0.jpg","publishDate": "Mar 30, 2026","isShort": true,"music": "Original Sound","scrapedAt": "2026-03-30T04:45:47.559Z","comments": [{"author": "@deeannsmith7775","text": "Love the Voids","likes": 0,"publishedTime": "2 hours ago"},{"author": "@arien3776","text": "Jajsjsjs","likes": 0,"publishedTime": "4 hours ago"},{"author": "@shanimorgan669","text": "EM WAS SOME STINKY LITTLE PIECES OF PREDDIOUS IS WHAT IT DID","likes": 0,"publishedTime": "2 hours ago"}]}
Popular Short (without comments)
{"videoId": "V_tjF0lWmsw","url": "https://www.youtube.com/shorts/V_tjF0lWmsw","title": "Brave Chihuahua vs Calm Bulldog: Funny Dog Standoff.\ud83d\ude31","description": "","channelName": "doggo.pranks","channelId": "UCUINei7Oezna9eVO1KjbbHg","channelUrl": "https://www.youtube.com/@doggo.pranks","viewCount": 13392,"likeCount": 199,"dislikeCount": 4,"commentCount": 2,"subscriberCount": 0,"keywords": [],"thumbnail": "https://i.ytimg.com/vi/V_tjF0lWmsw/frame0.jpg","publishDate": "Mar 29, 2026","isShort": true,"music": "Original Sound","scrapedAt": "2026-03-30T04:34:45.872Z"}
Integrations
Export data in JSON, CSV, or Excel. Connect to your stack:
- Python —
pip install apify-client - Node.js —
npm install apify-client - REST API — trigger runs and fetch results over HTTP
- Webhooks — get notified when a run completes
- Zapier, Make, Airbyte — connect to 1,000+ apps
- Google Sheets — export directly to a spreadsheet
- Scheduled runs — daily, weekly, or custom cron
FAQ
Can I scrape regular YouTube videos, not just Shorts? This scraper is focused on Shorts. For regular videos, use our YouTube Scraper.
Can I scrape dislikes? Yes. Dislike counts come from the Return YouTube Dislike API, a public community project. Very new or low-traffic videos may show zero.
Can I extract comments from Shorts?
Yes. Set includeComments to true. The scraper opens the comment panel on each Short and extracts author, text, likes, and timestamp. Up to 20 comments per Short are available.
Why is description empty on Shorts?
YouTube doesn't expose the full description for Shorts without being logged in. The title usually contains the relevant hashtags and context.
Why is subscriberCount zero on Shorts?
YouTube's Shorts page doesn't display subscriber counts. The channel URL is included so you can look it up separately.
Why is music null on some Shorts?
Not every Short uses a tagged audio track. If the creator uploaded their own audio without selecting a sound from YouTube's library, the field will be null.
Is scraping YouTube legal? Scraping publicly available data is generally permissible. Respect YouTube's Terms of Service and privacy regulations (GDPR, CCPA).
Can I run this on a schedule? Yes. Use Apify's scheduler for daily, weekly, or cron runs.