Vimeo Video Downloader avatar

Vimeo Video Downloader

Pricing

$2.65 / 1,000 resolved videos

Go to Apify Store
Vimeo Video Downloader

Vimeo Video Downloader

Get direct video or audio links when Vimeo exposes them, plus source-backed metadata from public Vimeo URLs. Export video IDs, titles, creators, thumbnails, and formats.

Pricing

$2.65 / 1,000 resolved videos

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

3

Monthly active users

2 days ago

Last modified

Share

For developers, media teams, researchers, and creators who already have public Vimeo video or player URLs, Vimeo Video Downloader returns direct source-hosted video or audio links when Vimeo exposes them, plus source-backed metadata in an Apify dataset. Use the rows to review content, build archives, support research or moderation queues, create reports, or pass media links into an API workflow without copying media files into Apify storage.

Each saved row is one successful public Vimeo video that produced at least one direct source-hosted video or audio link. When the same source video appears again through another submitted URL, the first eligible occurrence is saved and later matches are ignored. The row describes that first saved match.

Rows include videoId, submittedUrl, source-backed text and creator details when available, timing and engagement data when available, and availableFormats with source-exposed media variants. Available formats can differ by video, creator, region, and run time. Variants can include progressive or playlist-based video and audio links when Vimeo exposes them. Vimeo controls those source-hosted links, so they may expire or change. Use important links soon after the run, or rerun the Actor when you need fresh links.

🚀 Resolve known Vimeo videos

  1. Add one or more public Vimeo video or player URLs in startUrls.
  2. Start the Actor.
  3. Open the dataset when the run finishes.
  4. Choose a source-hosted link from availableFormats[].mediaUrl.

For a small first run, use the prefilled public URLs, then replace them with your own list.

If a URL is invalid, private, password-protected, login-only, deleted, unavailable, or has no direct media link, no row is saved for it and the Actor continues with other submitted URLs. Direct links stay on Vimeo's source hosts. This Actor does not ask for Vimeo cookies, a Vimeo login, a Vimeo API key, or your own proxy settings. It does not search Vimeo, crawl channels, showcases, groups, or profiles, or collect comments. It does not copy, merge, convert, or store media files in Apify storage.

⚙️ Input

The required input has one public field. Add 1 to 100 public Vimeo video or player URLs.

Input fields

FieldTypeWhat it does
startUrlsarray of objectsLists 1 to 100 public Vimeo video or player URLs to process.
startUrls[].urlstringHolds one public Vimeo video URL or player URL.

There is no quality selector, proxy setting, cookie field, password field, storage setting, conversion setting, or debug control in the public input.

Default input

This is the public input from the successful current-beta default-input run:

{
"startUrls": [
{
"url": "https://vimeo.com/1202208321"
},
{
"url": "https://vimeo.com/1146062919"
},
{
"url": "https://vimeo.com/1145693535"
},
{
"url": "https://vimeo.com/1134664351"
},
{
"url": "https://vimeo.com/1133654544"
}
]
}

🧾 Output

Run output

FieldTypeWhat it does
resultsstring URLOpens the dataset overview with successful Vimeo video rows.

Dataset row

Each saved row uses the same public shape. Fields that Vimeo does not provide can be null. The availableFormats list contains at least one video or audio variant.

FieldTypeWhat it does
videoIdstringCompact Vimeo video ID for the resolved video.
submittedUrlstringSubmitted Vimeo URL that produced this row.
titlestring or nullVideo title when Vimeo provides it.
descriptionstring or nullVideo description when Vimeo provides it.
creatorNamestring or nullCreator, channel, or account name when available.
creatorUrlstring or nullCreator, channel, or account URL when available.
durationSecondsinteger or nullVideo duration in seconds when available.
uploadDatestring or nullSource upload date in YYYY-MM-DD format when available.
thumbnailUrlstring or nullBest source-backed thumbnail or poster URL when available.
viewCountinteger or nullPublic view count when Vimeo provides it.
likeCountinteger or nullPublic like count when Vimeo provides it.
availableFormatsarray of objectsVideo and audio variants that Vimeo exposes for this video.
availableFormats[].mediaTypestringSays whether the variant is video or audio.
availableFormats[].qualitystring or nullSource quality label when known.
availableFormats[].widthinteger or nullVideo width in pixels when known.
availableFormats[].heightinteger or nullVideo height in pixels when known.
availableFormats[].contentTypestring or nullMedia content type when known.
availableFormats[].codecstring or nullSource media codec when known.
availableFormats[].bitrateKbpsnumber or nullSource media bitrate in kbps when known.
availableFormats[].mediaUrlstringDirect source-hosted media URL for the variant.

