YouTube Video Downloader PRO avatar

YouTube Video Downloader PRO

Pricing

from $20.00 / 1,000 results

Go to Apify Store
YouTube Video Downloader PRO

YouTube Video Downloader PRO

Save authorized YouTube videos in batches with searchable metadata, resolution control, per-URL results, and clear retry diagnostics. Optional cookies and proxy recovery are available for content you are allowed to access.

Pricing

from $20.00 / 1,000 results

Rating

2.6

(3)

Developer

Xtech

Xtech

Maintained by Community

Actor stats

14

Bookmarked

366

Total users

1

Monthly active users

10 days ago

Last modified

Share

YouTube Video Downloader

Save videos you own or are authorized to download, together with searchable metadata and a temporary direct download link.

What it does

  • Process one or many YouTube video URLs in a single run
  • Choose a maximum video resolution from 360p up to 4K
  • Receive the title, channel, duration, description, view count, thumbnail, and download result
  • Save each successful video to the run’s key-value storage and return a direct retrieval link
  • Use optional cookies for content you are authorized to access, such as your own age-restricted videos
  • Use a proxy when regional availability or rate limits require it

Best for

  • Create an offline copy of videos you own or have permission to archive
  • Build a metadata catalog before sending videos to a transcript, caption, or analysis workflow
  • Download a small batch of approved videos with one consistent resolution limit

This Actor does not bypass paywalls, private access controls, or YouTube’s policies. Use it only for content you are allowed to save.

Get started

Add one or more direct video URLs, choose the largest resolution you want, then run the Actor. The input form includes a public test video so you can verify the output before using your own URLs.

{
"urls": [
{ "url": "https://www.youtube.com/shorts/vVoMLnsbQqE" }
],
"resolution": "720p"
}

For age-restricted videos you own or are authorized to access, paste a Netscape-format cookies.txt value into the secret cookies field. The input form and reliable preset below enable Residential proxy because YouTube currently blocks Apify datacenter extraction. The Actor tries the signed media transfer directly first and falls back to proxy transfer only when YouTube rejects it; proxy transfer can materially increase run cost.

Pricing

The Actor is $20 per month with a 24-hour trial. Proxy traffic and Apify platform usage are separate, so start with the bundled 25-second sample before processing longer videos.

Ready-to-run presets

Reliable single-video cloud check:

{
"urls": [{ "url": "https://www.youtube.com/shorts/vVoMLnsbQqE" }],
"resolution": "360p",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Approved batch at a consistent quality:

{
"urls": [
{ "url": "https://www.youtube.com/watch?v=aqz-KE-bpKQ" },
{ "url": "https://www.youtube.com/watch?v=G56v017spr0" }
],
"resolution": "720p"
}

Authorized recovery for a region-limited source:

{
"urls": [{ "url": "https://www.youtube.com/watch?v=aqz-KE-bpKQ" }],
"resolution": "720p",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Add authorized cookies only in the secret cookies input; never place them in a task description or shared preset.

Results

Successful downloads appear in the default dataset with video details and a saved-file link. On pay-per-event runs, failed URLs and missing-file results go to the separate diagnostics dataset without a result-event charge. Open the DIAGNOSTICS key-value record for its link. Free/legacy runs retain failed rows in the default dataset. If all inputs fail, the run is marked FAILED after writing diagnostics. Each run writes a RUN_SUMMARY with successful, failed, saved and skipped counts, including whether it stopped at the spending limit. Saved media can be MP4 or WebM, depending on the formats YouTube supplies.

Malformed or non-YouTube URLs are retained as Invalid YouTube URL error rows and are not sent through yt-dlp retries. This keeps a typo from consuming runtime or proxy traffic while preserving a clear correction path in diagnostics.

Example successful row:

{
"url": "https://www.youtube.com/watch?v=aqz-KE-bpKQ",
"video_id": "aqz-KE-bpKQ",
"title": "Big Buck Bunny 60fps 4K - Official Blender Foundation Short Film",
"channel": "Blender",
"duration": 120,
"download_url": "https://api.apify.com/v2/key-value-stores/<store-id>/records/aqz-KE-bpKQ",
"error": null
}

The download link points to the Actor run’s key-value store and is subject to your Apify data-retention period. Download or copy the file while the run storage is retained.

Good to know

Only download content that you own or have permission to save. Availability, formats, and access rules are determined by YouTube and the video owner.

Troubleshooting

  • YouTube JavaScript challenge: the Actor bundles yt-dlp's EJS challenge solver and enables the bundled Deno runtime automatically. If YouTube still asks for sign-in, use authorized cookies or retry with the Residential proxy path below.
  • yt-dlp failed: confirm the URL is a direct YouTube video URL, then retry with a lower resolution.
  • Age-restricted or private video: provide authorized Netscape cookies; do not paste cookies into the public input or README.
  • Region or rate-limit error: enable Apify Proxy and retry with a small batch.
  • Bot-check or 403 Forbidden: use Apify Proxy with the RESIDENTIAL group. The Store example enables this because the no-proxy cloud check is currently blocked. The Actor attempts direct media transfer after proxied extraction to reduce proxy bandwidth, but if YouTube binds the signed URL to the extraction IP, media transfer also uses the proxy and can materially increase run cost.
  • Proxy cost: a 10-minute 360p canary used about $0.324 when YouTube required proxied media transfer. The bundled first-run sample is only 25 seconds to keep validation bandwidth substantially lower; your cost scales with the selected video and format size.
  • Memory: the default 1 GB run size is designed for ordinary downloads. Very large files may need a larger run memory setting; the Actor rejects files above 800 MB.
  • Missing download_url: the video metadata was returned with an error; inspect the row’s error field and run status rather than retrying blindly.

Pay-per-event results and diagnostics

Only successfully stored video files enter the paid default dataset. Failed and invalid-input rows are kept in a separate diagnostics dataset; the DIAGNOSTICS key-value-store record contains its ID and link. The run-start fee and applicable platform/proxy usage still apply. If no video can be downloaded, the run is marked failed after saving diagnostics.

RUN_SUMMARY reports saved videos, skipped inputs and whether the result spending limit stopped processing. Keep a maximum run charge and start with one short permitted video. A spending limit does not resolve YouTube access restrictions.