Features
Individual Videos Only
Vimeo support is limited to individual video URLs. Collections, playlists, and channels are not supported.
Supported URL Format
Vimeo URLs must follow this exact pattern:Valid Examples
Invalid Examples
The video ID must be numeric and directly after
vimeo.com/ in the URL path.API Access
No API key required! Vimeo support uses the public oEmbed API which doesn’t require authentication.
Metadata Extraction
The following video metadata is extracted from Vimeo:| Property | Source | Description |
|---|---|---|
| Title | title | Video title |
| Description | description | Full video description |
| Thumbnail | thumbnail_url | Video thumbnail image |
| Duration | duration | Video length in seconds |
Example Response
Limitations
Embedding Restrictions
Vimeo allows video creators to disable embedding. If a video has embedding disabled:- API request returns HTTP 403 Forbidden
- Video cannot be played in OpenTogetherTube
- Error message: “Embedding for this video is disabled!”
vimeo.ts:66-70:
No Collections
Unlike YouTube, Vimeo support does not include:- ❌ Playlists
- ❌ Showcases
- ❌ Channels
- ❌ User profiles
- ❌ Video albums
No Search
The Vimeo adapter does not support searching for videos. Users must provide direct video URLs.Not Cache Safe
Vimeo metadata hasisCacheSafe: false, meaning:
- Video metadata is fetched fresh each time
- Metadata is not stored long-term in the database
- Ensures up-to-date information but increases API calls
Privacy & Domain Support
Supported Privacy Settings
- ✅ Public videos
- ✅ Unlisted videos (with link)
- ❌ Private videos (require password or permission)
Supported Domains
vimeo.comwww.vimeo.com
Error Handling
Common errors you may encounter:403 Forbidden
403 Forbidden
Cause: Video creator disabled embedding for this videoSolution: This video cannot be played in OTT. Try a different video or ask the creator to enable embedding.
Invalid Video ID
Invalid Video ID
Cause: Video ID is not numeric or URL format is incorrectSolution: Verify the URL is in the format
https://vimeo.com/NUMERIC_ID404 Not Found
404 Not Found
Cause: Video doesn’t exist or has been deletedSolution: Check that the video ID is correct and the video is still available
Configuration
Vimeo support works out-of-the-box with no configuration needed:Video ID Validation
The adapter validates video IDs before making API requests:Video IDs must contain only digits. Any non-numeric characters will be rejected.
Implementation Details
Technical Details
Technical Details
The Vimeo adapter is implemented in
server/services/vimeo.ts and is one of the simplest service adapters:- File size: Only 74 lines of code
- API Client: Uses axios with base URL
https://vimeo.com/api/oembed.json - Dependencies: No external service dependencies
- Cache: Does not use Redis or database caching
canHandleURL(): Checks forvimeo.comdomain and numeric path (line 30-33)getVideoId(): Extracts the last segment of the URL path (line 39-42)fetchVideoInfo(): Makes oEmbed API request (line 44-72)isCollectionURL(): Always returns false (line 35-37)
isCacheSafe: false) because Vimeo video metadata and availability can change frequently.Comparison with YouTube
| Feature | YouTube | Vimeo |
|---|---|---|
| API Key Required | ✅ Yes | ❌ No |
| Individual Videos | ✅ Yes | ✅ Yes |
| Playlists | ✅ Yes | ❌ No |
| Channels | ✅ Yes | ❌ No |
| Search | ✅ Yes | ❌ No |
| Cache Safe | ✅ Yes | ❌ No |
| Embedding Control | Platform-wide | Per-video |
Usage Example
Troubleshooting
Video won't play
Check if embedding is enabled. Try playing the video on Vimeo.com first.
Wrong video loads
Verify the video ID is correct. Vimeo IDs are numeric only.
Missing metadata
Some Vimeo videos may have incomplete metadata. This is normal.
Slow loading
Vimeo videos are not cached, so loading time depends on Vimeo’s API response.