This is one complete genuine row from a successful current-beta run:

{
"videoId": "22439234",
"submittedUrl": "https://vimeo.com/22439234",
"title": "The Mountain",
"description": "Follow on:<br /> https://facebook.com/TSOphotography for more photos, videos and updates. <br /> <br /> This was filmed between 4th and 11th April 2011. I had the pleasure of visiting El Teide.<br /> Spain´s highest mountain @(3718m) is one of the best places in the world to photograph the stars and is also the location of Teide Observatories, considered to be one of the world´s best observatories. <br /> <br /> The goal was to capture the beautiful Milky Way galaxy along with one of the most amazing mountains I know El Teide. I have to say this was one of the most exhausting trips I have done. There was a lot of hiking at high altitudes and probably less than 10 hours of sleep in total for the whole week. Having been here 10-11 times before I had a long list of must-see locations I wanted to capture for this movie, but I am still not 100% used to carrying around so much gear required for time-lapse movies.<br /> <br /> A large sandstorm hit the Sahara Desert on the 9th April (http://bit.ly/g3tsDW) and at approx 3am in the night the sandstorm hit me, making it nearly impossible to see the sky with my own eyes.<br /> <br /> Interestingly enough my camera was set for a 5 hour sequence of the milky way during this time and I was sure my whole scene was ruined. To my surprise, my camera had managed to capture the sandstorm which was backlit by Grand Canary Island making it look like golden clouds. The Milky Way was shining through the clouds, making the stars sparkle in an interesting way. So if you ever wondered how the Milky Way would look through a Sahara sandstorm, look at 00:32.<br /> <br /> Available in Digital Cinema 4k.<br /> <br /> Follow Facebook: http://www.facebook.com/TSOPhotography<br /> Follow Twitter:<br /> http://twitter.com/TSOPhotography<br /> Follow Google+:<br /> https://plus.google.com/107543460658107759808<br /> <br /> Press/licensing/projects contact: tsophotography@gmail.com",
"creatorName": "TSO Photography",
"creatorUrl": "https://vimeo.com/terjes",
"durationSeconds": 185,
"uploadDate": "2011-04-15",
"thumbnailUrl": "https://i.vimeocdn.com/video/145027281-cf3e3e047a52e2210b26bbcf42fcde909a80a7dd023a757b95af01936d065ec0-d_640?region=us",
"viewCount": 78989191,
"likeCount": 104322,
"availableFormats": [
{
"mediaType": "video",
"quality": "1080p",
"width": 1920,
"height": 1080,
"contentType": "application/vnd.apple.mpegurl",
"codec": "avc1.64002A",
"bitrateKbps": 5438,
"mediaUrl": "https://skyfire.vimeocdn.com/1788880225-0x7d431e9eb9a9a78e8c17cde4fbb8937ac9913bc9/d342534e-4aaa-4eee-bdd6-94430cb955d1/psid=4b8b3009e9dd533788f5501dfcb49401323d88e81788876625/v2/playlist/av/d342534e/avf/cb0d77c8/media.m3u8?pathsig=8c953e4f~EqfU3sjOuq7Hx_-_9b2RkXhEHaYwuCaz2cl7WUkeW2M&qsr=1&r=dXMtZWFzdDE%3D&st=video"
},
{
"mediaType": "video",
"quality": "720p",
"width": 1280,
"height": 720,
"contentType": "application/vnd.apple.mpegurl",
"codec": "avc1.640020",
"bitrateKbps": 2855,
"mediaUrl": "https://skyfire.vimeocdn.com/1788880225-0x7d431e9eb9a9a78e8c17cde4fbb8937ac9913bc9/d342534e-4aaa-4eee-bdd6-94430cb955d1/psid=4b8b3009e9dd533788f5501dfcb49401323d88e81788876625/v2/playlist/av/d342534e/avf/6151447b/media.m3u8?pathsig=8c953e4f~5IegSVChdc3Iqkn0yksAPI9YMSLb11OgGS2tICy_q5o&qsr=1&r=dXMtZWFzdDE%3D&st=video"
},
{
"mediaType": "video",
"quality": "360p",
"width": 640,
"height": 360,
"contentType": "application/vnd.apple.mpegurl",
"codec": "avc1.64001E",
"bitrateKbps": 884,
"mediaUrl": "https://skyfire.vimeocdn.com/1788880225-0x7d431e9eb9a9a78e8c17cde4fbb8937ac9913bc9/d342534e-4aaa-4eee-bdd6-94430cb955d1/psid=4b8b3009e9dd533788f5501dfcb49401323d88e81788876625/v2/playlist/av/d342534e/avf/72787d3a/media.m3u8?pathsig=8c953e4f~rLdkb9f5fbq0cvshqrN49SCTxlNIxFUxT_PRTO-X_Nk&qsr=1&r=dXMtZWFzdDE%3D&st=video"
},
{
"mediaType": "video",
"quality": "240p",
"width": 426,
"height": 240,
"contentType": "application/vnd.apple.mpegurl",
"codec": "avc1.640015",
"bitrateKbps": 501,
"mediaUrl": "https://skyfire.vimeocdn.com/1788880225-0x7d431e9eb9a9a78e8c17cde4fbb8937ac9913bc9/d342534e-4aaa-4eee-bdd6-94430cb955d1/psid=4b8b3009e9dd533788f5501dfcb49401323d88e81788876625/v2/playlist/av/d342534e/avf/bfac4d26/media.m3u8?pathsig=8c953e4f~KBgncikNwHQUP8J_tHphPIT0W0C-TNPIPmTrTazNRHE&qsr=1&r=dXMtZWFzdDE%3D&st=video"
},
{
"mediaType": "audio",
"quality": "English",
"width": null,
"height": null,
"contentType": "application/vnd.apple.mpegurl",
"codec": "mp4a.40.2",
"bitrateKbps": null,
"mediaUrl": "https://skyfire.vimeocdn.com/1788880225-0x7d431e9eb9a9a78e8c17cde4fbb8937ac9913bc9/d342534e-4aaa-4eee-bdd6-94430cb955d1/psid=4b8b3009e9dd533788f5501dfcb49401323d88e81788876625/v2/playlist/av/d342534e/avf/d679fb8f/media.m3u8?pathsig=8c953e4f~5n8msX-A4ZyWsM5BcfHwvl0reYglGtJUIns5ZQ9Gl4U&qsr=1&r=dXMtZWFzdDE%3D&st=audio"
}
]
}

