Videos

Add a comment to a video

POST https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/comments Playground
POST https://api.vimeo.com/videos/{video_id}/comments Playground
This method requires a token with the "interact" scope.
Name Type Required Description
text string Yes

The text of the comment.

HTTP Status Code Explanation
201 Created

The comment was added.

401 Unauthorized

The user credentials are invalid.

Error Code: 8003

403 Forbidden

Comments are disabled for this video.

Error Code: 3413

403 Forbidden

The authenticated user is unverified.

Error Code: 3411

403 Forbidden

The authenticated user cannot comment.

Error Code: 3412

400 Bad Request

The comment text is missing.

Error Code: 2207

403 Forbidden

The comment was flagged as spam.

Error Code: 3301

Add a credit to a video

POST https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/credits Playground
POST https://api.vimeo.com/videos/{video_id}/credits Playground
Name Type Required Description
email string Yes

The email address of the credited person.

name string Yes

The name of the credited person.

role string Yes

The role of the credited person.

user_uri uri Yes

The URI of the Vimeo user who should be given credit in this video.

HTTP Status Code Explanation
201 Created

The credit was added.

400 Bad Request

The credit was added.

400 Bad Request

A parameter is invalid.

400 Bad Request

The authenticated user has an unverified email address.

400 Bad Request

There is a user block between the video owner and the person receiving credit.

403 Forbidden

The authenticated user does not own the video.

Add a reply to a comment on a video

POST https://api.vimeo.com/videos/{video_id}/comments/{comment_id}/replies Playground
This method requires a token with the "interact" scope.
Name Type Required Description
text string Yes

The reply to the comment.

HTTP Status Code Explanation
201 Created

The reply was added.

403 Forbidden

Comments are disabled on this video.

Error Code: 3413

403 Forbidden

The authenticated user is unverified.

Error Code: 3411

403 Forbidden

The authenticated user cannot comment.

Error Code: 3412

400 Bad Request

The comment text is missing.

Error Code: 2207

403 Forbidden

The comment was flagged as spam.

Error Code: 3301

Add a tag to a video

PUT https://api.vimeo.com/videos/{video_id}/tags/{word} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The tag was added.

400 Bad Request

The tag is invalid.

400 Bad Request

An unsupported parameter was supplied.

403 Forbidden

The number of tags on the video would exceed 20.

Add a text track to a video

For additional information, see our text track upload guide.

POST https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/texttracks Playground
POST https://api.vimeo.com/videos/{video_id}/texttracks Playground
This method requires a token with the "upload" scope.
Name Type Required Description
active boolean No

Active text tracks appear in the player and are visible to other users. Only one text track per language can be active.

language string Yes

The language of the text track. For a complete list of valid languages, use the /languages?filter=texttracks endpoint.

name string Yes

The name of the text track.

type enum
  • captions
  • chapters
  • descriptions
  • metadata
  • subtitles
Yes

The type of the text track.

HTTP Status Code Explanation
201 Created

The text track was added.

403 Forbidden

The authenticated user cannot edit the text track.

403 Forbidden

The request contains errors.

Error Code: 2204

Add version for video

POST https://api.vimeo.com/videos/{video_id}/versions Playground
Name Type Required Description
file_name string Yes

The name of the version

upload.approach enum
  • post
  • pull
  • streaming
  • tus
Yes

Upload approach

upload.link string No

If your upload approach is pull, Vimeo will download the video hosted at this public URL. This URL must be valid for at least 24 hours.

upload.size string No

Upload size

HTTP Status Code Explanation
201 Created

400 Bad Request

If the request input contains invalid upload data.

Error Code: 2204

400 Bad Request

If the request input contains invalid versions data.

Error Code: 2204

404 Not Found

If an upload associated with the version isn't found.

Error Code: 5011

404 Not Found

If a video associated with the upload isn't found.

Error Code: 5012

404 Not Found

If the version of the API used is less than 3.4 and isn't of approach tus, the endpoint is not available.

Error Code: 5013

403 Forbidden

If a user isn't permitted to edit the video

