Vimeo connector
OAuth 2.0MediaConnect to Vimeo API v3.4. Upload and manage videos, organize content into showcases and folders, manage channels, handle comments, likes, and webhooks.
Vimeo connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Set up the connector
Section titled “Set up the connector”Register your Vimeo credentials with Scalekit so it handles the token lifecycle. You do this once per environment.
Dashboard setup steps
Register your Vimeo app credentials with Scalekit so it can manage the OAuth 2.0 authentication flow and token lifecycle on your behalf. You’ll need a Client Identifier and Client Secret from the Vimeo Developer Portal.
-
Create a Vimeo app
-
Go to the Vimeo Developer Portal and click Create an app in the top-right corner.
-
Fill in the required fields:
- App name — enter a name for your app (e.g.,
Scalekit-Auth) - Brief description — describe what the app does
- Select Yes under “Will people besides you be able to access your app?” to allow other Vimeo accounts to authenticate
- Check the box to agree to the Vimeo API License Agreement and Terms of Service

- App name — enter a name for your app (e.g.,
-
Click Create App.
-
-
Copy your Client Identifier
After creating the app, you are taken to the app’s settings page. Copy the Client identifier — you’ll need it in a later step.

-
Create a connection in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Search for Vimeo and click Create.

-
Copy the Redirect URI from the connection configuration panel. It looks like
https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.
-
-
Configure the callback URL in Vimeo
-
Back in the Vimeo Developer Portal, open your app and click Edit settings.
-
Paste the Scalekit Redirect URI into the App URL field and the Your callback URLs field.
-
Click Add secret under Client secrets to generate a new client secret. Copy the secret value.

-
Click Update to save.
-
-
Add credentials in Scalekit
-
In Scalekit dashboard, go to AgentKit > Connections and open the Vimeo connection you created.
-
Enter your credentials:
- Client ID — the Client Identifier from your Vimeo app
- Client Secret — the secret you generated in step 4
- Scopes — select the scopes your app needs (e.g.,
create,delete,edit,interact,private,public)
-
Click Save.
-
-
-
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'vimeo'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Vimeo:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'vimeo_categories_list',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "vimeo"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Vimeo:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="vimeo_categories_list",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- List watchlater, showcase videos, following — Retrieve all videos in the authenticated user’s Vimeo Watch Later queue
- Add showcase video, folder video, watchlater — Add a video to a Vimeo showcase
- Follow user — Follow a Vimeo user on behalf of the authenticated user
- Create folder, showcase, webhook — Create a new folder (project) in the authenticated user’s Vimeo account for organizing private video content
- Delete video, webhook — Permanently delete a Vimeo video
- Get video, me, user — Retrieve detailed information about a specific Vimeo video including metadata, privacy settings, stats, and embed details
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
vimeo_categories_list#Retrieve all top-level Vimeo content categories (e.g., Animation, Documentary, Music). Requires public scope.4 params
Retrieve all top-level Vimeo content categories (e.g., Animation, Documentary, Music). Requires public scope.
directionstringoptionalSort directionpageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of categories per pagesortstringoptionalSort order for categoriesvimeo_channel_videos_list#Retrieve all videos in a specific Vimeo channel. Requires public scope.7 params
Retrieve all videos in a specific Vimeo channel. Requires public scope.
channel_idstringrequiredVimeo channel ID or slugdirectionstringoptionalSort directionfilterstringoptionalFilter videos by typepageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of videos per pagequerystringoptionalSearch query to filter channel videossortstringoptionalSort order for videosvimeo_channels_list#Retrieve a list of Vimeo channels. Can list all public channels or channels the authenticated user follows/manages. Requires public scope.6 params
Retrieve a list of Vimeo channels. Can list all public channels or channels the authenticated user follows/manages. Requires public scope.
directionstringoptionalSort directionfilterstringoptionalFilter channels by typepageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of channels per pagequerystringoptionalSearch query to filter channels by namesortstringoptionalSort order for channelsvimeo_folder_create#Create a new folder (project) in the authenticated user's Vimeo account for organizing private video content. Requires create scope.2 params
Create a new folder (project) in the authenticated user's Vimeo account for organizing private video content. Requires create scope.
namestringrequiredName of the new folderparent_folder_uristringoptionalURI of the parent folder to nest this folder insidevimeo_folder_video_add#Move or add a video into a Vimeo folder (project). Requires edit scope.2 params
Move or add a video into a Vimeo folder (project). Requires edit scope.
folder_idstringrequiredFolder (project) ID to add the video tovideo_idstringrequiredVideo ID to add to the foldervimeo_folder_videos_list#Retrieve all videos inside a specific Vimeo folder (project). Requires private scope.7 params
Retrieve all videos inside a specific Vimeo folder (project). Requires private scope.
folder_idstringrequiredFolder (project) ID to list videos fromdirectionstringoptionalSort directionfilterstringoptionalFilter videos by typepageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of videos per pagequerystringoptionalSearch query to filter videos by namesortstringoptionalSort order for videosvimeo_folders_list#Retrieve all folders (projects) owned by the authenticated Vimeo user for organizing private video libraries. Requires private scope.5 params
Retrieve all folders (projects) owned by the authenticated Vimeo user for organizing private video libraries. Requires private scope.
directionstringoptionalSort directionpageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of folders per pagequerystringoptionalSearch query to filter folders by namesortstringoptionalSort order for foldersvimeo_following_list#Retrieve a list of Vimeo users that the authenticated user is following. Requires private scope.6 params
Retrieve a list of Vimeo users that the authenticated user is following. Requires private scope.
directionstringoptionalSort directionfilterstringoptionalFilter following list by typepageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of users per pagequerystringoptionalSearch query to filter following list by namesortstringoptionalSort ordervimeo_liked_videos_list#Retrieve all videos liked by the authenticated Vimeo user. Requires private scope.5 params
Retrieve all videos liked by the authenticated Vimeo user. Requires private scope.
directionstringoptionalSort directionfilterstringoptionalFilter liked videos by typepageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of videos per pagesortstringoptionalSort order for liked videosvimeo_me_get#Retrieve the authenticated Vimeo user's profile including account type, bio, location, stats, and links. Requires a valid Vimeo OAuth2 connection.0 params
Retrieve the authenticated Vimeo user's profile including account type, bio, location, stats, and links. Requires a valid Vimeo OAuth2 connection.
vimeo_my_videos_list#Retrieve all videos uploaded by the authenticated Vimeo user. Supports filtering, sorting, and pagination. Requires private scope.7 params
Retrieve all videos uploaded by the authenticated Vimeo user. Supports filtering, sorting, and pagination. Requires private scope.
containing_uristringoptionalFilter videos that contain a specific URIdirectionstringoptionalSort directionfilterstringoptionalFilter videos by typepageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of videos per pagequerystringoptionalSearch query to filter videos by title or descriptionsortstringoptionalSort order for video resultsvimeo_showcase_create#Create a new showcase (album) on Vimeo for organizing videos. Supports privacy, password protection, branding, and embed settings. Requires create scope.9 params
Create a new showcase (album) on Vimeo for organizing videos. Supports privacy, password protection, branding, and embed settings. Requires create scope.
namestringrequiredName/title of the showcasebrand_colorstringoptionalHex color code for showcase brandingdescriptionstringoptionalDescription of the showcasehide_navbooleanoptionalWhether to hide Vimeo navigation in the showcasehide_upcomingbooleanoptionalWhether to hide upcoming live events in the showcasepasswordstringoptionalPassword for the showcase when privacy is set to 'password'privacystringoptionalPrivacy setting for the showcasereview_modebooleanoptionalEnable review mode for the showcasesortstringoptionalDefault sort for videos in the showcasevimeo_showcase_video_add#Add a video to a Vimeo showcase. Requires edit scope and ownership of both the showcase and the video.2 params
Add a video to a Vimeo showcase. Requires edit scope and ownership of both the showcase and the video.
album_idstringrequiredShowcase (album) ID to add the video tovideo_idstringrequiredVideo ID to add to the showcasevimeo_showcase_videos_list#Retrieve all videos in a specific Vimeo showcase. Requires private scope.5 params
Retrieve all videos in a specific Vimeo showcase. Requires private scope.
album_idstringrequiredShowcase (album) IDdirectionstringoptionalSort directionpageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of videos per pagesortstringoptionalSort order for videosvimeo_showcases_list#Retrieve all showcases (formerly albums) owned by the authenticated Vimeo user. Requires private scope.5 params
Retrieve all showcases (formerly albums) owned by the authenticated Vimeo user. Requires private scope.
directionstringoptionalSort directionpageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of showcases per pagequerystringoptionalSearch query to filter showcases by namesortstringoptionalSort order for showcasesvimeo_user_follow#Follow a Vimeo user on behalf of the authenticated user. Requires interact scope.1 param
Follow a Vimeo user on behalf of the authenticated user. Requires interact scope.
follow_user_idstringrequiredVimeo user ID to followvimeo_user_get#Retrieve public profile information for any Vimeo user by their user ID or username. Requires public scope.1 param
Retrieve public profile information for any Vimeo user by their user ID or username. Requires public scope.
user_idstringrequiredVimeo user ID or usernamevimeo_user_videos_list#Retrieve all public videos uploaded by a specific Vimeo user. Supports filtering and pagination. Requires public scope.7 params
Retrieve all public videos uploaded by a specific Vimeo user. Supports filtering and pagination. Requires public scope.
user_idstringrequiredVimeo user ID or usernamedirectionstringoptionalSort directionfilterstringoptionalFilter results by video typepageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of videos per pagequerystringoptionalSearch query to filter videossortstringoptionalSort order for video resultsvimeo_video_comment_add#Post a comment on a Vimeo video on behalf of the authenticated user. Requires interact scope.2 params
Post a comment on a Vimeo video on behalf of the authenticated user. Requires interact scope.
textstringrequiredComment text to postvideo_idstringrequiredVimeo video ID to comment onvimeo_video_comments_list#Retrieve all comments posted on a specific Vimeo video. Requires public scope.4 params
Retrieve all comments posted on a specific Vimeo video. Requires public scope.
video_idstringrequiredVimeo video ID to list comments fromdirectionstringoptionalSort directionpageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of comments per pagevimeo_video_delete#Permanently delete a Vimeo video. This action is irreversible. Requires delete scope and ownership of the video.1 param
Permanently delete a Vimeo video. This action is irreversible. Requires delete scope and ownership of the video.
video_idstringrequiredVimeo video ID to deletevimeo_video_edit#Update the metadata of an existing Vimeo video including title, description, privacy settings, tags, and content rating. Requires edit scope.11 params
Update the metadata of an existing Vimeo video including title, description, privacy settings, tags, and content rating. Requires edit scope.
video_idstringrequiredVimeo video ID to editcontent_ratingstringoptionalContent rating of the videodescriptionstringoptionalNew description for the videolicensestringoptionalCreative Commons license to applynamestringoptionalNew title for the videopasswordstringoptionalPassword for the video when privacy view is set to 'password'privacy_addbooleanoptionalWhether users can add the video to their showcases or channelsprivacy_commentsstringoptionalWho can comment on the videoprivacy_downloadbooleanoptionalWhether users can download the videoprivacy_embedstringoptionalWho can embed the videoprivacy_viewstringoptionalWho can view the videovimeo_video_get#Retrieve detailed information about a specific Vimeo video including metadata, privacy settings, stats, and embed details. Requires a valid Vimeo OAuth2 connection.1 param
Retrieve detailed information about a specific Vimeo video including metadata, privacy settings, stats, and embed details. Requires a valid Vimeo OAuth2 connection.
video_idstringrequiredVimeo video IDvimeo_video_like#Like a Vimeo video on behalf of the authenticated user. Use PUT /me/likes/{video_id} to like. Requires interact scope.1 param
Like a Vimeo video on behalf of the authenticated user. Use PUT /me/likes/{video_id} to like. Requires interact scope.
video_idstringrequiredVimeo video ID to likevimeo_video_tags_list#Retrieve all tags applied to a specific Vimeo video. Requires public scope.1 param
Retrieve all tags applied to a specific Vimeo video. Requires public scope.
video_idstringrequiredVimeo video ID to list tags fromvimeo_videos_search#Search for public videos on Vimeo using keywords and filters. Returns paginated video results with metadata. Requires a valid Vimeo OAuth2 connection with public scope.6 params
Search for public videos on Vimeo using keywords and filters. Returns paginated video results with metadata. Requires a valid Vimeo OAuth2 connection with public scope.
querystringrequiredSearch query keywordsdirectionstringoptionalSort direction for resultsfilterstringoptionalFilter results by video typepageintegeroptionalPage number of results to returnper_pageintegeroptionalNumber of results to return per pagesortstringoptionalSort order for search resultsvimeo_watchlater_add#Add a video to the authenticated user's Vimeo Watch Later queue. Requires interact scope.1 param
Add a video to the authenticated user's Vimeo Watch Later queue. Requires interact scope.
video_idstringrequiredVimeo video ID to add to Watch Latervimeo_watchlater_list#Retrieve all videos in the authenticated user's Vimeo Watch Later queue. Requires private scope.5 params
Retrieve all videos in the authenticated user's Vimeo Watch Later queue. Requires private scope.
directionstringoptionalSort directionfilterstringoptionalFilter by video typepageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of videos per pagesortstringoptionalSort order for watch later videosvimeo_webhook_create#Register a new webhook endpoint to receive real-time Vimeo event notifications. Supports events for video uploads, transcoding, privacy changes, and comments. Requires private scope.2 params
Register a new webhook endpoint to receive real-time Vimeo event notifications. Supports events for video uploads, transcoding, privacy changes, and comments. Requires private scope.
event_typesarrayrequiredList of event types that will trigger this webhookurlstringrequiredHTTPS URL that Vimeo will send webhook POST requests tovimeo_webhook_delete#Delete a registered Vimeo webhook endpoint so it no longer receives event notifications. Requires private scope.1 param
Delete a registered Vimeo webhook endpoint so it no longer receives event notifications. Requires private scope.
webhook_idstringrequiredWebhook ID to deletevimeo_webhooks_list#Retrieve all webhooks registered for the authenticated Vimeo application. Requires private scope.2 params
Retrieve all webhooks registered for the authenticated Vimeo application. Requires private scope.
pageintegeroptionalPage number of resultsper_pageintegeroptionalNumber of webhooks per page