Installation
- npx (Recommended)
- npm Global Install
- From Source
Zero install required. Just prefix any command with
npx:Quickstart
Setup
You need API credentials from both Vimeo and bunny.net.1. Get your Vimeo Access Token
- Go to the Vimeo Developer Portal and log in.
- Click Create an app (or select an existing one).
- Enter any app name — avoid including “Vimeo” in the name as it will be rejected.
- Add a brief description (e.g.
Video migration tool). - Select No for “Will people besides you be able to access your app?”
- Accept the terms and click Create App.
- On your app’s page, go to the Authentication section in the left sidebar.
- Under Generate an access token, select Authenticated (you) and check these scopes:
| Scope | Required |
|---|---|
| Public | ✅ Required (pre-selected) |
| Private | ✅ Required |
| Video Files | ✅ Required |
- Click Generate your personal access token will appear under Personal Access Tokens.
- Copy the token immediately; you won’t be able to see it again.
2. Get your bunny.net Stream Credentials
- Log in to bunny.net.
- Open your Stream library → API section.
- Copy the Library ID and Library API Key.
This uses the library-specific API key, not the account-level key.
3. Configure the CLI
.env file):
Usage
List your Vimeo content
Migrate videos
Check migration status
How It Works
Transfer
For each video, gets a download URL from Vimeo and sends it to bunny.net’s fetch endpoint. bunny.net downloads directly from Vimeo.
What Gets Migrated
| Vimeo | bunny.net | Notes |
|---|---|---|
name | title | Direct mapping |
description | metaTags[description] | Stored as meta tag |
tags | metaTags[keywords] | Comma-separated |
Folder | Collection | Folder → Collection |
Troubleshooting
"No download link available"
"No download link available"
Your Vimeo plan must be Standard or above to access download links.
"URL expired"
"URL expired"
Vimeo download URLs expire after 24 hours. The tool fetches fresh URLs, but very long pauses may require restarting the migration.
"Rate limited"
"Rate limited"
Handled automatically with exponential backoff. No action needed.
Your Responsibilities
By using this tool, you acknowledge and agree that:- You are migrating your own content. You must not use this tool to access, download, or transfer content you do not own or have permission to use, or to circumvent Vimeo’s terms or technical restrictions.
- You are responsible for compliance with Vimeo’s terms. You are using your own Vimeo credentials and acting on your own behalf. To the fullest extent permitted by law, bunny.net shall not be liable for any indirect or consequential damages, loss of data, loss of business, or any actions taken by Vimeo or other third parties as a result of your use of this tool.
- You are solely responsible for how you use this tool and for ensuring that your use does not violate any third-party terms or laws.