Error Code: 3427

Assign multiple tags to a video

PUT https://api.vimeo.com/videos/{video_id}/tags Playground
This method requires a token with the "edit" scope.
Name Type Required Description
name string Yes

The name of the tag to apply. See our documentation on batch requests for more information.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The tags that were added.

400 Bad Request

The request body was not supplied.

400 Bad Request

A parameter is invalid.

400 Bad Request

The request body is not a JSON-encoded list of tags.

403 Forbidden

The authenticated user cannot add tags to a video.

403 Forbidden

The number of tags would exceed 20.

Check if a tag has been added to a video

GET https://api.vimeo.com/videos/{video_id}/tags/{word} Playground
HTTP Status Code Explanation
204 No Content

The tag has been added.

400 Bad Request

A parameter is invalid.

400 Bad Request

The tag is invalid.

404 Not Found

If tag was not found in the video.

Check if a user owns a video

GET https://api.vimeo.com/me/videos/{video_id} Playground
GET https://api.vimeo.com/users/{user_id}/videos/{video_id} Playground
HTTP Status Code Explanation
200 OK

The user owns the video.

404 Not Found

The authenticated user does not own the video.

Complete a user's streaming upload

DELETE https://api.vimeo.com/users/{user_id}/uploads/{upload} Playground
This method requires a token with the "upload" scope.
Name Type Required Description
signature string Yes

The crypto signature of the completed upload.

video_file_id integer Yes

The ID of the uploaded file.

HTTP Status Code Explanation
201 Created

The streaming upload is complete.

404 Not Found

The video file does not exist.

Error Code: 5006

404 Not Found

The signature does not exist.

Error Code: 5007

404 Not Found

The signature is invalid.

Error Code: 8400

400 Bad Request

The format of the video file is invalid.

Error Code: 2502

500 Internal Server Error

The upload server returns an HTTP status code other than 200.

Error Code: 4011

Create a new video thumbnail

POST https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/pictures Playground
POST https://api.vimeo.com/videos/{video_id}/pictures Playground
This method requires a token with the "upload" scope.
Name Type Required Description
active boolean No

Whether the image created by the time field should be the default thumbnail for the video.

time float No

Creates an image of the video from the given time offset.

HTTP Status Code Explanation
201 Created

The thumbnail was created.

Delete a comment from a video

DELETE https://api.vimeo.com/videos/{video_id}/comments/{comment_id} Playground
This method requires a token with the "delete" scope.
HTTP Status Code Explanation
204 No Content

The comment was deleted.

404 Not Found

If video was not found.

404 Not Found

If comment was not found.

403 Forbidden

The authenticated user did not write this comment and cannot delete it.

Error Code: 3415

404 Not Found

The deleted comment still exists.

Error Code: 5000

Delete a credit on a video

DELETE https://api.vimeo.com/videos/{video_id}/credits/{credit_id} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The credit was deleted.

400 Bad Request

The authenticated user is neither the creator of the credit nor the credited user.

Delete a tag from a video

DELETE https://api.vimeo.com/videos/{video_id}/tags/{word} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The tag was deleted.

400 Bad Request

A parameter is invalid.

400 Bad Request

The tag is invalid.

Delete a video

DELETE https://api.vimeo.com/videos/{video_id} Playground
This method requires a token with the "delete" scope.
HTTP Status Code Explanation
204 No Content

The video was deleted.

403 Forbidden

The authenticated user does not own the video and cannot delete it.

Delete a video text track

DELETE https://api.vimeo.com/videos/{video_id}/texttracks/{texttrack_id} Playground
This method requires a token with the "delete" scope.
HTTP Status Code Explanation
200 OK

The text track was deleted.

404 Not Found

If text track was not found.

404 Not Found

If video was not found.

404 Not Found

The authenticated user cannot delete the text track.

404 Not Found

The text track that you specified doesn't exist.

Error Code: 5014

404 Not Found

The text track that you specified belongs to a different video.

Error Code: 5015

403 Forbidden

You don't have permission to access this text track.

Error Code: 3430

