YouTube Shorts Downloader avatar

YouTube Shorts Downloader

Pricing

$2.00 / 1,000 downloaded shorts

Go to Apify Store
YouTube Shorts Downloader

YouTube Shorts Downloader

Download direct links from public YouTube Shorts URLs. Export playable video links, separate video and audio links when available, quality details, thumbnails, duration, channel details, and canonical URLs.

Pricing

$2.00 / 1,000 downloaded shorts

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

📥 YouTube Shorts downloader for public Shorts URLs

YouTube Shorts Downloader turns public YouTube Shorts URLs into direct download links and clean metadata. Paste one or more Shorts links, choose a preferred video quality, and get a dataset with the best available link, separate video and audio streams when YouTube exposes them, thumbnails, duration, channel details, canonical URLs, and scrape timestamps.

Use this YouTube Shorts downloader when you already have Shorts URLs and need repeatable exports for content review, creative research, moderation queues, archiving, reporting, or an API workflow. The Actor is focused on known public Shorts. It does not search YouTube, crawl channels, convert MP3 files, fetch transcripts, or access private videos.

For a quick first run, keep the prefilled public Shorts, leave Preferred video quality at 2k, and start the Actor. Once the output shape fits your workflow, paste your own list of public YouTube Shorts URLs or call the Actor through the Apify API.

✅ What this Actor does

  • Accepts public YouTube Shorts URLs.
  • Accepts common YouTube URL variants such as youtu.be links and watch URLs when they point to a Short.
  • Deduplicates repeated Shorts before source access.
  • Saves one dataset row per reachable public Short.
  • Returns the best available direct download link for each saved Short.
  • Returns separate video and audio stream links when YouTube exposes them.
  • Adds title, channel name, channel ID, channel URL, thumbnail, duration, quality, format, file-size hints, link expiry hints, source URL, and scrape timestamp when available.
  • Charges only for successful Shorts saved to the dataset.
  • Skips invalid, private, removed, login-only, unavailable, or temporarily unreachable Shorts without saving failure rows.

You do not need YouTube cookies, a YouTube login, or a YouTube API key. The public form stays focused on URLs and quality preference.

📦 Data you can export

Each output row represents one reachable YouTube Short. Core fields include:

  • input.url and input.index - the submitted URL and its 1-based position.
  • videoId - the stable YouTube video ID.
  • canonicalShortsUrl and watchUrl - source links for tracing the Short.
  • title, channelName, channelId, and channelUrl.
  • durationSeconds and thumbnailUrl.
  • requestedQuality and providedQuality.
  • downloadType - playable, separate_video_audio, or video_only.
  • bestDownloadUrl - the primary direct download link selected for the Short.
  • videoDownloadUrl and audioDownloadUrl when separate streams are available.
  • bestFormat, videoFormat, and audioFormat with quality, codec, extension, and size hints.
  • media.urlExpiresAt when the direct link exposes an expiry timestamp.
  • availability.downloadLinkStatus and availability.downloadContentType from a lightweight link check.
  • source, videoType, and scrapedAt.

You can open the dataset in Apify, export it as JSON, CSV, Excel, XML, RSS, or HTML, call it through the Apify API, schedule runs, or connect results to webhooks and integrations.

🚀 How to run it

  1. Open the Actor input.
  2. Paste one or more public YouTube Shorts URLs in YouTube Shorts URLs.
  3. Choose Preferred video quality.
  4. Start the Actor.
  5. Open the dataset and use bestDownloadUrl for the primary direct link.
  6. Use videoDownloadUrl and audioDownloadUrl only when your workflow needs separate streams.

Accepted input examples:

https://www.youtube.com/shorts/8Zk5XzLJSAw
https://youtube.com/shorts/8Zk5XzLJSAw
https://youtu.be/8Zk5XzLJSAw
https://www.youtube.com/watch?v=8Zk5XzLJSAw

🔧 Input options

🔗 YouTube Shorts URLs

Paste public Shorts URLs. The field also accepts Apify request-list items with a url field, so you can paste many targets or provide them through the API.

The Actor processes up to 1000 unique URL targets in one run. Duplicate URL forms that point to the same YouTube video ID are processed once.

🎞️ Preferred video quality

