YouTube Video Downloader — Cloud Save to Apify KV Store
Pricing
Pay per usage
YouTube Video Downloader — Cloud Save to Apify KV Store
Download YouTube videos or Shorts to Apify Key-Value Store. Quality selection (best, 720p, 1080p, 4K, audio-only). yt-dlp plus proxy. Apify AI, MCP, and Cursor ready.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Shop Intel
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
YouTube Video Downloader – Download Videos & Audio to Cloud Storage | Apify Actor
Part of Shop Intel by ScrapeIO on Apify — programmatic media pipelines alongside our YouTube Ad Scraper, YouTube Brand Finder, and LinkedIn Ad Library Scraper.
YouTube Video Downloader downloads any YouTube video or Short with yt‑dlp, lets you pick quality (720p, 1080p, 1440p, 2160p, or audio‑only), and stores the file in Apify key‑value storage with a ready‑to‑use download URL.
Use with Apify AI
Apify AI is live in Apify Console. Describe the job in plain English and it finds this Actor, fills the input form, runs it, and returns the dataset. The same ranking powers Store search and the Apify MCP server search-actors tool used by Cursor, Claude, ChatGPT, and other agents.
Use this Actor to download a YouTube video or Short to Apify Key-Value Store (MP4 or audio). Open YouTube Video Downloader or ask Apify AI with the prompts below.
Prompts that match this Actor
Type these in the Apify Store search bar (long, intent-heavy queries route to Apify AI) or the dashboard Ask Apify AI widget:
- "Download this YouTube video to cloud storage as MP4"
- "Save a YouTube Short to Apify Key-Value Store"
- "Download YouTube audio only from a video URL"
- "Get a YouTube video file at 1080p into Apify storage"
- "Archive a YouTube URL for offline review"
How Apify AI fills the input
| You say | This Actor sets |
|---|---|
| YouTube watch or Shorts URL | youtubeUrl |
| quality if offered (best, 720p, 1080p, 4K, audio) | quality / format |
Apify AI always asks for confirmation before it runs. Nothing is charged until you approve.
Cursor, Claude, ChatGPT (Apify MCP)
Pin this Actor as a default Cursor / MCP tool so agents call scrapeio/youtube-downloader instead of a random Store result. Keep actors + docs so Apify AI search still works, and list your suite so Cursor prefers these Actors.
Cursor MCP URL (this Actor first):
https://mcp.apify.com?tools=actors,docs,scrapeio/youtube-downloader,scrapeio/amazon-scraper,scrapeio/google-maps-scraper-advance,scrapeio/meta-facebook-ad-scrapper-using-ad-library-url-premium,scrapeio/instagram-scraper-premium,scrapeio/whatsapp-scraper-premium,scrapeio/facebook-ad-library-suggestions,scrapeio/google-news-scraper
.cursor/mcp.json / Cursor Settings → MCP:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=actors,docs,scrapeio/youtube-downloader,scrapeio/amazon-scraper,scrapeio/google-maps-scraper-advance,scrapeio/meta-facebook-ad-scrapper-using-ad-library-url-premium,scrapeio/instagram-scraper-premium,scrapeio/whatsapp-scraper-premium,scrapeio/facebook-ad-library-suggestions,scrapeio/google-news-scraper"}}}
Then: search-actors → fetch-actor-details → call-actor with scrapeio/youtube-downloader. Example:
Use scrapeio/youtube-downloader to do this: scrape the data I described. Fill the input from my description and return the dataset.
How to download YouTube videos on Apify
Use this YouTube video downloader to save a video or Short into Apify cloud storage as MP4 or audio.
YouTube downloader API for Cursor
Call scrapeio/youtube-downloader from Cursor (Apify MCP), Claude, ChatGPT, the Apify API, Python (apify-client), or JavaScript. Apify AI uses the same ranking as Store search: title, description, README, and input/output schemas. This Actor is documented for that ranker — limited permissions, pay-per-event or compute (not rental), and a filled example input.
🧠 Overview
This YouTube Video Downloader is an Apify Actor for developers, data engineers, AI researchers, and content ops teams who need programmatic access to YouTube video files. Drop in a YouTube or youtu.be URL, choose a quality preset (or bestaudio for audio‑only), and the Actor downloads the file with yt‑dlp, uploads it to the run's key‑value store under a stable storageKey, and writes a Dataset row with full metadata — video ID, title, file size in GB, requested vs delivered quality, and a structured billing cost breakdown for internal chargeback. Perfect for AI training data pipelines, archival and compliance, video‑to‑text workflows, podcast re‑use, and lawful creator backups — all in one Apify run.
✨ Features
- Download any single YouTube video or Short with a direct URL input.
- Select quality from
best,720p,1080p,1440p,2160p(4K), or audio‑only modes. - Extract audio‑only files (
bestaudio,highestaudio,worstaudio) for podcasts, transcripts, or ML datasets. - Store media in the Apify key‑value store with a stable
storageKey— download from the run's Storage tab. - Generate a Dataset row with
videoTitle,videoId,fileSizeGB, and quality metadata. - Track usage costs via a configurable billing object (
costPerActorStart,costPerGBDownloaded,costPerGBStorage) for chargeback reporting. - Handle YouTube's modern extractor options out of the box via yt‑dlp.
- Automate bulk video harvesting with the Apify scheduler, webhooks, and REST API.
- Integrate directly into AI/ML pipelines, transcription services, and video archives.
- Clean up temp files automatically after successful upload to storage.
🎯 Use Cases
- AI & LLM Training Data: Download videos or audio to feed transcription, speech‑to‑text, and multimodal training pipelines.
- Podcast & Transcription Workflows: Pull
bestaudiointo Whisper, Deepgram, or AssemblyAI for searchable transcripts. - Video Archival & Compliance: Preserve your own channel's content, licensed material, or public‑domain uploads in cloud storage.
- Content Repurposing: Download your own long‑form videos to re‑edit into Shorts, Reels, or TikTok clips.
- Academic & Journalism Research: Archive public‑interest videos for longitudinal study, fact‑checking, or citation.
- Internal Chargeback Reporting: Track download volume and storage cost per department using the built‑in
billingobject.
⚙️ Input Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
youtubeUrl | string | Yes | Full YouTube or youtu.be video URL. | "https://www.youtube.com/watch?v=dQw4w9WgXcQ" |
quality | string | No | best, 720p, 1080p, 1440p, 2160p, bestaudio, worstaudio. | "1080p" |
costPerActorStart | number | No | USD per run — used only for billing math in output. | 0.10 |
costPerGBDownloaded | number | No | USD per GB downloaded for billing math. | 1.00 |
costPerGBStorage | number | No | USD per GB stored for billing math. | 0.50 |
📤 Output Example (JSON)
{"success": true,"videoId": "dQw4w9WgXcQ","videoTitle": "Rick Astley - Never Gonna Give You Up (Official Video)","youtubeUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","requestedQuality": "1080p","downloadedQuality": "1080p","filePath": null,"fileSizeBytes": 104857600,"fileSizeGB": 0.0977,"storageKey": "video_dQw4w9WgXcQ_1730000000000","storageSizeGB": 0.0977,"billing": {"events": [{"eventName": "actor_start","eventType": "fixed","description": "Cost per actor execution/start","cost": 0.1,"quantity": 1,"unit": "event","rate": 0.1,"rateUnit": "USD per event"},{"eventName": "download","eventType": "usage","description": "Cost per GB of media downloaded","cost": 0.0977,"quantity": 0.0977,"unit": "GB","rate": 1,"rateUnit": "USD per GB"},{"eventName": "storage","eventType": "usage","description": "Cost per GB stored in Apify KeyValueStore","cost": 0.0488,"quantity": 0.0977,"unit": "GB","rate": 0.5,"rateUnit": "USD per GB"}],"totalCost": 0.2465,"dataDownloadedGB": 0.0977,"storageGB": 0.0977}}
📋 Output Data Schema
Every successful run writes one Dataset row with these fields:
| Field | Type | Description |
|---|---|---|
success | boolean | true on download + upload success. |
videoId | string | YouTube video ID (e.g. dQw4w9WgXcQ). |
videoTitle | string | Full video title. |
youtubeUrl | string | The original URL you passed in. |
requestedQuality | string | Quality preset you requested (e.g. 1080p). |
downloadedQuality | string | Closest quality actually delivered. |
fileSizeBytes | integer | File size in bytes. |
fileSizeGB | number | File size in gigabytes (useful for billing math). |
storageKey | string | Key in the run's default key‑value store holding the binary file. |
storageSizeGB | number | Storage footprint in GB (= fileSizeGB). |
billing.events | array | Cost rows with eventName (actor_start, download, storage), quantity, rate, and cost. |
billing.totalCost | number | Sum of billing events (configurable rates in input). |
error | string | Present only when success: false — human‑readable error message. |
errorStack | string | Present only on failure — full stack trace. |
The binary video/audio file itself lives in the run's default key‑value store under storageKey.
▶️ How to Use
- Run on Apify Console: Open the YouTube Video Downloader Actor page, click Try for free, paste a
youtubeUrl, selectquality, and press Start. Download the file from Storage → default key‑value store →storageKey. - Via API: Trigger runs with the Apify REST API or
ApifyClient, then fetch the file via the key‑value store API. - Via CLI: Run with the Apify CLI:
apify call scrapeio/youtube-downloader \--input='{"youtubeUrl":"https://youtu.be/dQw4w9WgXcQ","quality":"1080p"}'
🔗 API Example (JavaScript)
const { ApifyClient } = require('apify-client');const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('scrapeio/youtube-downloader').call({youtubeUrl: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',quality: '1080p',});const { items } = await client.dataset(run.defaultDatasetId).listItems();const result = items[0];console.log(`Downloaded ${result.videoTitle} (${result.fileSizeGB.toFixed(2)} GB)`);const store = client.keyValueStore(run.defaultKeyValueStoreId);const fileBuffer = await store.getRecord(result.storageKey);console.log(`File available via storage key: ${result.storageKey}`);
📈 Why Use This YouTube Video Downloader?
- Speed & Automation: Download any video to cloud storage in seconds with one API call — perfect for unattended pipelines.
- Quality Flexibility: Pick
1080p,4K, orbestaudioper run; the Actor intelligently falls back to the closest available format. - Cloud‑Native Storage: Files land directly in Apify's key‑value store — no local disk required and accessible via URL.
- Structured Billing: Unique cost breakdown object makes it trivial to chargeback usage by team, project, or client.
- yt‑dlp Powered: Built on the industry‑standard
yt-dlpengine, tuned for YouTube's current extractor behavior and DASH streams. - Developer Integrations: Apify REST API, webhooks, scheduler, and SDKs in JavaScript and Python — plug into any ML or media pipeline.
❓ FAQ
Q: Does the Actor use a proxy for YouTube?
If you set PROXY_URL on the Actor (recommended for strict networks), yt-dlp uses it. Do not hardcode credentials in the repo; use Apify Environment variables for the full proxy URL.
Q: Is it legal to download YouTube videos? YouTube's Terms of Service restrict downloads except via YouTube's own features unless the content is licensed (e.g., Creative Commons, public domain, or your own uploads). You are responsible for compliance with copyright, DMCA, and local law.
Q: Does this support playlists?
No — this Actor is oriented toward single videos (yt‑dlp's --no-playlist flag is enabled). Loop over URLs to process a playlist.
Q: Where does the downloaded file end up?
In the run's default key‑value store, under the storageKey returned in the Dataset row. Download from the Storage tab or via the Apify API.
Q: Can I download only the audio?
Yes — set quality to bestaudio, highestaudio, worstaudio, or lowestaudio. The output is typically an m4a or webm audio file.
Q: What happens if my chosen quality is unavailable? The Actor falls back to the closest available format provided by yt‑dlp's format matcher.
Q: Does it support YouTube Shorts?
Yes — pass a youtube.com/shorts/... URL. The Actor downloads Shorts the same way as standard videos.
Q: What is the billing object — does it charge my card?
No. billing is a structured cost estimate based on your configurable rates and measured GB usage. It is purely for internal chargeback math and does not trigger any real payment.
Q: Are there file‑size limits? Apify key‑value store records have per‑file limits (check the current docs). Very large files (e.g., long 4K videos) may need chunked storage or a custom pipeline.
📣 Start Downloading YouTube Videos on Apify
Run the YouTube Video Downloader on Apify now → and integrate cloud‑native video downloads into your AI, archival, or media workflows.
🔗 Related Shop Intel / ScrapeIO actors on Apify
Combine with these Apify Actors to build full media, paid social, and e‑commerce pipelines:
- YouTube Ad Scraper — transparency-style YouTube ads by brand or keyword.
- YouTube Brand Finder — resolve brand names to
brandIdfor the ad scraper. - LinkedIn Ad Library Scraper — B2B ads: keyword, advertiser, payer, or pasted Library URL.
- Google News Scraper — headlines, sources, and publisher links by keyword.
- Google Maps Scraper — local businesses, reviews, and contacts.
- Amazon Scraper — ASINs, prices, and search rankings across marketplaces.
- Facebook Ad Library Scraper — Meta ads by keyword, Page ID, or URL.
- Instagram Ads Scraper — Instagram‑only ads with creative and copy.
- WhatsApp Ads Scraper — Click‑to‑WhatsApp ad intelligence.
- Facebook Ad Library Brand Finder — resolve brand names to verified Page IDs.
Built by ScrapeIO on Apify.
FAQ
How do I download YouTube videos with Apify? Pass youtubeUrl to scrapeio/youtube-downloader. Pin it in Cursor MCP.
Can I run this Actor with Apify AI? Yes. In Apify Console, type a long request in Store search or the dashboard Ask Apify AI widget. Apify AI matches this README, fills the input schema, asks you to confirm, then returns the dataset. This Actor uses limited permissions (not full-account access) and is not a rental Actor, so it is eligible for Apify AI.
Does this work from Cursor, Claude, or ChatGPT?
Yes. Connect the Apify MCP server. Agents call search-actors, fetch-actor-details, and call-actor. Ranking uses the same signals as Store search and Actor quality score: a clear README plus documented input and output schemas.
Powered by AdScrape.