403 Forbidden

This text track is disabled.

Error Code: 3431

Delete a video thumbnail

DELETE https://api.vimeo.com/videos/{video_id}/pictures/{picture_id} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The thumbnail was deleted.

Disallow a user from viewing a private video

DELETE https://api.vimeo.com/videos/{video_id}/privacy/users/{user_id} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The user was disallowed from viewing the private video.

403 Forbidden

The video is not set to a user-defined access list.

404 Not Found

If user was not found.

Disallow embedding of a video on a domain

DELETE https://api.vimeo.com/videos/{video_id}/privacy/domains/{domain} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The video was disallowed from being embedded on the domain.

403 Forbidden

The video is not set to a user-defined access list.

404 Not Found

If domain was not found.

Edit a comment on a video

PATCH https://api.vimeo.com/videos/{video_id}/comments/{comment_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
text string Yes

The next text of the comment.

HTTP Status Code Explanation
200 OK

The comment was edited.

403 Forbidden

The authenticated user is unverified.

Error Code: 3411

403 Forbidden

The authenticated user cannot post comments.

Error Code: 3412

403 Forbidden

The authenticated user did not write the comment and cannot edit it.

Error Code: 3414

400 Bad Request

The comment text is missing.

Error Code: 2207

403 Forbidden

The supplied comment was flagged as spam.

Error Code: 3301

Edit a credit on a video

PATCH https://api.vimeo.com/videos/{video_id}/credits/{credit_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
name string No

The name of the person being credited.

role string No

The role of the person being credited.

HTTP Status Code Explanation
200 OK

The credit was edited.

400 Bad Request

A parameter is invalid.

404 Not Found

If credit was not found.

Edit a video

PATCH https://api.vimeo.com/videos/{video_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
content_rating array No

A list of values describing the content in this video. You can find the full list in the /contentratings endpoint.

description string No

The new description of the video.

embed.buttons.embed boolean No

Show or hide the Embed button.

embed.buttons.fullscreen boolean No

Show or hide the Fullscreen button.

embed.buttons.hd boolean No

Show or hide the HD button.

embed.buttons.like boolean No

Show or hide the Like button.

embed.buttons.scaling boolean No

Show or hide the Scaling button (shown only in Fullscreen mode).

embed.buttons.share boolean No

Show or hide the Share button.

embed.buttons.watchlater boolean No

Show or hide the Watch Later button.

embed.color string No

The main color of the embed player.

embed.logos.custom.active boolean No

Show or hide your custom logo.

embed.logos.custom.link string No

The URL that loads when the user clicks your custom logo.

embed.logos.custom.sticky boolean No

Whether always to show the custom logo or to hide it after time with the rest of the UI.

embed.logos.vimeo boolean No

Show or hide the Vimeo logo.

embed.playbar boolean No

Show or hide the playbar.

embed.title.name enum
  • hide
  • show
  • user
No

Show or hide the video title, or enable the user to determine whether the video title appears.

embed.title.owner enum
  • hide
  • show
  • user
No

Show or hide the owner information, or enable the user to determine whether the owner information appears.

embed.title.portrait enum
  • hide
  • show
  • user
No

Show or hide the owner portrait, or enable the user to determine whether the owner portrait appears.

embed.volume boolean No

Show or hide the volume selector.

license enum
  • by
  • by-nc
  • by-nc-nd
  • by-nc-sa
  • by-nd
  • by-sa
  • cc0
No

The Creative Commons license.

locale string No

The video's default language. For a full list of valid languages, use the /languages?filter=texttracks endpoint.

name string No

The new title for the video.

password string No

The password. When you set privacy.view to password, you must provide the password as an additional parameter.

privacy.add boolean No

Whether a user can add the video to an album, channel, or group.

privacy.comments enum
  • anybody
  • contacts
  • nobody
No

The privacy level required to comment on the video.

privacy.download boolean No

Whether a user can download the video. Not available to users with a Basic membership.

privacy.embed enum
  • private
  • public
  • whitelist
No

