Skip to content

Video Downloader

Try for free

Download public videos from Vimeo, Dailymotion, pages with an embedded player and direct video or stream links. Pick a quality and a format; each file is saved with the run and gets a download link.

🎬 Video Downloader

Save public videos from Vimeo, Dailymotion, pages with an embedded video player, direct video files and HLS or DASH stream links. Pick a quality and a format (MP4, WebM, MP3 and more), and each video is stored with the run and gets a download link, together with its title, uploader, length and picture size. No account, cookies or browser extension needed.

✨ Why use Video Downloader?

  • 🌐 One tool for many sources — video platforms with their own page format, ordinary web pages with an HTML5 or embedded player, direct .mp4 / .webm / .mov files and .m3u8 / .mpd stream links.
  • 🎚️ Choose quality and format — from 144p to 2160p, as MP4, MKV, MOV, WebM, or audio only as MP3, M4A, FLAC, WAV and others.
  • 🔗 Ready-to-share links — every saved file gets a signed download link that works for 7 days, plus the direct stream links from the site.
  • 📋 Clean metadata — title, uploader, publishing date, duration, thumbnail, width and height in one table you can export to JSON, CSV or Excel.
  • 🧾 Clear answers for every link — links that cannot be downloaded (login walls, DRM, live streams, private addresses) are listed with a plain reason while the run carries on.
  • 🔁 Retries built in — a fresh proxy address on errors, and residential addresses when a site refuses datacenter ones.

🎯 Use cases

  • 📚 Archiving your own published videos, course clips or conference talks from public pages.
  • 🎞️ Media research on openly licensed films and clips (for example Creative Commons and public-domain collections).
  • 🧪 Test footage for video-processing, transcoding or machine-learning pipelines.
  • 🎧 Audio extraction of public talks and lectures as MP3 or M4A for offline listening.
  • 🗂️ Catalogues of video metadata (title, uploader, length, size) from lists of public video links.

🚀 How to use

  1. Paste one or more video links into Video links (or upload a text file with links).
  2. Set Maximum videos, Preferred quality and Preferred format.
  3. Leave Save the file on to store each video, or turn it off for details and stream links only.
  4. Click Start. Each video becomes one row; the File column holds the download link.
  5. Export the table as JSON, CSV or Excel, or read it through the API. Links that could not be downloaded are listed with a reason under failedInputs in the run's OUTPUT record.

📥 Input

FieldWhat it does
videosVideo page links, direct video files or stream links. A page with several videos gives one row per video.
maxVideosStop after this many saved videos (default 10).
preferredQualityHighest picture size, 144p to 2160p (default 720p).
preferredFormatmp4, mkv, mov, webm, avi, flv, or audio: mp3, m4a, aac, wav, flac, ogg, opus, vorbis, aiff, alac, mka.
saveFileStore the file and add a download link (default on).
filenameTemplatePartsAdd title, uploader and/or timestamp to the file name.
includeSubtitlesAdd the video's own subtitle text (WebVTT or SRT, as published) when the site has a track.
proxyConfigurationDatacenter by default, with an automatic residential retry when a site refuses datacenter addresses.
{
  "videos": [
    { "url": "https://vimeo.com/22439234" },
    { "url": "https://media.w3.org/2010/05/sintel/trailer.mp4" }
  ],
  "maxVideos": 10,
  "preferredQuality": "360p",
  "preferredFormat": "mp4",
  "saveFile": true
}

📤 Output

FieldDescription
title, uploader, uploadDateVideo title, uploader or channel, publishing date
site, id, pageUrl, inputSource site (web for a file or an embedded player), video id, video page and the link you gave
durationSeconds, quality, width, heightLength and picture size of the saved video
downloadedFileUrl, fileKey, formatDownload link (7 days), storage key and file format
bytes, billedMegabytesBytes downloaded from the site and the megabytes charged
videoStreamUrl, audioStreamUrlDirect stream links from the site (they may expire)
thumbnailUrl, description, subtitlesThumbnail, description and optional subtitle text
noteLink expiry, or why a file was not saved

Example rows from a test run (long fields shortened):

