Video player for developers with a real SDK and API

You're in great company

Why the default video player doesn't work for developer applications

  • No programmatic control of playback

    The default iframe embed plays, pauses, and reports events on its own terms. If your product needs to sync playback with a UI, resume from a stored offset, or capture events, an iframe alone isn't enough.

  • No API for bulk video management

    Applications that manage many videos (auto-generated content, user uploads, programmatic catalogs) can't do that from a dashboard. Without an API, video management becomes a manual bottleneck.

  • Auth and access are opaque

    Many video platforms lack documented OAuth 2.0 flows, so integrating video access into a custom application means workarounds, shared credentials, and audit-trail gaps.

Developers building on top of video need a video player and video platform they can control from code: playback events, upload pipelines, metadata management, and access control all reachable through documented APIs. Vimeo's Player SDK, REST API, webhooks, and OAuth 2.0 flows cover the primitives, and the same platform hosts, transcodes, delivers, and secures the video, so engineering isn't stitching together five vendors to ship one product.

Embed and control your video player from JavaScript with the Player SDK

The Vimeo Player SDK is a JavaScript library that lets your application control playback, capture events, and read state from the embedded player. Play, pause, seek, set volume, listen for time updates, and respond to end-of-video events from your own UI. The player still handles adaptive bitrate up to 8K, HDR and Dolby Vision, custom branding, and ad-free playback.
Get started now

Player SDK for JavaScript

Play, pause, seek, set volume, and read time updates programmatically. Listen for events (play, pause, ended, timeupdate) and drive your UI from playback state.

Adaptive bitrate up to 8K HDR

The player handles adaptive bitrate delivery, HDR, and Dolby Vision. Your application benefits from platform-grade streaming without a custom encoding pipeline.

Custom branding and controls

Apply your logo, color palette, and control layout. The embedded player looks like your product, not a platform, while retaining full programmatic control from the SDK.

Domain-restricted embeds

Lock the player to your approved domains at the platform level. Even with programmatic embeds, the player only renders on properties you authorize.

Manage videos, uploads, and analytics from your backend via the REST API

The Vimeo REST API covers uploads (resumable, up to 200 GB per file), metadata, folders, player customization, analytics, and access control. OAuth 2.0 handles authentication with scopes for public, private, and workspace access. For applications managing many videos through the API (user uploads, programmatic catalogs), the API supports the operations developers expect.
Get started now

REST API for video management

Upload, update, delete, and organize videos programmatically. Manage folders, players, and access. The API covers what a modern application needs to do with video at scale.

Webhooks for video events

Subscribe to events (upload complete, transcode ready, video updated) and drive your application logic. Skip polling and get pushed notifications when video state changes.

OAuth 2.0 with scoped access

OAuth 2.0 flows handle authentication for your application and its users. Scopes let you request only the permissions your integration needs, and tokens can be revoked cleanly.

Analytics API for engagement data

Pull video engagement, drop-off, and viewer analytics into your own dashboards. Combine video data with product usage data to see how content contributes to conversion and retention.

Trusted by marketers, businesses, and video pros around the globe

  • 100+ billion

    video views (and counting)

  • 7+ million

    videos uploaded every month

  • 4+ billion

    minutes streamed each month

What building on Vimeo's video player gets you as a developer

The Player SDK, REST API, webhooks, and OAuth 2.0 together let you embed a branded, ad-free player, control playback from your product UI, manage videos at scale from your backend, and pull analytics into your dashboards. The video platform handles hosting, transcoding, delivery, and playback, so your team ships product features instead of infrastructure.
  • Programmatic playback control

    Drive playback from your UI: sync scrubbing with a chapter list, resume from a stored offset per user, or pause on scroll. Your product feels integrated instead of an iframe bolted on.
  • Bulk video operations

    Upload, update, and delete videos in batches from your backend. Auto-generated content, user uploads, and programmatic catalog updates run through the API without a manual dashboard.
  • Event-driven architecture

    Webhooks push events on upload complete, transcode ready, and video updated. Your application reacts to state changes without polling, and pipelines stay responsive.
  • OAuth 2.0 with scopes

    Scoped access tokens fit any integration: internal tools, end-user apps, or partner integrations. Revoke tokens cleanly and audit access from the workspace side.
  • Custom player, no ads

    The embedded player is ad-free with your logo and color palette. No pre-rolls, no suggested videos at the end, no platform brand competing with your product experience.
  • Adaptive bitrate up to 8K HDR

    The platform serves adaptive renditions, including HDR and Dolby Vision when the source supports it. Your team skips building an encoding ladder or a delivery pipeline.
  • Domain restrictions and DRM

    Lock embeds to approved domains, and on Enterprise, layer Widevine, PlayReady, and FairPlay DRM. Premium video and gated product content stay controlled.
  • SSO and SCIM for workspace

    SAML SSO with Okta, Azure AD, and Google Workspace, plus SCIM provisioning, tie workspace access to your identity provider for the team building on the API.
  • Analytics API for your dashboards

    Pull viewer, engagement, and drop-off data into your own product analytics dashboards. Video contribution to conversion and retention becomes part of your metrics.

How to build with Vimeo's video player as a developer

Vimeo's developer surface is the Player SDK, REST API, webhooks, and OAuth 2.0. Here's the flow from account setup to a working embedded player controlled from your application code.
  1. Step 1

    Create a Vimeo API application at developer.vimeo.com and register OAuth 2.0 redirect URIs. Get your client ID and secret, and set the scopes your integration needs.
  2. Step 2

    Upload videos via the REST API (resumable, up to 200 GB per file), or use tus for chunked uploads. Add metadata, folder placement, and any player customization programmatically.
  3. Step 3

    Embed the player on your page via iframe, or use the Player SDK for programmatic control. Import @vimeo/player, instantiate a Player object, and wire up event handlers.
  4. Step 4

    Subscribe to webhooks for the events your application cares about (upload complete, transcode ready). Configure webhook endpoints in the API dashboard and verify signatures.
  5. Step 5

    Pull analytics via the API for engagement, drop-off, and per-viewer data. Combine with your product analytics to see how video contributes to conversion and retention.

Find the right plan for you

    Vimeo offers discounts to US-based non-profit organizations and educational institutions. Learn more.

    For more information on feature availability, please reference our pricing page.

    Frequently asked questions about Vimeo's video player for developers