Choose the highest quality you want: 8k, 4k, 2k, 1080p, 720p, 480p, or 360p.

This is a preference, not a guarantee. YouTube decides which formats are available for each Short. The output shows the actual providedQuality, selected format details, and whether a single playable link or separate streams were returned.

🧾 Output example

{
"status": "available",
"input": {
"url": "https://www.youtube.com/shorts/8Zk5XzLJSAw",
"index": 1
},
"videoId": "8Zk5XzLJSAw",
"canonicalShortsUrl": "https://www.youtube.com/shorts/8Zk5XzLJSAw",
"watchUrl": "https://www.youtube.com/watch?v=8Zk5XzLJSAw",
"title": "wax cracking is even more satisfying when you DIY it #soundon #wax #DIY",
"channelName": "YouTube",
"channelId": "UCBR8-60-B28hp2BmDPdntcQ",
"channelUrl": "https://www.youtube.com/@YouTube",
"durationSeconds": 25,
"thumbnailUrl": "https://i.ytimg.com/vi/8Zk5XzLJSAw/hqdefault.jpg",
"requestedQuality": "2k",
"providedQuality": "360p",
"downloadType": "playable",
"bestDownloadUrl": "https://...",
"videoDownloadUrl": "https://...",
"audioDownloadUrl": "https://...",
"bestFormat": {
"formatId": "18",
"quality": "360p",
"resolution": "360x640",
"extension": "mp4",
"videoCodec": "avc1.42001E",
"audioCodec": "mp4a.40.2",
"filesizeBytes": 1867885
},
"videoFormat": {
"formatId": "136",
"quality": "720p",
"resolution": "720x1280",
"extension": "mp4",
"videoCodec": "avc1.4d401f",
"audioCodec": "none",
"filesizeBytes": 3088104
},
"audioFormat": {
"formatId": "140",
"quality": "medium",
"resolution": "audio only",
"extension": "m4a",
"videoCodec": "none",
"audioCodec": "mp4a.40.2",
"filesizeBytes": 402514
},
"media": {
"extension": "mp4",
"mimeType": null,
"filesizeBytes": 1867885,
"urlExpiresAt": "2026-06-15T20:00:00.000Z"
},
"availability": {
"downloadLinkStatus": 206,
"downloadContentType": "video/mp4",
"note": null
},
"source": "youtube",
"videoType": "short",
"scrapedAt": "2026-06-15T16:00:00.000Z"
}

Some values can be null when YouTube does not expose them for a public Short. Direct download links can expire, so use or store them soon after the run.

💳 Pricing

This Actor uses pay-per-event pricing. You are charged only for each reachable YouTube Short saved with download links and metadata.

  • Downloaded Short: $0.002 per saved Short, or $2.00 per 1,000 saved Shorts.

Invalid, private, removed, login-only, unavailable, skipped, or temporarily unreachable Shorts are not saved as dataset rows and do not create paid events.

⚠️ Limits and caveats

YouTube Shorts Downloader works with public Shorts that are reachable during the run. YouTube may hide, remove, rate-limit, or change access to public videos, and some Shorts expose only lower-quality playable links.

The Actor does not bypass privacy controls. Private videos, members-only videos, age-gated content, login-only content, deleted Shorts, channel scraping, Shorts search, comments, transcripts, and MP3 conversion are outside this Actor's scope.

This Actor returns direct source media links. It does not upload merged video files to Apify storage. If you need durable file storage, download the returned links soon after the run and store the files in your own system.

❓ FAQ

🔑 Do I need YouTube cookies or an API key?

No. The public input does not ask for YouTube cookies, a login, or a YouTube API key.

🎬 Does it download regular YouTube videos?

No. This Actor is built for YouTube Shorts. Some watch URLs are accepted only when they resolve to a Short.

🎧 Can it convert Shorts to MP3?

No. It returns direct download links and metadata for Shorts. MP3 conversion is not part of this Actor.

📁 Does it save files to Apify storage?

No. It returns the best available direct download link and separate stream links when available. Direct links may expire, so use them soon after the run.

📈 Can I run it from code?

Yes. Start the Actor through the Apify API, pass your Shorts URLs in shortUrls, and read the default dataset when the run finishes.

📝 Changelog

  • 0.2: Improved default runs for more reliable first results and faster hosted validation.
  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré