Vimeo Public Video Downloader avatar

Vimeo Public Video Downloader

Pricing

Pay per event

Go to Apify Store
Vimeo Public Video Downloader

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

Stas Persiianenko

Maintained by Community

Actor 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.com and player.vimeo.com video 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

FieldMeaning
videoIdStable Vimeo video identifier
titlePublic video title
creatorPublic Vimeo creator or owner name
durationSecondsVideo duration in seconds
width, heightSelected MP4 rendition dimensions
qualityVimeo quality label for the selected rendition
formatSelected media container, currently mp4
sourceUrlCanonical public Vimeo page URL
sourceMediaUrlExpiring Vimeo CDN URL resolved during the run
thumbnailUrlPublic Vimeo thumbnail URL
videoFileKeyKey of the stored MP4, or null in resolve-only mode
videoFileUrlApify key-value store record URL
videoSizeBytesNumber of bytes copied to storage
retrievalStatusdownloaded, resolved, or failed
errorConcise per-URL failure reason, otherwise null
retrievedAtISO 8601 retrieval timestamp

Missing upstream values are returned as null, never guessed.

How to download a public Vimeo video

  1. Confirm the video opens while logged out and that you may download it.
  2. Copy the exact Vimeo video URL.
  3. Open this Actor in Apify Console.
  4. Add the URL under Public Vimeo video URLs.
  5. Keep Save video files enabled.
  6. Choose a preferred quality and safe file-size limit.
  7. Click Start.
  8. Open Vimeo video archives for the metadata record.
  9. 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

InputTypeDefaultDescription
startUrlsarrayrequiredOne or more exact HTTPS Vimeo video URLs
saveVideosbooleantrueStore selected MP4 files; disable for metadata/link resolution
preferredQualitystringbestbest, lowest, or up to 360p, 540p, 720p, or 1080p
maxItemsinteger10Maximum unique supplied videos processed, 1–100
maxVideoSizeMbinteger250Maximum stored file size, 1–500 MB
maxRequestRetriesinteger2Bounded 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:

TierSuccessful 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 ApifyClient
client = 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.

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.

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.