The video's new embed settings. The whitelist value enables you to define all valid embed domains. See our documentation for details on adding and removing domains.

privacy.view enum
  • anybody
  • contacts
  • disable
  • nobody
  • password
  • unlisted
  • users
No

The video's new privacy setting. When privacy is users, application/json is the only valid content type. Basic users cannot set privacy to unlisted.

ratings.mpaa.reason enum
  • at
  • bn
  • n
  • sl
  • ss
  • v
No

The reason for the video's MPAA rating.

ratings.tv.reason enum
  • d
  • fv
  • l
  • ss
  • v
No

The reason for the video's TV rating.

review_page.active boolean No

Enable or disable video review.

spatial.director_timeline array No

The 360 director timeline.

spatial.director_timeline.pitch float Yes

The timeline pitch. This value must be between -90 and 90.

spatial.director_timeline.roll float No

The timeline roll.

spatial.director_timeline.time_code float Yes

The 360 director timeline time code.

spatial.director_timeline.yaw float Yes

The timeline yaw. This value must be between 0 and 360.

spatial.field_of_view integer No

The 360 field of view: default 50, minimum 30, maximum 90.

spatial.projection enum
  • cubical
  • cylindrical
  • dome
  • equirectangular
  • pyramid
No

The 360 spatial projection.

spatial.stereo_format enum
  • left-right
  • mono
  • top-bottom
No

The 360 spatial stereo format.

HTTP Status Code Explanation
200 OK

The video was edited.

403 Forbidden

The authenticated user does not own the video.

403 Forbidden

The privacy field is disable and the authenticated user cannot set extra embed options.

403 Forbidden

The privacy field is contacts and the authenticated user cannot follow creators.

403 Forbidden

The authenticated user has an opted-out PRO account and privacy.view is users, password, nobody, or public.

400 Bad Request

A parameter is invalid.

400 Bad Request

The scheduled_start_time parameter is invalid.

Error Code: 2511

Edit a video text track

PATCH https://api.vimeo.com/videos/{video_id}/texttracks/{texttrack_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
active boolean No

Whether the text track is active, meaning that it appears in the player. Only one text track per language can be active.

language string No

The language of the text track. For a full list of valid languages, use the /languages?filter=texttracks endpoint.

name string No

The name of the text track.

type enum
  • captions
  • chapters
  • descriptions
  • metadata
  • subtitles
No

The text track type.

HTTP Status Code Explanation
200 OK

The text track was edited.

404 Not Found

If text track was not found.

404 Not Found

If video was not found.

403 Forbidden

The authenticated user cannot edit the text track.

403 Forbidden

There are errors in the request.

Error Code: 2204

403 Forbidden

You don't have permission to access this text track.

Error Code: 3430

403 Forbidden

This text track is disabled.

Error Code: 3431

404 Not Found

The text track that you specified doesn't exist.

Error Code: 5014

404 Not Found

The text track that you specified belongs to a different video.

Error Code: 5015

Edit a video thumbnail

PATCH https://api.vimeo.com/videos/{video_id}/pictures/{picture_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
active boolean No

Whether this thumbnail is the default.

HTTP Status Code Explanation
200 OK

The thumbnail was edited.

Get a comment on a video

Check if a video has a specific comment.

GET https://api.vimeo.com/videos/{video_id}/comments/{comment_id} Playground
HTTP Status Code Explanation
200 OK

The comment was returned.

404 Not Found

If comment was not found.

404 Not Found

If video was not found.

Get a credit on a video

GET https://api.vimeo.com/videos/{video_id}/credits/{credit_id} Playground
HTTP Status Code Explanation
200 OK

The credit was returned.

404 Not Found

If credit was not found.

404 Not Found

If video was not found.

Get a user's upload attempt

GET https://api.vimeo.com/users/{user_id}/uploads/{upload} Playground
This method requires a token with the "upload" scope.
HTTP Status Code Explanation
200 OK

The upload attempt was returned.

Get a video

GET https://api.vimeo.com/videos/{video_id} Playground
HTTP Status Code Explanation
200 OK

The video was returned.

