Vimeo Video Downloader avatar

Vimeo Video Downloader

Pricing

from $5.00 / 1,000 video downloadeds

Go to Apify Store
Vimeo Video Downloader

Vimeo Video Downloader

Download public and unlisted Vimeo videos by URL or ID — direct MP4 links in every quality, HLS/DASH streams, full metadata, and optional save-to-store. MCP/API-ready.

Pricing

from $5.00 / 1,000 video downloadeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

Download public and unlisted Vimeo videos by URL or ID. Returns direct MP4 download links in every available quality (240p → 1080p+), HLS and DASH stream URLs, full metadata (title, owner, duration, fps, thumbnail), and an optional MP4 file saved straight into storage. HTTP-only, no login, no API key, no browser — fast and reliable. Built for bulk jobs and for AI agents (MCP-ready).

What you get

FieldDescription
idVimeo numeric video ID
titleVideo title
ownerName / ownerUrlUploader name and profile URL
durationLength in seconds
fps, width, heightFrame rate and native resolution
uploadDateUpload timestamp (as reported by Vimeo)
bestQualityQuality label of the best progressive stream (e.g. 1080p)
downloadUrlDirect link to the best-quality MP4 (or HLS/DASH master if no MP4)
progressiveStreams[]Every progressive MP4 rendition: quality, width, height, fps, url
hlsMasterUrl / dashMasterUrlAdaptive-stream master playlist URLs
thumbnailUrlPoster image
savedFileUrlPublic URL of the MP4 saved to storage (when enabled)
success / errorPer-video status; restricted/removed videos are reported, never crash the run

When to use it

  • Archive or back up your own Vimeo uploads in bulk.
  • Feed Vimeo video files or metadata into a transcription, editing, or analysis pipeline.
  • Let an AI agent fetch a downloadable link for any public Vimeo URL in one tool call.
  • Pull every quality variant of a video to pick the right size for your use case.

Not for: channel, showcase, group, or user-profile URLs — pass individual video links. Private, password-protected, or domain-locked videos cannot be downloaded unless you supply the unlisted hash (vimeo.com/{id}/{hash}).

Input

FieldTypeDefaultNotes
videoUrlsarray of strings— (required)Video URLs or IDs. Full, embed, unlisted-with-hash, or bare-ID forms all work.
maxVideosinteger50Caps processed + billed videos per run (max 1000).
saveVideosToStorebooleanfalseAlso download the MP4 into the run's key-value store and return savedFileUrl.
proxyConfigurationobjectApify DCUsed only for the config request; the CDN download is direct.

Example input

{
"videoUrls": [
"https://vimeo.com/76979871",
"https://vimeo.com/22439234",
"https://vimeo.com/123456789/0a1b2c3d4e"
],
"maxVideos": 50,
"saveVideosToStore": false
}

Pricing

Pay-per-event — you pay only for what you get:

EventPrice
Actor start$0.00005
Video downloaded (per successfully extracted video)$0.005

Private, removed, or restricted videos are not charged — only videos that return real download links bill the $0.005 event. Pay-Per-Usage (compute + proxy) is also available for very large jobs.

How it works

The actor reads Vimeo's public player configuration endpoint (player.vimeo.com/video/{id}/config) — the same data the Vimeo web player uses to play a video. No scraping of rendered HTML, no headless browser, no login. That makes it fast (sub-second per video) and resilient. The direct MP4/HLS/DASH URLs in the response are Vimeo's own pre-signed CDN links.

For unlisted videos, include the hash from the share URL (vimeo.com/{id}/{hash}); the actor passes it through automatically.

Output usage

Get the dataset via API

$curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?clean=true&format=json"

Call the actor from Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("khadinakbar/vimeo-video-downloader").call(run_input={
"videoUrls": ["https://vimeo.com/76979871"],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["downloadUrl"])

Call the actor from JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('khadinakbar/vimeo-video-downloader').call({
videoUrls: ['https://vimeo.com/76979871'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].downloadUrl);

Use with AI agents (MCP)

This actor is MCP-ready. Connect via https://mcp.apify.com?tools=khadinakbar/vimeo-video-downloader and an agent can pass a Vimeo URL and receive a structured download link plus metadata in one call.

FAQ

Can it download private videos? Only if you have the unlisted hash (vimeo.com/{id}/{hash}). Truly private, password-protected, or domain-locked videos return a clear error and are not billed.

What about 4K? If Vimeo exposes a higher progressive rendition for that video, it appears in progressiveStreams[] and is selected as downloadUrl. Some videos expose only HLS/DASH — in that case downloadUrl is the adaptive master and bestQuality is hls/dash.

Does it download the actual file or just a link? Links by default (fast, cheap). Set saveVideosToStore: true to also store the MP4 file and get a savedFileUrl.

Will links expire? Vimeo CDN URLs are time-signed. Download promptly, or use saveVideosToStore to keep a copy.

Bulk? Yes — pass many URLs in videoUrls, bounded by maxVideos.

This actor accesses publicly available data exposed by Vimeo's own video player. You are responsible for ensuring your use complies with Vimeo's Terms of Service, applicable copyright law, and the rights of content owners. Download only content you own or are authorized to download. This tool is provided for lawful archival, research, and personal-backup purposes.