Access the Vimeo Advanced API (v2) in Python
Pull request Compare This branch is 56 commits ahead, 30 commits behind dkm:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


These are a collection of python modules for using Vimeo's APIs.


This module depends on oauth2 and httplib2 (which is a dependency of oauth2


Just unpack and run:

    $ python install


As far as I know, everything in the Advanced API should work. You'll need to
provide your API key and secret. If you happen to be using this from within a
django project, this module will check for an API key and secret to
use by default. Otherwise, initialize the VimeoClient with your key and secret.

If you find anything that doesn't work as expected, please let me know!

The Uploading and oEmbed APIs are also now supported. Uploading makes use of
a very elementary chunking procedure and an optional callback that you can use
(to for example do background uploading, build a progress bar, etc.). 

Again, if you encounter any API methods with unexpected behavior that you think
is due to one of these modules, please let me know (preferably by filing a


Advanced API methods flow through the VimeoClient class. Instantiate, then 
if you want to call API methods that require authentication, call the provided
get_request_token, get_authorization_url and get_access_token methods to do
the 3-legged authentication. Or if you already have an access token pass it in
to the VimeoClient constructor. 

(If you happen to be using this module with django or another web framework
like I am, the oauth2 docs have a quick example [using twitter which has the
same authorization process just about] that you can take a look at for 3-legged

For unauthenticated API calls, you're good to go right after

To call API methods the syntax is easy: find the path to the method in the API
documentation, and call the method on the VimeoClient instance using the full 
path, separated by underscores (not periods!). Pass any parameters in by 
keyword. See the example:

To call the vimeo >> videos >> getInfo method:

    v = VimeoClient()

You can control the output format of the response by either passing in a format
argument when initializing or by using the .default_response_property attr.
JSON might be the most convenient format to use as it'll get you a python dict
back, but XML might be a bit faster.

In general, consult the Vimeo API docs, as the behavior of this binding should
by design follow the API docs closely. If you happen to be stuck, you can get
in contact with me by filing a ticket on the git repository.


This module was a (third) complete rewrite from an old vimeo module.

Bengt Sjölén
Marc Poulhiès (original module author)
Julian Berman (current rewrite)


For license details please see the LICENSE.txt file included with this document.