Vimeo hub

Vimeo Embed API

Everything needed to place a Vimeo video on a page: iframe markup, size, thumbnail, title and owner, or a clear restricted status.

GET /v1/vimeo/videos/{videoId}/embed

1 credit Failed requests are free

About this endpoint

GET /v1/vimeo/videos/{videoId}/embed returns the embed record for one video. On found, data.embed carries html, width, height, thumbnail, thumbnailWithPlayButton and domainStatusCode; data.owner carries name, url and accountType, and the top level carries title, description and uploadedAt.

When the owner has switched embedding off, lookupStatus is restricted and the embed, owner and text fields are null. That is not an error: it tells you to use a link instead of an iframe. Use the query parameters to size the embed (maxWidth, maxHeight, width), to pass an unlisted-video hash, or to set player flags such as responsive, autoplay, dnt, byline, portrait, title and color.

Vimeo Embed API FAQ

What is in data.embed?

html with the ready-made iframe, width, height, thumbnail, thumbnailWithPlayButton and domainStatusCode. The top level also has title, description, uploadedAt and owner, where owner has name, url and accountType.

What does restricted mean?

restricted means the owner has turned embedding off, so embed is null. It is a successful lookup with a definite answer, not a temporary failure. Fall back to the video URL.

Can I change the iframe size?

Pass maxWidth, maxHeight or width in pixels. They only change the html string. width and height in data.embed report the size that Vimeo built.

How many credits does an embed lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.