💳 Pricing

Pay-per-event pricing applies to each public Vimeo video that is successfully resolved with metadata and at least one direct media link and saved as a dataset row. A submitted URL that does not produce a saved row does not create this event. See the Pricing tab for the current event price.

🔌 Integrations

Use the Apify Console or API to start runs and read the dataset. You can export the dataset as JSON, CSV, Excel, XML, RSS, or HTML, and connect runs to schedules, webhooks, or other Apify workflows.

❓ FAQ

Why did a public Vimeo URL produce no row?

Watching a video publicly does not always mean that its player data exposes a direct media link. Invalid, deleted, private, password-protected, login-only, access-denied, or unavailable videos are also skipped. The Actor continues with the rest of the submitted URLs.

Can I submit a Vimeo player URL?

Yes. Add a public Vimeo video URL or a player.vimeo.com/video/... URL in startUrls.

Can I resolve a private or password-protected video?

No. The Actor only handles public Vimeo videos and does not use cookies, passwords, logins, or bypass privacy, paywall, DRM, geo, or creator download restrictions.

Does the Actor download or store the media file?

No. It returns direct source-hosted links. It does not copy, merge, convert, or store the media in Apify storage.

No. The Actor returns the video and audio variants Vimeo exposes. It has no per-run quality selector and does not convert or merge streams.

Can I use the result through the Apify API?

Yes. Start the Actor through the Apify API, then read or export the dataset with the returned fields.

📝 Changelog

v1.0 (08-09-2026)

  • Resolves available Vimeo video and audio playlist links.
  • Uses source-backed metadata such as upload dates, view counts, and like counts when Vimeo provides it.
  • Removes fetchedAt and expiresAt from output rows.
  • Ends successful runs with a scrape summary, review link, and feature-request or bug-report link, including runs with zero rows.

v0.1

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré