Vimeo hub

Vimeo User Videos API

A profile's uploads, newest first, as full video records you can list, filter or embed.

GET /v1/vimeo/users/{user}/videos

1 credit Failed requests are free

About this endpoint

GET /v1/vimeo/users/{user}/videos returns data.videos, the user's uploads newest first. Each item is the video record from the video route: id, url, title, description, dates, duration, dimensions, orientation, tags, categories, privacy, embed permission, thumbnails, owner and stats. Some accounts hide play counts, so stats.plays is null on those rows and a sort=plays order has no visible effect. data.user repeats the requested user and data.page carries the page block.

The list is deep: page accepts 1 to 20,000 and limit accepts 1 to 100 (default 25). Continue with page.nextCursor while page.hasMore is true. A user that does not exist reads lookupStatus: not_found; a user with no uploads reads found with an empty array.

Vimeo User Videos API FAQ

What is in each row?

A full video record: id, url, title, description, uploadedAt, modifiedAt, releasedAt, durationSeconds, width, height, orientation, tags, categories, privacy, embedPermission, thumbnails, owner and stats.

How many pages are available?

Deep paging: page accepts 1 to 20,000 and limit accepts 1 to 100 (default 25). Continue with page.nextCursor while page.hasMore is true.

How do I tell a missing user from an empty profile?

lookupStatus is not_found when the user does not exist, is private or was removed. It is found with an empty videos array when the user exists but has no public uploads.

How many credits does a page 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.