Open documentation ↗Overview
Build something great. Vimeo's API supports flexible, high-quality video integration with your custom apps.
Vimeo is a video API from vimeo.com. Requests are authenticated with OAuth. It is served over HTTPS. Its OpenAPI description documents 326 endpoints.
At a glance
- Authentication
- OAuth
- HTTPS
- Yes
- CORS
- Unknown
- Category
- Video
- Base URL
https://api.vimeo.com- Version
- 3.4
- Endpoints
- 326
- OpenAPI
- Specification ↗
- Spec updated
- 2019-03-17
Make a first request
Replace the placeholders; the documentation says exactly where credentials go.
curl -X GET "https://api.vimeo.com/" \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.vimeo.com/", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
},
});
const data = await response.json();
console.log(data);import requests
response = requests.request(
"GET",
"https://api.vimeo.com/",
headers={
"Accept": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
},
timeout=30,
)
print(response.json())Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | / | Get an API specification |
| GET | /categories | Get all categories |
| GET | /categories/{category} | Get a specific category |
| GET | /categories/{category}/channels | Get all the channels in a category |
| GET | /categories/{category}/groups | Get all the groups in a category |
| GET | /categories/{category}/videos | Get all the videos in a category |
| GET | /categories/{category}/videos/{video_id} | Check for a video in a category |
| GET | /channels | Get all channels |
| POST | /channels | Create a channel |
| GET | /channels/{channel_id} | Get a specific channel |
| PATCH | /channels/{channel_id} | Edit a channel |
| DELETE | /channels/{channel_id} | Delete a channel |
| GET | /channels/{channel_id}/categories | Get all the categories in a channel |
| PUT | /channels/{channel_id}/categories | Add a list of categories to a channel |
| PUT | /channels/{channel_id}/categories/{category} | Categorize a channel |
| DELETE | /channels/{channel_id}/categories/{category} | Remove a category from a channel |
| GET | /channels/{channel_id}/moderators | Get all the moderators in a channel |
| PUT | /channels/{channel_id}/moderators | Add a list of channel moderators |
| PATCH | /channels/{channel_id}/moderators | Replace the moderators of a channel |
| DELETE | /channels/{channel_id}/moderators | Remove a list of channel moderators |
| GET | /channels/{channel_id}/moderators/{user_id} | Get a specific channel moderator |
| PUT | /channels/{channel_id}/moderators/{user_id} | Add a specific channel moderator |
| DELETE | /channels/{channel_id}/moderators/{user_id} | Remove a specific channel moderator |
| GET | /channels/{channel_id}/privacy/users | Get all the users who can view a private channel |
| PUT | /channels/{channel_id}/privacy/users | Permit a list of users to view a private channel |
| PUT | /channels/{channel_id}/privacy/users/{user_id} | Permit a specific user to view a private channel |
| DELETE | /channels/{channel_id}/privacy/users/{user_id} | Restrict a user from viewing a private channel |
| GET | /channels/{channel_id}/tags | Get all the tags that have been added to a channel |
| PUT | /channels/{channel_id}/tags | Add a list of tags to a channel |
| GET | /channels/{channel_id}/tags/{word} | Check if a tag has been added to a channel |
| PUT | /channels/{channel_id}/tags/{word} | Add a specific tag to a channel |
| DELETE | /channels/{channel_id}/tags/{word} | Remove a tag from a channel |
| GET | /channels/{channel_id}/users | Get all the followers of a channel |
| GET | /channels/{channel_id}/videos | Get all the videos in a channel |
| PUT | /channels/{channel_id}/videos | Add a list of videos to a channel |
| DELETE | /channels/{channel_id}/videos | Remove a list of videos from a channel |
| GET | /channels/{channel_id}/videos/{video_id} | Get a specific video in a channel |
| PUT | /channels/{channel_id}/videos/{video_id} | Add a specific video to a channel |
| DELETE | /channels/{channel_id}/videos/{video_id} | Remove a specific video from a channel |
| GET | /channels/{channel_id}/videos/{video_id}/comments | Get all the comments on a video |
| POST | /channels/{channel_id}/videos/{video_id}/comments | Add a comment to a video |
| GET | /channels/{channel_id}/videos/{video_id}/credits | Get all the credited users in a video |
| POST | /channels/{channel_id}/videos/{video_id}/credits | Credit a user in a video |
| GET | /channels/{channel_id}/videos/{video_id}/likes | Get all the users who have liked a video |
| GET | /channels/{channel_id}/videos/{video_id}/pictures | Get all the thumbnails of a video |
| POST | /channels/{channel_id}/videos/{video_id}/pictures | Add a video thumbnail |
| GET | /channels/{channel_id}/videos/{video_id}/privacy/users | Get all the users who can view a user's private videos by default |
| PUT | /channels/{channel_id}/videos/{video_id}/privacy/users | Permit a list of users to view a private video |
| GET | /channels/{channel_id}/videos/{video_id}/texttracks | Get all the text tracks of a video |
| POST | /channels/{channel_id}/videos/{video_id}/texttracks | Add a text track to a video |
| GET | /contentratings | Get all content ratings |
| GET | /creativecommons | Get all Creative Commons licenses |
| GET | /groups | Get all groups |
| POST | /groups | Create a group |
| GET | /groups/{group_id} | Get a specific group |
| DELETE | /groups/{group_id} | Delete a group |
| GET | /groups/{group_id}/users | Get all the members of a group |
| GET | /groups/{group_id}/videos | Get all the videos in a group |
| GET | /groups/{group_id}/videos/{video_id} | Get a specific video in a group |
| PUT | /groups/{group_id}/videos/{video_id} | Add a video to a group |
| DELETE | /groups/{group_id}/videos/{video_id} | Remove a video from a group |
| GET | /languages | Get all languages |
| GET | /me | Get a user |
| PATCH | /me | Edit a user |
| GET | /me/albums | Get all the albums that belong to a user |
| POST | /me/albums | Create an album |
| GET | /me/albums/{album_id} | Get a specific album |
| PATCH | /me/albums/{album_id} | Edit an album |
| DELETE | /me/albums/{album_id} | Delete an album |
| GET | /me/albums/{album_id}/videos | Get all the videos in an album |
| PUT | /me/albums/{album_id}/videos | Replace all the videos in an album |
| GET | /me/albums/{album_id}/videos/{video_id} | Get a specific video in an album |
| PUT | /me/albums/{album_id}/videos/{video_id} | Add a specific video to an album |
| DELETE | /me/albums/{album_id}/videos/{video_id} | Remove a video from an album |
| POST | /me/albums/{album_id}/videos/{video_id}/set_album_thumbnail | Set a video as the album thumbnail |
| GET | /me/appearances | Get all the videos in which a user appears |
| GET | /me/categories | Get all the categories that a user follows |
| GET | /me/categories/{category} | Check if a user follows a category |
| PUT | /me/categories/{category} | Subscribe a user to a single category |
| DELETE | /me/categories/{category} | Unsubscribe a user from a category |
| GET | /me/channels | Get all the channels to which a user subscribes |
| GET | /me/channels/{channel_id} | Check if a user follows a channel |
| PUT | /me/channels/{channel_id} | Subscribe a user to a specific channel |
| DELETE | /me/channels/{channel_id} | Unsubscribe a user from a specific channel |
| GET | /me/customlogos | Get all the custom logos that belong to a user |
| POST | /me/customlogos | Add a custom logo |
| GET | /me/customlogos/{logo_id} | Get a specific custom logo |
| GET | /me/feed | Get all videos in a user's feed |
| GET | /me/followers | Get all the followers of a user |
| GET | /me/following | Get all the users that a user is following |
| POST | /me/following | Follow a list of users |
| GET | /me/following/{follow_user_id} | Check if a user is following another user |
| PUT | /me/following/{follow_user_id} | Follow a specific user |
| DELETE | /me/following/{follow_user_id} | Unfollow a user |
| GET | /me/groups | Get all the groups that a user has joined |
| GET | /me/groups/{group_id} | Check if a user has joined a group |
| PUT | /me/groups/{group_id} | Add a user to a group |
| DELETE | /me/groups/{group_id} | Remove a user from a group |
| GET | /me/likes | Get all the videos that a user has liked |
| GET | /me/likes/{video_id} | Check if a user has liked a video |
Showing the first 100 of 326 endpoints; the full list is in the documentation.
Questions
Does the Vimeo API need an API key?
Yes. The Vimeo API uses OAuth authentication; the documentation explains how to get credentials.
Does the Vimeo API support HTTPS?
Yes, the Vimeo API is served over HTTPS.
How many endpoints does the Vimeo API have?
Its OpenAPI description lists 326 endpoints in version 3.4. The first 100 are shown on this page.
What are alternatives to the Vimeo API?
Other Video APIs include Dailymotion, TVMaze, TMDb, The Vampire Diaries, IMDb.
Similar video APIs
Compare alternatives →Dailymotion
VideoDailymotion Developer API
TVMaze
VideoAdd television information to your own website or app with a fast and clean TV API. Add schedules, show, episode, cast information, ...
TMDb
VideoCommunity-based movie data
The Vampire Diaries
VideoWeb site created using create-react-app
IMDb
VideoAPI for receiving movie, serial and cast information
Czech Television
VideoTV programme of Czech TV
Listed from public-apis (MIT), public-apis database (MIT), APIs.guru (CC0).