YouTube Video Downloader - MP4 & MP3, Channels & Playlists avatar

YouTube Video Downloader - MP4 & MP3, Channels & Playlists

Pricing

from $1.00 / 1,000 results

Go to Apify Store
YouTube Video Downloader - MP4 & MP3, Channels & Playlists

YouTube Video Downloader - MP4 & MP3, Channels & Playlists

Download YouTube videos, Shorts, whole playlists and entire channels as MP4 (360p-4K) or MP3, with view, like and comment counts, duration, upload date and channel on every row.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

MrDoe

MrDoe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

YouTube Video Downloader

YouTube Video Downloader — MP4 & MP3, whole channels and playlists

Give it a video, a Shorts link, a playlist, a whole channel, or just a search phrase — get back the video file as MP4 (360p up to 4K) or the audio as MP3, with view, like and comment counts, duration, upload date and channel on every row. No account, no login.

This Actor is a YouTube video downloader, a YouTube to MP3 converter, a playlist downloader and a channel downloader in one.


What does it do?

Paste one or more of:

  • a video URLhttps://www.youtube.com/watch?v=…
  • a Shorts URLhttps://www.youtube.com/shorts/…
  • a playlist URL — every video in the playlist, up to your limit
  • a channel URL or @handle — the channel's videos, newest first, up to your limit
  • a plain search phrase — e.g. lofi hip hop, takes the top results

Each video comes back as one dataset row with its metadata, plus the downloaded .mp4 or .mp3 saved to the run's key-value store with a direct link on the row.

Download a whole channel

Put a channel URL or @handle in the input, set Max videos, pick a quality, and press Start. The Actor walks the channel's video list and downloads each one — video and audio metadata (views, likes, comments, duration, upload date) on every row, and the media file in storage.

{ "startUrls": ["https://www.youtube.com/@mkbhd"], "quality": "1080p", "maxItems": 50 }

How it works

How the YouTube Video Downloader works

  1. Your input — video / Shorts / playlist / channel URLs or search phrases, a quality, and a max count.
  2. The Actor collects and downloads — it resolves playlists and channels to a video list, fetches each video's metadata, downloads the stream at the quality you asked for (or the next best available), and merges video + audio into a single MP4 (or extracts an MP3).
  3. Output — one dataset row per video, plus the .mp4 / .mp3 files in the key-value store.

What data you get

FieldDescription
videoId / urlVideo ID and canonical watch URL
titleVideo title
channel / channelUrl / channelIdUploading channel
durationSecondsLength in seconds
viewCountView count at collection time
likeCountLike count at collection time
commentCountComment count at collection time
shareCountAlways null — YouTube does not publish share or dislike counts anywhere
uploadDateUpload date, YYYYMMDD
isShorttrue for a Shorts URL
resolutionResolution of the file actually downloaded, e.g. 1920x1080
extmp4 or mp3
fileSizeMbSize of the stored file
downloadUrlPermanent key-value-store link to the file
thumbnailThumbnail image URL
billedMinutesWhole minutes of media delivered (rounded up, 1-minute minimum)
statusSUCCESS, FAILED, or SKIPPED_TOO_LARGE

Where do the downloaded files go?

Into the run's key-value store, as <videoId>.mp4 or <videoId>.mp3. Each dataset row carries the link in downloadUrl:

https://api.apify.com/v2/key-value-stores/<storeId>/records/<videoId>.mp4

Those links are permanent for the life of the run's storage and need no auth for a public run. Browse every file under the run's Storage → Key-value store tab, or list them via the API.

Input parameters

ParameterTypeRequiredDefaultDescription
startUrlsArrayYesVideo / Shorts / playlist / channel URLs, @handles, or plain search phrases. One per line.
qualityStringNo720p360p, 480p, 720p, 1080p, 1440p, 2160p, or audio (MP3). Falls back to the next best if the exact resolution is missing.
maxItemsIntegerNo10Max videos to download in total across all inputs (applies to playlists, channels, searches).
maxFileSizeMbIntegerNo500Skip any single file larger than this. Give the run at least 2× this in memory.
proxyConfigurationObjectYesApify ResidentialRequired. YouTube blocks datacenter IPs — a residential proxy is strongly recommended.

Example output

{
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"channel": "Rick Astley",
"channelUrl": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw",
"durationSeconds": 213,
"viewCount": 1614038703,
"likeCount": 18240000,
"commentCount": 2300000,
"shareCount": null,
"uploadDate": "20091025",
"isShort": false,
"resolution": "1280x720",
"ext": "mp4",
"fileSizeMb": 17.35,
"downloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/dQw4w9WgXcQ.mp4",
"thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
"billedMinutes": 4,
"status": "SUCCESS"
}

Download the dataset as JSON, CSV, Excel or XML, or pull it from the Apify API.

How to use

  1. Open the Actor's Input tab.
  2. Add one or more entries to startUrls — a video URL, a channel @handle, a playlist, or a search phrase.
  3. Pick a quality (or audio for MP3).
  4. Set Max videos.
  5. Press Start. Rows appear in the Dataset tab; the media files land in the Key-value store tab.

Usage examples

One video in 1080p

{ "startUrls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"], "quality": "1080p" }

A whole channel as MP3

{ "startUrls": ["https://www.youtube.com/@NASA"], "quality": "audio", "maxItems": 100 }

A playlist in 4K

{ "startUrls": ["https://www.youtube.com/playlist?list=PLxxxx"], "quality": "2160p", "maxItems": 20 }

Top search results

{ "startUrls": ["lofi hip hop", "deep focus"], "quality": "audio", "maxItems": 10 }

Tips for best results

  • Residential proxy, always. YouTube challenges datacenter IPs with "Sign in to confirm you're not a bot." A residential pool is the single biggest reliability factor.
  • Memory. Files are held in memory while being stored. Give the run at least 2× your maxFileSizeMb (e.g. 2048 MB for files up to ~1 GB), or lower maxFileSizeMb.
  • Audio-only is much smaller and faster — use quality: "audio" when you only need the sound.
  • maxItems is a total, not per input.

Limitations

  • Public videos only. Private, members-only, deleted or region-locked videos return FAILED.
  • Age-restricted videos may not be downloadable without a signed-in session, which this Actor does not use.
  • A row is a snapshot at collection time; view / like / comment counts keep moving.
  • shareCount and dislike count are always null — YouTube removed them platform-wide.
  • Very long 4K videos can be multi-GB; use maxFileSizeMb to keep runs bounded.

FAQ

Can I download a whole YouTube channel? Yes. Put the channel URL or @handle in startUrls, set maxItems, and every video is downloaded with its stats.

Can I convert YouTube to MP3? Yes. Set quality to audio — you get a 192 kbps MP3 per video in the key-value store.

Does it download playlists? Yes. Paste the playlist URL; every video up to maxItems is downloaded.

Do I need a YouTube account or cookies? No.

Why did a video fail? Almost always a bot check (use a residential proxy), an age restriction, or a private / deleted / region-locked video. The row's error field and the run log say which.

How fresh are the counts? Every run reads the live video page.

Support

Found a bug or a field that changed shape? Open an issue on the Actor's Issues tab in the Apify Console.

Only download content you own, that is in the public domain or Creative Commons, or that you are otherwise authorized to download. Downloading may violate YouTube's Terms of Service. You are solely responsible for how you use this Actor and its output, including copyright in the videos and music you download and the data-protection laws that apply to you.