Vimeo Video & Channel Scraper
Pricing
from $6.80 / 1,000 results
Vimeo Video & Channel Scraper
Scrape Vimeo videos by keyword, video URL or channel. Get title, views, likes, comments, duration, upload date, uploader and tags.
Pricing
from $6.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Vimeo Video & Channel Scraper
Here is one real result, with every field the actor returns:
{"thumbnailUrl": "https://i.vimeocdn.com/video/591979123-81f1a485a4d15b49dfaa3157f321ef8cb535a2d7ed9153d42d227eeb063584ed-d?region=us","title": "nature","url": "https://vimeo.com/182932029","id": "182932029","uploaderName": "Charles Fowlkes","uploaderUrl": "https://vimeo.com/user51667858","uploaderId": "51667858","description": "The first form of art , nature. It is every plant and animal living on it's own accord, without human intervention. Indeed beautiful and free.","durationSeconds": 44,"uploadDate": "2016-09-15T23:17:30+00:00","releaseDate": "2016-09-15T23:17:30+00:00","viewCount": 90517,"likeCount": 71,"commentCount": 4,"width": 1920,"height": 1080,"resolution": "1920x1080","privacy": "anybody","language": "en","license": null,"contentRating": ["safe"],"tags": ["bears", "waterfalls", "rivers", "animals", "mountains", "free", "nature"],"categories": ["Documentary", "Travel", "Nature"],"observedAt": "2026-08-10T14:32:54.072Z","error": null}
The most complete Vimeo scraper available. It returns every field the Vimeo video record exposes, from title and description to plays, likes, comments, resolution, tags and categories, plus derived fields like resolution and uploaderId, and gives you three ways to target exactly the videos you need: keyword search, video URLs, and channel or user URLs.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor collects public Vimeo videos from three kinds of input: keyword searches, specific video URLs or IDs, and channel or user URLs. For each video it fetches the full metadata record, normalizes it to one flat item, and writes it to the run's dataset. You can combine all three input types in a single run. Search results are paginated up to your chosen limit, and channels are paged through their full catalog. Missing source values are returned as null, and a set of derived fields (resolution, uploaderId, id) is computed on top of the raw Vimeo fields so you can sort and filter without extra parsing.
Every video includes like and comment totals. Play counts (viewCount) are included whenever the uploader keeps their video statistics public, which is the case for most search results.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the 10 most relevant videos matching the keyword nature.
{"maxVideos": 10,"searchTerms": ["nature"],"sort": "relevant"}
Provide any combination of searchTerms, videoUrls, and channelUrls; at least one is required. Leave sort at its default to get the most relevant search results first.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
maxVideos | integer | no | 10 | Maximum number of videos to collect across all inputs. For example 50. |
searchTerms | string[] | no | (empty) | Keywords to search Vimeo for. Each keyword returns matching public videos. For example ["nature", "drone"]. |
videoUrls | string[] | no | (empty) | Vimeo video URLs or numeric IDs to fetch full details for. For example ["https://vimeo.com/76979871", "182932029"]. |
channelUrls | string[] | no | (empty) | Vimeo channel or user URLs to pull recent videos from. For example ["https://vimeo.com/staff", "https://vimeo.com/channels/staffpicks"]. |
sort | enum | no | relevant | Order for search results only (ignored for video and channel URLs). One of relevant, latest, popular, alphabetical, duration. |
At least one of searchTerms, videoUrls, or channelUrls must be provided. The sort option applies only to keyword searches.
Output reference
One dataset item per video. Types: string, integer, boolean, string[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
thumbnailUrl | string | Video preview image URL. |
title | string | Video title. |
url | string | Canonical Vimeo video URL. |
id | string | Numeric Vimeo video ID. |
uploaderName | string | Name of the channel or user who posted the video. |
uploaderUrl | string | Link to the uploader's Vimeo profile. |
uploaderId | string | Numeric ID of the uploader. |
description | string | Full video description text, or null. |
durationSeconds | integer | Length of the video in seconds. |
uploadDate | string | ISO 8601 timestamp of when the video was created. |
releaseDate | string | ISO 8601 timestamp of when the video was released or published. |
viewCount | integer | Number of plays, when the uploader keeps stats public, otherwise null. |
likeCount | integer | Number of likes. |
commentCount | integer | Number of comments. |
width | integer | Video width in pixels. |
height | integer | Video height in pixels. |
resolution | string | Combined resolution such as 1920x1080, or null when dimensions are unknown. |
privacy | string | Who can view the video, such as anybody. |
language | string | Primary language of the video when set, otherwise null. |
license | string | Reuse license such as a Creative Commons license when set, otherwise null. |
contentRating | string[] | Content rating labels, or null. |
tags | string[] | List of tags on the video. Empty array when none. |
categories | string[] | Vimeo categories the video belongs to. Empty array when none. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed lookup, an item with a populated error field and sourceUrl is written instead. |
Example output record
Real record from a live run (input {"searchTerms": ["nature"], "maxVideos": 10, "sort": "relevant"}):
{"thumbnailUrl": "https://i.vimeocdn.com/video/591979123-81f1a485a4d15b49dfaa3157f321ef8cb535a2d7ed9153d42d227eeb063584ed-d?region=us","title": "nature","url": "https://vimeo.com/182932029","id": "182932029","uploaderName": "Charles Fowlkes","uploaderUrl": "https://vimeo.com/user51667858","uploaderId": "51667858","description": "The first form of art , nature. It is every plant and animal living on it's own accord, without human intervention. Indeed beautiful and free.","durationSeconds": 44,"uploadDate": "2016-09-15T23:17:30+00:00","releaseDate": "2016-09-15T23:17:30+00:00","viewCount": 90517,"likeCount": 71,"commentCount": 4,"width": 1920,"height": 1080,"resolution": "1920x1080","privacy": "anybody","language": "en","license": null,"contentRating": ["safe"],"tags": ["bears", "waterfalls", "rivers", "animals", "mountains", "free", "nature"],"categories": ["Documentary", "Travel", "Nature"],"observedAt": "2026-08-10T14:32:54.072Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~vimeo-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchTerms":["nature"],"maxVideos":25,"sort":"popular"}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~vimeo-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"channelUrls":["https://vimeo.com/channels/staffpicks"],"maxVideos":100}'
Apify CLI:
apify call scrapers_lat/vimeo-scraper \--input '{"videoUrls":["https://vimeo.com/182932029"]}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per record returned (
resultevent). See the pricing tab for the current per-result price. - No charge on failure. If a video is private or removed, the actor writes an item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 25 records per run. Upgrade for higher
maxVideos. - Keyword search coverage. Search pages through the matching public catalog; channels page through their full video list, up to your chosen
maxVideos.
FAQ and troubleshooting
What can I search on Vimeo with this scraper? Search Vimeo by any keyword, pass individual video URLs or IDs, and pull recent videos from any channel or user profile. You can combine all three inputs in a single run.
Does it return view, like, and comment counts?
Yes. Every video includes like and comment totals. Play counts (viewCount) are included whenever the uploader keeps their video statistics public, which is the case for most search results, otherwise viewCount is null.
Can I sort search results?
Yes. Search supports relevant, latest (newest first), popular (most played), alphabetical, and duration (longest first). Sorting applies to keyword searches only.
What happens with private or removed videos? If a video URL points to a private, removed, or restricted video, the actor records a clear error entry for that URL and continues with the rest of your input, so one bad link never stops the run. Error entries are not charged.
A run returned 0 records. Why?
No input was provided, or the keyword and URLs matched nothing public. Provide at least one of searchTerms, videoUrls, or channelUrls. Zero-result runs are not charged.
Is this an official Vimeo tool? No. This actor is independent and has no affiliation with Vimeo. It reads only data that is publicly available on the platform. Use it in accordance with Vimeo's terms of service.
Related scrapers
- YouTube Video & Channel Data Scraper: Videos and channels by search, URL or handle with views and subscribers.
- TikTok Hashtag Analytics Scraper: Hashtag reach, video counts and trends on TikTok.
- Reddit Posts & Comments Scraper: Posts, comments and scores from any subreddit or search.
- Chrome Web Store Scraper: Extensions, ratings and install counts from the Chrome Web Store.
- App Store Reviews Scraper: User reviews and ratings for any app on the App Store.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Vimeo. Accesses only publicly available data. Use in accordance with Vimeo's terms of service.
