Vimeo’s API gives you direct access to your entire video library — metadata, engagement stats, text tracks, and private uploads — that most teams only browse through the dashboard. These five jobs pull that data through Mavera’s surfaces (Video Analysis, Focus Groups, Mave Agent, Chat, Generate) to score your creative catalog by emotional impact, gate publishing with quality thresholds, correlate Mavera scores against real engagement, extract repurposable content from captions, and track audience retention across webinar series.Documentation Index
Fetch the complete documentation index at: https://docs.mavera.io/llms.txt
Use this file to discover all available pages before exploring further.
API Reference Card
| Detail | Value |
|---|---|
| Base URL | https://api.vimeo.com |
| Auth | OAuth 2.0 Bearer token |
| Rate limits | ~100 req/min (free), ~600 req/10 min (paid plans) |
| Mavera base | https://app.mavera.io/api/v1 |
| Mavera auth | Authorization: Bearer mvra_live_... |
All examples use two environment variables:
VIMEO_ACCESS_TOKEN and MAVERA_API_KEY. The Vimeo token requires the public, private, video_files, and stats scopes. Generate one at Vimeo Developer → My Apps. Store both keys in your secrets manager and never expose them client-side.Prerequisites
Vimeo app
Create an app at developer.vimeo.com/apps. Request the scopes:
public, private, video_files, stats, upload.Access token
Generate a personal access token under your app’s Authentication tab, or implement the full OAuth 2.0 flow for multi-user access.
Mavera API key
Get your key from Mavera dashboard.
Jobs
| # | Job | Vimeo Data | Mavera Surface | Output |
|---|---|---|---|---|
| 1 | Marketing Video Library Analysis | GET /me/videos (full library) | Video Analysis | Scored catalog by emotional impact, message clarity, behavioral effectiveness |
| 2 | Pre-Publish Creative Testing | Upload draft (private) → GET /videos/ | Video Analysis + Focus Groups | Quality gate with improvement feedback |
| 3 | Video Engagement × Mavera Scoring Correlation | GET /me/videos (stats: plays, finishes, engagement) | Video Analysis + Mave Chat | Which Mavera metric best predicts real engagement |
| 4 | Caption-Based Content Extraction | GET /videos//texttracks | Chat + Generate | Blog, social, email repurposes from transcripts |
| 5 | Webinar Series Intelligence | GET /me/albums//videos (series metadata) | Video Analysis + Mave Chat | Cross-session engagement trends and drop-off diagnosis |
Rate Limits & Production Notes
| Vimeo Endpoint | Rate Cost | Strategy |
|---|---|---|
GET /me/videos | 1 req | Paginate at 100/page; cache for 1 hour |
GET /videos/{id} | 1 req | Batch metadata requests where possible |
GET /videos/{id}/texttracks | 1 req | Cache transcripts locally — they rarely change |
GET /me/albums/{id}/videos | 1 req | Single call covers up to 50 videos |
PATCH /videos/{id} | 1 req | Used for updating privacy settings post-review |
| Concern | Recommendation |
|---|---|
| Token scopes | Request minimum scopes needed: public + private for read, add upload only for Job 2, add stats for Jobs 1/3/5 |
| Rate limit headers | Read X-RateLimit-Remaining before each request. If below 10, sleep until X-RateLimit-Reset |
| Video privacy | Draft testing (Job 2) should use privacy.view: "nobody" to prevent accidental public exposure |
| Webhook integration | Use Vimeo webhooks (video.upload.complete) to trigger Job 2 automatically on upload |
| Transcript caching | Cache downloaded text tracks to avoid re-downloading. Use the modified_time field to invalidate cache |
| Mavera credits | Video Analysis consumes more credits than Chat. Monitor at Dashboard |
What’s Next
All Integrations
50+ API integrations with full code
Vimeo API Reference
Official Vimeo API documentation
Video Analysis
Full reference for POST /api/v1/video-analysis
Focus Groups API
Full reference for POST /api/v1/focus-groups
Mave Agent
Full reference for POST /api/v1/mave/chat
Generate API
Full reference for POST /api/v1/generate