404 Not Found

If video was not found.

Get a video text track

GET https://api.vimeo.com/videos/{video_id}/texttracks/{texttrack_id} Playground
HTTP Status Code Explanation
200 OK

The text track was returned.

404 Not Found

If text track was not found.

404 Not Found

If video was not found.

404 Not Found

The text track that you specified doesn't exist.

Error Code: 5014

404 Not Found

The text track that you specified belongs to a different video.

Error Code: 5015

403 Forbidden

You don't have permission to access this text track.

Error Code: 3430

403 Forbidden

This text track is disabled.

Error Code: 3431

Get a video thumbnail

GET https://api.vimeo.com/videos/{video_id}/pictures/{picture_id} Playground
HTTP Status Code Explanation
200 OK

The thumbnail was returned.

Get a video's related videos

GET https://api.vimeo.com/videos/{video_id}/videos Playground
Name Type Required Description
filter enum
  • related
No

The filter to apply to the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The related videos were returned.

400 Bad Request

The value of filter is not related.

Get a video's tags

GET https://api.vimeo.com/videos/{video_id}/tags Playground
HTTP Status Code Explanation
200 OK

The tags were returned.

Get all Creative Commons licenses

GET https://api.vimeo.com/creativecommons Playground
HTTP Status Code Explanation
200 OK

The Creative Commons licenses were returned.

Get all comments on a video

GET https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/comments Playground
GET https://api.vimeo.com/videos/{video_id}/comments Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The comments were returned.

Get all content ratings

GET https://api.vimeo.com/contentratings Playground
HTTP Status Code Explanation
200 OK

The content ratings were returned.

Get all domains on which a video can be embedded

GET https://api.vimeo.com/videos/{video_id}/privacy/domains Playground
Name Type Required Description
page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The domains were returned.

403 Forbidden

There are no domains on which the video can be embedded.

Get all languages

GET https://api.vimeo.com/languages Playground
Name Type Required Description
filter enum
  • texttracks
No

The filter to apply to the results.

HTTP Status Code Explanation
200 OK

The languages were returned.

Get all replies to a comment on a video

GET https://api.vimeo.com/videos/{video_id}/comments/{comment_id}/replies Playground
Name Type Required Description
page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The replies were returned.

404 Not Found

If video was not found.

404 Not Found

If comment was not found.

Get all the text tracks for a video

GET https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/texttracks Playground
GET https://api.vimeo.com/videos/{video_id}/texttracks Playground
HTTP Status Code Explanation
200 OK

The text tracks were returned.

404 Not Found

If video was not found.

Get all thumbnails of a video

GET https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/pictures Playground
GET https://api.vimeo.com/videos/{video_id}/pictures Playground
Name Type Required Description
page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The thumbnails were returned.

Get all users credited in a video

GET https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/credits Playground
GET https://api.vimeo.com/videos/{video_id}/credits Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

query string No

The search query.

sort enum
  • alphabetical
  • date
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The users were returned.

Get all users who can view a private video

GET https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/privacy/users Playground
GET https://api.vimeo.com/videos/{video_id}/privacy/users Playground
Name Type Required Description
page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The users were returned.

400 Bad Request

No users can view the private video.

Get all videos in which a user appears

GET https://api.vimeo.com/me/appearances Playground
GET https://api.vimeo.com/users/{user_id}/appearances Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

filter enum
  • embeddable
No

The filter to apply to the results.

filter_embeddable boolean No

Whether to filter by all embeddable videos or by all videos that are not embeddable. *Required only if filter is embeddable.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

query string No

The search query.

sort enum
  • alphabetical
  • comments
  • date
  • duration
  • likes
  • plays
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The videos were returned.

Get all videos tagged with a specific word

GET https://api.vimeo.com/tags/{word}/videos Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

sort enum
  • created_time
  • duration
  • name
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The videos were returned.

404 Not Found

If tag was not found.

Get all videos uploaded by a user

GET https://api.vimeo.com/me/videos Playground
GET https://api.vimeo.com/users/{user_id}/videos Playground
Name Type Required Description
containing_uri uri No