[
  {
    "input": "https://vimeo.com/22439234",
    "pageUrl": "https://vimeo.com/22439234",
    "site": "vimeo",
    "id": "22439234",
    "title": "The Mountain",
    "uploader": "TSO Photography",
    "uploadDate": null,
    "durationSeconds": 185,
    "thumbnailUrl": "https://i.vimeocdn.com/video/145027281-cf3e3e04...-d",
    "downloadedFileUrl": "https://api.scrape.ly/v2/key-value-stores/<store>/records/vimeo_22439234_TheMountain.mp4?signature=...&attachment=1",
    "fileKey": "vimeo_22439234_TheMountain.mp4",
    "format": "mp4",
    "quality": "360p",
    "width": 640,
    "height": 360,
    "bytes": 20459894,
    "billedMegabytes": 21,
    "videoStreamUrl": "https://skyfire.vimeocdn.com/.../media.m3u8?...",
    "audioStreamUrl": "https://skyfire.vimeocdn.com/.../media.m3u8?...",
    "note": "The file link expires in 7 days."
  },
  {
    "input": "https://media.w3.org/2010/05/sintel/trailer.mp4",
    "pageUrl": "https://media.w3.org/2010/05/sintel/trailer.mp4",
    "site": "web",
    "id": "trailer",
    "title": "trailer",
    "uploader": null,
    "uploadDate": "2010-05-13",
    "durationSeconds": 52,
    "thumbnailUrl": null,
    "downloadedFileUrl": "https://api.scrape.ly/v2/key-value-stores/<store>/records/web_trailer_trailer.mp4?signature=...&attachment=1",
    "fileKey": "web_trailer_trailer.mp4",
    "format": "mp4",
    "quality": "480p",
    "width": 854,
    "height": 480,
    "bytes": 4372373,
    "billedMegabytes": 5,
    "videoStreamUrl": "https://media.w3.org/2010/05/sintel/trailer.mp4",
    "audioStreamUrl": "https://media.w3.org/2010/05/sintel/trailer.mp4",
    "note": "The file link expires in 7 days."
  }
]

Links that were not downloaded are listed in the run's OUTPUT record:

{
  "saved": 0,
  "failedInputs": [
    {"input": "https://www.netflix.com/title/80057281", "code": "DRM_PROTECTED", "reason": "Netflix protects its videos with DRM (copy protection), so they cannot be downloaded."},
    {"input": "https://vimeo.com/68375962", "code": "NEEDS_LOGIN", "reason": "This video needs a login, cookies, a password or a paid subscription. Videos behind a login are not supported."}
  ]
}

💰 Pricing

You pay per result:

  • $0.01 per video (each dataset row, with or without a saved file), and
  • $0.001 per megabyte saved (the bytes downloaded from the site, rounded up to whole megabytes).

Example from a test run: 10 public videos at 360p (72 MB in total) cost 10 × $0.01 + 72 × $0.001 = $0.17 in result fees, plus $0.10 platform usage (compute and about 0.9 GB of proxy traffic per GB of video), $0.27 in total. Platform usage is billed on top of the result fees at the normal platform rates. Links that cannot be downloaded are not charged as results.

❓ FAQ

Is it legal to download these videos? Only download videos you have the right to save, such as your own uploads, openly licensed or public-domain works, or videos whose owner allows downloads. Respect each site's terms and the creator's copyright.

Do I need a login, cookies or a proxy? No. The actor never asks for an account, cookies or a password. A proxy is included by default.

Can it download videos that need a login, a password, a subscription or an age check? No. Private, password-protected, members-only, paid and age-gated videos are not supported. Such links are reported as "needs a login, not supported" in failedInputs and cost nothing.

Can it download from Netflix, Disney+, Prime Video, Hulu, Max, Apple TV or Spotify? No. These services protect their videos with DRM (copy protection such as Widevine, PlayReady or FairPlay), and so do some videos on other sites. DRM-protected videos are refused with a clear reason and cost nothing.

What about live streams? Live streams and scheduled premieres are not supported. Run the link again once the site publishes the recording.

Why is a field empty? Sites publish different details. A direct video file has no uploader or description, so those fields stay empty, while length and picture size are read from the saved file.

Can I schedule runs or use the API? Yes. Save the input as a task and schedule it, or start runs through the API and read the dataset as JSON, CSV or Excel.

⚠️ Limits

  • No logins: videos that need an account, cookies, a password, a paid subscription or an age or region check are not supported.
  • No DRM: DRM-protected videos (Widevine, PlayReady, FairPlay) and DRM-only streaming services (Netflix, Disney+, Prime Video, Hulu, Max, Apple TV, Spotify video and similar) are refused.
  • No live streams or premieres that have not started.
  • File size: one saved file can be up to 90 MB, because the storage limit for a single file is 100 MB. Larger videos return their details, stream links and a note; choose a lower quality to save them.
  • Public internet only: links to private, local or internal network addresses (and anything other than http or https) are refused.
  • YouTube: single video links only, not channel, playlist or search pages.
  • Download links expire after 7 days. Direct stream links from the site can expire sooner.
  • Subtitles are the site's own tracks; automatic speech-to-text is not included.

Related actors

//From the blog\\

Latest articles

All articles
G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.