Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Vimeo connector

OAuth 2.0Media

Connect to Vimeo API v3.4. Upload and manage videos, organize content into showcases and folders, manage channels, handle comments, likes, and webhooks.

Vimeo connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. 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>
  3. 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.

    1. 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
        Vimeo Create a new app form filled with Scalekit-Auth details
      • Click Create App.

    2. 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.

      Vimeo app settings page showing the Client Identifier
    3. Create a connection in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection. Search for Vimeo and click Create.

        Searching for Vimeo in Scalekit Create Connection
      • Copy the Redirect URI from the connection configuration panel. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Configure Vimeo Connection panel showing Redirect URI, Client ID, Client Secret, and Scopes fields
    4. 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.

        Vimeo app settings with callback URL and client secret configured
      • Click Update to save.

    5. 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.

  4. 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.actions
    const connector = 'vimeo'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { 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 call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'vimeo_categories_list',
    toolInput: {},
    })
    console.log(result)

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

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.

NameTypeRequiredDescription
directionstringoptionalSort direction
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of categories per page
sortstringoptionalSort order for categories
vimeo_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.

NameTypeRequiredDescription
channel_idstringrequiredVimeo channel ID or slug
directionstringoptionalSort direction
filterstringoptionalFilter videos by type
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of videos per page
querystringoptionalSearch query to filter channel videos
sortstringoptionalSort order for videos
vimeo_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.

NameTypeRequiredDescription
directionstringoptionalSort direction
filterstringoptionalFilter channels by type
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of channels per page
querystringoptionalSearch query to filter channels by name
sortstringoptionalSort order for channels
vimeo_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.

NameTypeRequiredDescription
namestringrequiredName of the new folder
parent_folder_uristringoptionalURI of the parent folder to nest this folder inside
vimeo_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.

NameTypeRequiredDescription
folder_idstringrequiredFolder (project) ID to add the video to
video_idstringrequiredVideo ID to add to the folder
vimeo_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.

NameTypeRequiredDescription
folder_idstringrequiredFolder (project) ID to list videos from
directionstringoptionalSort direction
filterstringoptionalFilter videos by type
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of videos per page
querystringoptionalSearch query to filter videos by name
sortstringoptionalSort order for videos
vimeo_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.

NameTypeRequiredDescription
directionstringoptionalSort direction
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of folders per page
querystringoptionalSearch query to filter folders by name
sortstringoptionalSort order for folders
vimeo_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.

NameTypeRequiredDescription
directionstringoptionalSort direction
filterstringoptionalFilter following list by type
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of users per page
querystringoptionalSearch query to filter following list by name
sortstringoptionalSort order
vimeo_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.

NameTypeRequiredDescription
directionstringoptionalSort direction
filterstringoptionalFilter liked videos by type
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of videos per page
sortstringoptionalSort order for liked videos
vimeo_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.

NameTypeRequiredDescription
containing_uristringoptionalFilter videos that contain a specific URI
directionstringoptionalSort direction
filterstringoptionalFilter videos by type
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of videos per page
querystringoptionalSearch query to filter videos by title or description
sortstringoptionalSort order for video results
vimeo_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.

NameTypeRequiredDescription
namestringrequiredName/title of the showcase
brand_colorstringoptionalHex color code for showcase branding
descriptionstringoptionalDescription of the showcase
hide_navbooleanoptionalWhether to hide Vimeo navigation in the showcase
hide_upcomingbooleanoptionalWhether to hide upcoming live events in the showcase
passwordstringoptionalPassword for the showcase when privacy is set to 'password'
privacystringoptionalPrivacy setting for the showcase
review_modebooleanoptionalEnable review mode for the showcase
sortstringoptionalDefault sort for videos in the showcase
vimeo_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.

NameTypeRequiredDescription
album_idstringrequiredShowcase (album) ID to add the video to
video_idstringrequiredVideo ID to add to the showcase
vimeo_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.

NameTypeRequiredDescription
album_idstringrequiredShowcase (album) ID
directionstringoptionalSort direction
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of videos per page
sortstringoptionalSort order for videos
vimeo_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.

NameTypeRequiredDescription
directionstringoptionalSort direction
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of showcases per page
querystringoptionalSearch query to filter showcases by name
sortstringoptionalSort order for showcases
vimeo_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.

NameTypeRequiredDescription
follow_user_idstringrequiredVimeo user ID to follow
vimeo_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.

NameTypeRequiredDescription
user_idstringrequiredVimeo user ID or username
vimeo_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.

NameTypeRequiredDescription
user_idstringrequiredVimeo user ID or username
directionstringoptionalSort direction
filterstringoptionalFilter results by video type
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of videos per page
querystringoptionalSearch query to filter videos
sortstringoptionalSort order for video results
vimeo_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.

NameTypeRequiredDescription
textstringrequiredComment text to post
video_idstringrequiredVimeo video ID to comment on
vimeo_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.

NameTypeRequiredDescription
video_idstringrequiredVimeo video ID to list comments from
directionstringoptionalSort direction
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of comments per page
vimeo_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.

NameTypeRequiredDescription
video_idstringrequiredVimeo video ID to delete
vimeo_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.

NameTypeRequiredDescription
video_idstringrequiredVimeo video ID to edit
content_ratingstringoptionalContent rating of the video
descriptionstringoptionalNew description for the video
licensestringoptionalCreative Commons license to apply
namestringoptionalNew title for the video
passwordstringoptionalPassword for the video when privacy view is set to 'password'
privacy_addbooleanoptionalWhether users can add the video to their showcases or channels
privacy_commentsstringoptionalWho can comment on the video
privacy_downloadbooleanoptionalWhether users can download the video
privacy_embedstringoptionalWho can embed the video
privacy_viewstringoptionalWho can view the video
vimeo_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.

NameTypeRequiredDescription
video_idstringrequiredVimeo video ID
vimeo_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.

NameTypeRequiredDescription
video_idstringrequiredVimeo video ID to like
vimeo_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.

NameTypeRequiredDescription
video_idstringrequiredVimeo video ID to list tags from
vimeo_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.

NameTypeRequiredDescription
video_idstringrequiredVimeo video ID to add to Watch Later
vimeo_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.

NameTypeRequiredDescription
directionstringoptionalSort direction
filterstringoptionalFilter by video type
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of videos per page
sortstringoptionalSort order for watch later videos
vimeo_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.

NameTypeRequiredDescription
event_typesarrayrequiredList of event types that will trigger this webhook
urlstringrequiredHTTPS URL that Vimeo will send webhook POST requests to
vimeo_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.

NameTypeRequiredDescription
webhook_idstringrequiredWebhook ID to delete
vimeo_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.

NameTypeRequiredDescription
pageintegeroptionalPage number of results
per_pageintegeroptionalNumber of webhooks per page