The page that contains the video URI.

direction enum
  • asc
  • desc
No

The sort direction of the results.

filter enum
  • app_only
  • embeddable
  • featured
  • playable
No

The filter to apply to the results.

filter_embeddable boolean No

Whether to filter by all embeddable videos or by all videos that are not embeddable. *Required only if filter is embeddable.

filter_playable boolean No

Whether to filter by all playable videos or by all videos that are not playable.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

query string No

The search query.

sort enum
  • alphabetical
  • comments
  • date
  • default
  • duration
  • last_user_action_event_date
  • likes
  • modified_time
  • plays
No

The technique for sorting the results.

weak_search boolean No

Whether to include private videos in the search. Please note that a separate search service provides this functionality. The service performs a partial text search on the video's name.

HTTP Status Code Explanation
304 Not Modified

This user has not created any videos since the given If-Modified-Since header.

200 OK

The videos were returned.

Permit a user to view a private video

PUT https://api.vimeo.com/videos/{video_id}/privacy/users/{user_id} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The user can already view this private video.

200 OK

The user can now view the private video.

403 Forbidden

The video does not have a user-defined access list.

Permit a video to be embedded on a domain

If domain privacy is enabled for this video, this method permits the video to be embedded on the specified domain.

PUT https://api.vimeo.com/videos/{video_id}/privacy/domains/{domain} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The video is now embeddable on the domain.

403 Forbidden

The video does not have a user-defined access list.

Permit multiple users to view a private video

The body of this request should follow our batch request format. Each object must contain a single URI field, and the value of this field must be the URI of the user who can view this video.

PUT https://api.vimeo.com/channels/{channel_id}/videos/{video_id}/privacy/users Playground
PUT https://api.vimeo.com/videos/{video_id}/privacy/users Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
200 OK

The users can now view the private video.

Search for videos

GET https://api.vimeo.com/videos Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

filter enum
  • CC
  • CC-BY
  • CC-BY-NC
  • CC-BY-NC-ND
  • CC-BY-NC-SA
  • CC-BY-ND
  • CC-BY-SA
  • CC0
  • categories
  • duration
  • in-progress
  • minimum_likes
  • trending
  • upload_date
No

The filter to apply to the results. CC and related filters target videos with the corresponding Creative Commons licenses. For more information, see our Creative Commons page.

links string No

A comma-separated list of video URLs to find.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

query string Yes

Search query.

sort enum
  • alphabetical
  • comments
  • date
  • duration
  • likes
  • plays
  • relevant
No

The technique for sorting the results.

uris string No

The comma-separated list of videos to find.

HTTP Status Code Explanation
200 OK

The search results were returned.

400 Bad Request

Either the uris or links parameter has filtering or sorting arguments.

Error Code: 2101

400 Bad Request

There is a problem with the batch request.

Error Code: 2204

503 Service Unavailable

Search is disabled.

503 Service Unavailable

There was an internal search error.

Error Code: 7300

Upload a video

Begin the video upload process. For more information, see our upload documentation.

POST https://api.vimeo.com/me/videos Playground
POST https://api.vimeo.com/users/{user_id}/videos Playground
Name Type Required Description
content_rating array No

A list of values describing the content in this video. Find the full list in the /contentratings endpoint.

description string No

The description of the video.

embed.buttons.embed boolean No

Show or hide the Embed button.

embed.buttons.fullscreen boolean No

Show or hide the Fullscreen button.

embed.buttons.hd boolean No

Show or hide the HD button.

embed.buttons.like boolean No

Show or hide the Like button.

embed.buttons.scaling boolean No

Show or hide the Scaling button (shown only in Fullscreen mode).

embed.buttons.share boolean No

Show or hide the Share button.

embed.buttons.watchlater boolean No

Show or hide the Watch Later button.

embed.color string No

The main color of the embed player.

embed.logos.custom.active boolean No

Show or hide your custom logo.

embed.logos.custom.link string No

The URL that loads when the user clicks your custom logo.

embed.logos.custom.sticky boolean No

