Developers / Simple API
The Simple API lets you quickly get lots of data about a user, group, channel, or album in a variety of formats.
Making a User Request
To access the data for a specific user, you simply request a URL from vimeo.com and let us know what you want. The URLs are simple, they can be built with the following format:
Making the URL
http://vimeo.com/api/username/request.output
username
request
outputEither the shortcut URL or ID of the user, an email address will NOT work.
The data you want. The different request types are listed below.
Specify the output type. We currently offerJSON
,PHP
, andXML
formats.
Requests you can make
info
clips
likes
appears_in
all_clips
subscriptions
albums
channels
groups
contacts_clips
contacts_like
User info for the specified user
Videos created by user
Videos the user likes
Videos that the user appears in
Videos that the user appears in and created
Videos the user is subscribed to
Albums the user has created
Channels the user has created and subscribed to
Groups the user has created and joined
Videos that the user's contacts created
Videos that the user's contacts like
Example Request
To get a list of the videos that you appear in, in XML format, you'd make this request:
http://vimeo.com/api/user1389599/appears_in.xml
Example Response
Here's an example of the XML response from a user_info
call:
<?xml version="1.0" encoding="UTF-8"?> <users> <user> <id>101193</id> <display_name>Brad Dougherty</display_name> <created_on>2006-02-13 11:27:25</created_on> <is_staff>1</is_staff> <is_plus>0</is_plus> <location>Yardley, PA</location> <url>http://braddougherty.us</url> <bio>I am a Vimeo apprentice this summer! ...</bio> <profile_url>http://www.vimeo.com/brad</profile_url> <videos_url>http://www.vimeo.com/brad/videos</videos_url> <total_videos_uploaded>4</total_videos_uploaded> <total_videos_appears_in>2</total_videos_appears_in> <total_videos_liked>53</total_videos_liked> <total_contacts>45</total_contacts> <total_albums>0</total_albums> <total_channels>0</total_channels> <thumbnail_small>http://bitcast.vimeo.com/...jpg</thumbnail_small> <thumbnail_medium>http://storage10.vimeo.com/...jpg</thumbnail_medium> <thumbnail_large>http://00.media.vimeo.com/...jpg</thumbnail_large> </user> </users>
Making a Video Request
To get data about a specific video, use the following url:
http://vimeo.com/api/clip/video_id.output
video_id
outputThe ID of the video you want information for.
Specify the output type. We currently offerJSON
,PHP
, andXML
formats.
The data returned from this method is the same as what is returned in any video list, except there is only one.
Making an Activity Request
To access the activity data for a specific user, a user's contacts, or everyone, you simply request the following URL:
Making the URL
http://vimeo.com/api/activity/username/request.output
username
request
outputEither the shortcut URL or ID of the user, an email address will NOT work.
The data you want. The different request types are listed below.
Specify the output type. We currently offerJSON
,PHP
, andXML
formats.
Requests you can make
user_did
happened_to_user
contacts_did
happened_to_contacts
everyone_didActivity by the user
Activity on the user
Activity by the user's contacts
Activity on the user's contacts
Activity by everyone
Example Request
To get a list of the recent things you did, in serialized PHP format, you'd make this request:
http://vimeo.com/api/activity/user1389599/user_did.php
Example Response
Here's an example of PHP array response from a user_did
call (after calling the unserialize()
function):
Array ( [0] => Array ( [type] => add_tags [date] => 2008-06-13 12:21:03 [user_id] => 209837 [user_name] => Soxiam [user_url] => http://www.vimeo.com/soxiam [user_thumbnail_small] => http://20.media.vimeo.com/...jpg [user_thumbnail_large] => http://90.media.vimeo.com/...jpg [subject_user_id] => 209837 [subject_user_name] => lostinspace [subject_user_url] => http://www.vimeo.com/lostinspace [subject_user_thumbnail_small] => http://storage13.vimeo.com/...jpg [subject_user_thumbnail_large] => http://00.media.vimeo.com/...jpg [clip_id] => 429424 [clip_title] => 3space [clip_caption] => early lost in space film ... [clip_url] => http://www.vimeo.com/429424 [clip_thumbnail_small] => http://40.media.vimeo.com/...jpg [clip_thumbnail_medium] => http://60.media.vimeo.com/...jpg [clip_thumbnail_large] => http://80.media.vimeo.com/...jpg [clip_stats_number_of_likes] => 22 [clip_stats_number_of_plays] => 427 [clip_stats_number_of_comments] => 6 [clip_tags] => [action_tags] => car, ) )
Making a Group Request
Making the URL
http://vimeo.com/api/group/groupname/request.output
groupname
request
outputThe groupname can either be the URL name, or Group ID of the group.
The data you want. The different request types are listed below.
Specify the output type. We currently offerJSON
,PHP
, andXML
formats.
Requests you can make
clips
users
infoClips added to that group
Users who have joined the group
Group info for the specified group
Example Request
To get a list of the videos in the ‘awesome’ group, in JSON format, you'd make this request:
http://vimeo.com/api/group/awesome/clips.json
Example Response
Here's an example of the JSON response from a clips
call: (URLs have been shortened for formatting, you'll get the full URL in your results. You'll also probably get more than one clip.)
[{ "title": "Good Idea #4: Make A Wish", "url": "http:\/\/www.vimeo.com\/753571", "clip_id": "753571", "caption": "Tyler, Scott, and Jared meet a mysterious...\n", "upload_date": "2008-03-04 15:57:58", "thumbnail_small": "http:\/\/20.media.vimeo.com\/...jpg", "thumbnail_medium": "http:\/\/60.media.vimeo.com\/...jpg", "thumbnail_large": "http:\/\/30.media.vimeo.com\/...jpg", "user_name": "Kinetiq HD", "user_url": "http:\/\/www.vimeo.com\/user346742", "user_thumbnail_small": "http:\/\/40.media.vimeo.com\/...jpg", "user_thumbnail_large": "http:\/\/10.media.vimeo.com\/...jpg", "stats_number_of_likes": "38", "stats_number_of_plays": "19312", "stats_number_of_comments": 25, "tags": "" }]
Making a Channel Request
Making the URL
http://vimeo.com/api/channel/channelname/request.output
channelname
request
outputThe URL name of the channel.
The data you want. The different request types are listed below.
Specify the output type. We currently offerJSON
,PHP
, andXML
formats.
Requests you can make
clips
infoClips in the channel
Channel info for the specified channel
Example Request
To get the information for the “Delicious Sandwich” channel, in XML format, you'd make this request:
http://vimeo.com/api/channel/delicioussandwich/info.xml
Example Response
Here's an example of the XML response from an info
call: (URLs have been shortened for formatting, you'll get the full URL in your results. You'll also probably get more than one clip.)
<?xml version="1.0" encoding="UTF-8"?> <channels> <channel> <id>19</id> <name>Delicious Sandwich</name> <description>A Sandwich Blog</description> <logo></logo> <url>http://www.vimeo.com/delicioussandwich</url> <rss>http://www.vimeo.com/channel19/clips/rss</rss> <created_on>2007-08-10 09:31:58</created_on> <creator_id>76850</creator_id> <creator_display_name>Amir</creator_display_name> <creator_url>http://www.vimeo.com/Amir</creator_url> <total_videos>2</total_videos> <total_subscribers>69</total_subscribers> </channel> </channels>
Making an Album Request
Making the URL
http://vimeo.com/api/album/album_id/request.output
album_id
request
outputThe ID of the album.
The data you want. The different request types are listed below.
Specify the output type. We currently offerJSON
,PHP
, andXML
formats.
Requests you can make
clips
infoClips in that album
Album info for the specified album
Example Request
To get a list of the videos in album 21, in XML format, you'd make this request:
http://vimeo.com/api/album/21/clips.xml
Example Response
Here's an example of the XML response from a clips
call: (URLs have been shortened for formatting, you'll get the full URL in your results. You'll also probably get more than one clip.)
<?xml version="1.0" encoding="UTF-8"?> <clips> <clip> <title>the oregon trail: prequel</title> <url>http://www.vimeo.com/314947</url> <clip_id>314947</clip_id> <caption>this movie is rated d ...</caption> <upload_date>2007-09-21 20:36:30</upload_date> <thumbnail_small>http://80.media.vimeo.com/...jpg</thumbnail_small> <thumbnail_medium>http://10.media.vimeo.com/...jpg</thumbnail_medium> <thumbnail_large>http://00.media.vimeo.com/...jpg</thumbnail_large> <user_name>Soxiam</user_name> <user_url>http://www.vimeo.com/soxiam</user_url> <user_thumbnail_small>http://bitcast.vimeo.com/...jpg</user_thumbnail_small> <user_thumbnail_large>http://70.media.vimeo.com/...jpg</user_thumbnail_large> <stats_number_of_likes>72</stats_number_of_likes> <stats_number_of_plays>3269</stats_number_of_plays> <stats_number_of_comments>43</stats_number_of_comments> <tags></tags> </clip> </clips>
That is pretty much it! Simple, eh?
Response Data
There are a few different types of responses.
Clips Data
title
url
clip_id
caption
thumbnail_small
thumbnail_medium
thumbnail_large
user_name
user_url
uploaded_on
user_thumbnail_small
user_thumbnail_large
stats_number_of_likes
stats_number_of_plays
stats_number_of_comments
duration
width
height
tagsClip Title
URL to the Video Page
Clip ID
The caption or description of the video
URL to a small version of the thumbnail
Medium
Large
The user name of the video's uploader
The URL to the user profile
The date/time the video was uploaded on
Small user thumbnail
Large
# of likes
# of plays
# of comments
Duration of the video in seconds
Standard definition width of the video
Standard definition height of the video
Comma separated list of tags
User Info Data
id
display_name
created_on
is_staff
is_plus
location
url
bio
profile_url
videos_url
total_videos_uploaded
total_videos_appears_in
total_videos_liked
total_contacts
total_albums
total_channels
thumbnail_small
thumbnail_medium
thumbnail_large
User ID
User name
Date the user signed up
Is this user a staff member?
Has this user signed up for Vimeo Plus?
Examples: NYC, Home, 10012
User supplied url
The bio information from the user profile
URL to the user profile
URL to the video list for this user
Total # of videos uploaded
Total # of videos user appears in
Total # of videos liked by user
Total # of contacts
Total # of albums
Total # of channels moderated by user
Small Thumbnail
Medium Thumbnail
Large Thumbnail
Group Info Data
id
name
description
url
logo
thumbnail
created_on
creator_id
creator_display_name
creator_url
total_members
total_videos
total_files
total_forum_topics
total_events
total_upcoming_events
Group ID
Group name
Group description
URL for the group page
Group logo (header)
Thumbnail
Date the group was created
User ID of the group creator
Name of the User who created the group
The URL to the group creator's profile
Total # of users joined
Total # of videos posted to the group
Total # of files uploaded to the group
Total # of forum topics
Total # of events
Total # of upcoming events
Channel Info Data
id
name
description
logo
url
rss
created_on
creator_id
creator_display_name
creator_url
total_videos
total_subscribersChannel ID
Channel name
Channel description
Channel logo (header)
URL for the channel page
RSS feed for the channel's videos
Date the channel was created
User ID of the channel creator
Name of the User who created the channel
The URL to the channel creator's profile
Total # of videos posted in the channel
Total # of users subscribed
Album Info Data
id
created_on
last_modified
title
description
url
thumbnail
total_videos
user_id
user_display_name
user_url
Album ID
Date the album was created
Date the album was last modified
Album title
Album description
URL for the album page
Thumbnail
Total # of videos added to the album
User ID of the user who made the album
Name of the User who created the album
The URL to the album creator's profile
Response Formats
All of the different response formats return the exact same data, but you can choose the format that is easiest to work with in the programming language that you're using.
JSON (Javascript)
The JSON format can be used directly in Javascript. The easiest way is to include it as a script directly from Vimeo's servers. When you do this, you can set a “callback” function that will be called automatically by Javascript. (To set the callback function, just append ?callback=myFunction
to the end of the request URL.) There is an example of how to do this included in the download below. You can also use this format in PHP: just call json_decode()
to convert the data into an array.
PHP
When using this format, Vimeo will return a serialized PHP array. All you have to do is pass the data through unserialize()
and you'll have an array of the data.
XML
The XML version of the data is a very simple XML format that should be easy for you to parse. You can use SimpleXML in PHP to easily parse it.
How about an example?
We're already one step ahead of you! Just download this zip file. It has two Javascript examples and a PHP example: vimeo-simple-api-example.zip (8 K)
- Vimeo: About / Blog / Roadmap / Developers / Community Guidelines / Forums / Toys / Help! / Site Map / Get Vimeo Plus
- Legal: ©2009 Vimeo, LLC / Terms & Conditions / Privacy Statement