Vimeo Public Video Downloader
Pricing
Pay per event
Vimeo Public Video Downloader
Download authorized public Vimeo videos as stored MP4 files and export provenance, quality, size, and retrieval metadata.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Download authorized, anonymously playable public Vimeo videos and export stored MP4 files with provenance metadata. This Vimeo video downloader resolves owner-enabled progressive MP4 renditions, stores selected files in Apify, and returns video ID, title, creator, duration, format, resolution, byte size, source URL, and retrieval status.
No Vimeo login, cookies, browser, proxy, or user API key is required. Private, login-only, Vimeo On Demand, adaptive-only, and DRM-protected Vimeo videos are outside scope.
What can the Vimeo Public Video Downloader do?
- Process exact public
vimeo.comandplayer.vimeo.comvideo URLs. - Resolve owner-enabled progressive MP4 renditions from public Vimeo player data.
- Select the best, lowest, or nearest rendition at or below a requested height.
- Stream a selected MP4 into the run key-value store with a byte limit.
- Export metadata and an expiring source media URL without storing video bytes.
- Preserve title, creator, duration, dimensions, thumbnail, and source provenance.
- Deduplicate repeated Vimeo video IDs within one run.
- Continue after an individual bad URL and fail clearly if every URL fails.
- Process up to 100 supplied Vimeo videos per run.
This is a supplied-URL archiver. It does not search Vimeo, crawl creators, download private showcases, or bypass access controls.
Who is this Actor for?
Creators and rights holders can preserve their own anonymously playable Vimeo videos with source context.
Production and editorial teams can archive approved campaign or portfolio assets in repeatable runs.
Researchers and journalists can build a documented inventory of public videos they are permitted to retain.
Developers and data engineers can convert reviewed Vimeo URLs into JSON records plus stored MP4 files.
Compliance and records teams can schedule bounded archives and track retrieval outcomes over time.
Why use this Vimeo video downloader?
A manual download provides a file but usually not a stable machine-readable record connecting the file to its source, creator, quality, and retrieval time. This Actor keeps the selected media and its provenance together.
The implementation uses Vimeo's anonymous player configuration and public CDN renditions.
It does not launch a browser or automatically enable paid proxy traffic.
Use saveVideos: false when you need a low-transfer inventory instead of copied media.
Supported Vimeo URLs and videos
Supported URL shapes include:
https://vimeo.com/<video-id>https://vimeo.com/<video-id>/<unlisted-hash>https://player.vimeo.com/video/<video-id>https://player.vimeo.com/video/<video-id>?h=<unlisted-hash>
The video must be anonymously playable and expose at least one owner-enabled progressive MP4. The Actor intentionally rejects private, password-protected, login-only, On Demand, DRM-only, and adaptive-only media. It does not decrypt HLS/DASH streams or solve human-verification challenges.
Extracted Vimeo video data
| Field | Meaning |
|---|---|
videoId | Stable Vimeo video identifier |
title | Public video title |
creator | Public Vimeo creator or owner name |
durationSeconds | Video duration in seconds |
width, height | Selected MP4 rendition dimensions |
quality | Vimeo quality label for the selected rendition |
format | Selected media container, currently mp4 |
sourceUrl | Canonical public Vimeo page URL |
sourceMediaUrl | Expiring Vimeo CDN URL resolved during the run |
thumbnailUrl | Public Vimeo thumbnail URL |
videoFileKey | Key of the stored MP4, or null in resolve-only mode |
videoFileUrl | Apify key-value store record URL |
videoSizeBytes | Number of bytes copied to storage |
retrievalStatus | downloaded, resolved, or failed |
error | Concise per-URL failure reason, otherwise null |
retrievedAt | ISO 8601 retrieval timestamp |
Missing upstream values are returned as null, never guessed.
How to download a public Vimeo video
- Confirm the video opens while logged out and that you may download it.
- Copy the exact Vimeo video URL.
- Open this Actor in Apify Console.
- Add the URL under Public Vimeo video URLs.
- Keep Save video files enabled.
- Choose a preferred quality and safe file-size limit.
- Click Start.
- Open Vimeo video archives for the metadata record.
- Open Downloaded Vimeo videos for the stored MP4.
The prefilled URL is a real public sample suitable for a first run, but public source availability can change.
Input parameters
| Input | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | One or more exact HTTPS Vimeo video URLs |
saveVideos | boolean | true | Store selected MP4 files; disable for metadata/link resolution |
preferredQuality | string | best | best, lowest, or up to 360p, 540p, 720p, or 1080p |
maxItems | integer | 10 | Maximum unique supplied videos processed, 1–100 |
maxVideoSizeMb | integer | 250 | Maximum stored file size, 1–500 MB |
maxRequestRetries | integer | 2 | Bounded transient request retries, 0–5 |
Example:
{"startUrls": [{ "url": "https://vimeo.com/143603739" }],"maxItems": 1,"saveVideos": true,"preferredQuality": "lowest","maxVideoSizeMb": 100}
Output example
This abbreviated example reflects a real resolved public video:
{"videoId": "143603739","title": "The Shoes - Submarine Feat. Blaine Harrison","creator": "Karim Huu Do","durationSeconds": 336,"width": 480,"height": 270,"quality": "240p","format": "mp4","sourceUrl": "https://vimeo.com/143603739","sourceMediaUrl": "https://vod-progressive-ak.vimeocdn.com/.../432085185.mp4","thumbnailUrl": "https://i.vimeocdn.com/video/...","videoFileKey": "video-143603739-240p.mp4","videoFileUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/video-143603739-240p.mp4","videoSizeBytes": 17059259,"retrievalStatus": "downloaded","error": null,"retrievedAt": "2026-08-19T14:52:23.267Z"}
Default run storage is private. Authenticate when opening API file URLs, or copy files to storage you control.
Where are downloaded Vimeo videos stored?
Successful files use this key pattern in the default key-value store:
video-<video-id>-<quality>.mp4
The Actor preserves Vimeo's progressive MP4 without re-encoding, watermarking, or modifying it. The source media URL can expire; the run-owned key-value store record is the durable output for that run's retention period.
How much does it cost to download Vimeo videos?
The Actor uses pay-per-event pricing: one $0.005 start event and one item event for each successfully resolved public Vimeo video.
Failed and duplicate URLs have no item charge.
Saving a video does not create a second event, although normal platform transfer and storage usage increase with file size.
The current per-item tiers are:
| Tier | Successful video record |
|---|---|
| FREE | $0.0027508 |
| BRONZE | $0.002392 |
| SILVER | $0.0018658 |
| GOLD | $0.0014352 |
| PLATINUM | $0.0009568 |
| DIAMOND | $0.00066976 |
At BRONZE, one successful video is about $0.007392, 10 are about $0.02892, and 100 are about $0.2442, before ordinary Apify storage and transfer usage. Final cost is the start event plus successful records at your account tier.
Resolve Vimeo videos without copying media
Set saveVideos: false to export metadata and the currently resolved CDN URL without copying video bytes.
This is useful for inventories, validation, downstream download systems, and workflows where lower transfer matters.
The CDN URL is temporary.
Do not treat it as permanent storage.
The item event is unchanged because the Actor still resolves and emits the complete typed video record.
Batch and scheduled archival workflows
Supply a bounded list of approved public video URLs and save the input as an Apify Task. Schedule that Task when recurring archive snapshots are required.
Use videoId as the stable deduplication key in your destination.
Copy files before your Apify storage retention expires.
A later failed status can indicate removal, a privacy change, loss of a progressive rendition, or a temporary source error; the Actor does not infer legal or editorial meaning.
The Actor does not discover new creator uploads or compare prior runs automatically.
Integrations and export workflows
Send dataset records and authorized files to:
- Amazon S3, Google Cloud Storage, or Azure Blob Storage;
- Airtable, Notion, or Google Sheets for an archive index;
- a webhook for transcription, cataloging, or review;
- a database keyed by
videoId; - an approved media asset management system.
Pass authenticated storage access or copy the bytes when a destination cannot read private Apify run storage.
Run with the Apify API
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~vimeo-public-video-downloader/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls":[{"url":"https://vimeo.com/143603739"}],"maxItems":1,"saveVideos":true,"preferredQuality":"lowest","maxVideoSizeMb":100}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/vimeo-public-video-downloader').call({startUrls: [{ url: 'https://vimeo.com/143603739' }],maxItems: 1,saveVideos: true,preferredQuality: 'lowest',maxVideoSizeMb: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/vimeo-public-video-downloader").call(run_input={"startUrls": [{"url": "https://vimeo.com/143603739"}],"maxItems": 1,"saveVideos": True,"preferredQuality": "lowest","maxVideoSizeMb": 100,})print(client.dataset(run["defaultDatasetId"]).list_items().items)
Keep API tokens in environment variables or a secret manager.
Use with Apify MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/vimeo-public-video-downloader"
Claude Desktop setup
Add this configuration to Claude Desktop:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/vimeo-public-video-downloader"}}}
Cursor setup
Add the same MCP server URL in Cursor Settings → MCP.
VS Code setup
Add the same MCP server URL through your VS Code MCP extension or workspace MCP configuration.
Example prompts:
- "Download this authorized public Vimeo video at the lowest available quality and return its stored file metadata."
- "Resolve these approved Vimeo URLs without copying media and export an archive inventory."
- "Archive this bounded Vimeo video list with a 100 MB file limit."
Reliability, limits, and failure behavior
The Actor first tries Vimeo's structured player config route, then extracts the same configuration from bounded public player HTML when the config endpoint is challenged. It validates the returned video ID and accepts only HTTPS progressive media hosted by Vimeo's CDN.
Transient network, rate-limit, and server failures are retried a bounded number of times. No proxy or browser fallback is enabled.
A bad URL produces an uncharged failed record and a concise log message.
Successful URLs remain available when another URL fails.
The run exits with failure when no URL succeeds.
Troubleshooting
Why was my Vimeo video rejected?
Open it in a logged-out browser. Confirm it is one exact video URL and that the owner exposes a progressive MP4. Private, password-protected, login-only, On Demand, adaptive-only, and DRM-only videos are unsupported.
Why is the file URL unauthorized?
Run storage is private by default. Open it while authenticated in Apify Console or make an authorized API request with your token.
Why did an oversized video fail?
It exceeded maxVideoSizeMb.
Raise the limit only when you have budgeted the additional transfer, memory for local runs, and storage.
Why is videoFileUrl null?
saveVideos was disabled, or retrieval failed.
A successful resolve-only item has retrievalStatus: "resolved" and still includes sourceMediaUrl.
Responsible and legal use
Use this Actor only for public Vimeo media you are legally allowed to access, download, retain, and process. Respect copyright, privacy, publicity rights, contractual restrictions, Vimeo's terms, and applicable law.
Do not use it to bypass passwords, login requirements, payment, geographic controls, DRM, or human-verification challenges. Do not redistribute media without permission. Minimize retained personal data, restrict file access, choose an appropriate retention period, and honor valid deletion requests. This tool does not grant rights to third-party content.
Related automation-lab Actors
- Vimeo Transcript Scraper — export available Vimeo captions as text, SRT, or VTT instead of saving video media.
- Video to Text Transcriber — transcribe an authorized saved video in a separate workflow.
- M3U8 Playlist Downloader — process an authorized direct public HLS playlist when you already have the playlist URL.
These products do not replace this Actor's exact Vimeo URL-to-progressive-MP4 archival workflow.
FAQ
Does this Actor require a Vimeo account?
No. It supports only anonymously reachable public Vimeo player data and owner-enabled progressive MP4s.
Can it search Vimeo or crawl a creator profile?
No. Supply exact video URLs. Use a separate Vimeo discovery Actor before this one when your workflow starts from a creator or keyword.
Does it bypass Vimeo On Demand or DRM?
No. Paid, login-only, encrypted, and adaptive-only video is intentionally rejected.
Are failed or duplicate URLs charged as items?
No.
Only successfully resolved public video records create the item event.
The one-time start event still applies once per run.
Can I keep downloaded files permanently?
Apify storage retention depends on your plan. Copy files to durable storage you control when you need longer retention.