Whether always to show the custom logo or to hide it after time with the rest of the UI.

embed.logos.vimeo boolean No

Show or hide the Vimeo logo.

embed.playbar boolean No

Show or hide the playbar.

embed.title.name enum
  • hide
  • show
  • user
No

Show or hide the video title, or enable the user to determine whether the video title appears.

embed.title.owner enum
  • hide
  • show
  • user
No

Show or hide the owner information, or enable the user to determine whether the owner information appears.

embed.title.portrait enum
  • hide
  • show
  • user
No

Show or hide the owner portrait, or enable the user to determine whether the owner portrait appears.

embed.volume boolean No

Show or hide the volume selector.

license enum
  • by
  • by-nc
  • by-nc-nd
  • by-nc-sa
  • by-nd
  • by-sa
  • cc0
No

The Creative Commons license.

locale string No

The video's default language. For a full list of valid languages, use the /languages?filter=texttracks endpoint.

name string No

The title of the video.

password string No

The password. When you set privacy.view to password, you must provide the password as an additional parameter.

privacy.add boolean No

Whether a user can add the video to an album, channel, or group.

privacy.comments enum
  • anybody
  • contacts
  • nobody
No

The privacy level required to comment on the video.

privacy.download boolean No

Whether a user can download the video. Not available to users with a Basic membership

privacy.embed enum
  • private
  • public
  • whitelist
No

The video's embed settings. The whitelist value enables you to define all valid embed domains. See our documentation for details on adding and removing domains.

privacy.view enum
  • anybody
  • contacts
  • disable
  • nobody
  • password
  • unlisted
  • users
No

The video's privacy setting. When privacy is users, application/json is the only valid content type. Basic users cannot set privacy to unlisted.

ratings.mpaa.reason enum
  • at
  • bn
  • n
  • sl
  • ss
  • v
No

The reason for the video's MPAA rating.

ratings.tv.reason enum
  • d
  • fv
  • l
  • ss
  • v
No

The reason for the video's TV rating.

review_page.active boolean No

Enable or disable video review.

spatial.director_timeline array No

The 360 director timeline.

spatial.director_timeline.pitch float Yes

The timeline pitch. This value must be between -90 and 90.

spatial.director_timeline.roll float No

The timeline roll.

spatial.director_timeline.time_code float Yes

The 360 director timeline time code.

spatial.director_timeline.yaw float Yes

The timeline yaw. This value must be between 0 and 360.

spatial.field_of_view integer No

The 360 field of view: default 50, minimum 30, maximum 90.

spatial.projection enum
  • cubical
  • cylindrical
  • dome
  • equirectangular
  • pyramid
No

The 360 spatial projection.

spatial.stereo_format enum
  • left-right
  • mono
  • top-bottom
No

The 360 spatial stereo format.

upload.approach enum
  • post
  • pull
  • streaming
  • tus
Yes

The upload approach.

upload.link string No

The public URL at which the video is hosted. The URL must be valid for at least 24 hours. Use this parameter when approach is pull.

upload.redirect_url string No

The app's redirect URL. Use this parameter when approach is post.

upload.size string No

The size in bytes of the video to upload.

HTTP Status Code Explanation
201 Created

The upload procedure has begun.

401 Unauthorized

No user is associated with the authentication token.

Error Code: 8002

403 Forbidden

The user's allotted quota has been reached.

Error Code: 4102

403 Forbidden

The user's maximum disk space has been reached.

Error Code: 4101

400 Bad Request

The body of the request is not formatted properly.

Error Code: 2205

400 Bad Request

The request contains invalid parameters.

Error Code: 2204

400 Bad Request

The request contains invalid body parameters.

Error Code: 2204

400 Bad Request

The upload type is invalid.

Error Code: 2230

400 Bad Request

The scheduled_start_time parameter is invalid.

Error Code: 2511

500 Internal Server Error

There is a problem initiating the upload.

Error Code: 4003

400 Bad Request

If a type payload parameter was supplied instead of upload.approach.

Error Code: 3116

Send Feedback