PHPackages                             clowdy/vimeo-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. clowdy/vimeo-api

ActiveLibrary[Image &amp; Media](/categories/media)

clowdy/vimeo-api
================

Composer wrapper for Vimeo PHP library

3.0(11y ago)01.5kMITPHPPHP &gt;=5.3.0

Since Jul 3Pushed 11y ago4 watchersCompare

[ Source](https://github.com/clowdy/vimeo.php)[ Packagist](https://packagist.org/packages/clowdy/vimeo-api)[ Docs](https://github.com/clowdy/vimeo.php)[ RSS](/packages/clowdy-vimeo-api/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

**This is a fork of the [official PHP library for the Vimeo API](https://github.com/vimeo/vimeo.php) modified to work with [@composer](https://github.com/composer).**

---

vimeo.php
=========

[](#vimeophp)

**Vimeo.php** is a library for interacting with the latest version of the [Vimeo](https://vimeo.com) API.

### Installation

[](#installation)

To install vimeo.php, you can download the latest version from .

To utilize the library in your code, you should include `vimeo.php`.

### Usage

[](#usage)

##### Making an API Request

[](#making-an-api-request)

In the Vimeo API, all requests must be authenticated in some method. For applications that only require access to public information, we offer oAuth2's client credentials grant. For applications that require users to authenticate, oAuth2's authorization code grant.

An example of this usage is:

```
//  Create a handle for the Vimeo API, with the access token.
$vimeo = new Vimeo(YOUR_APPLICATION_ID, YOUR_APPLICATION_SECRET, ACCESS_TOKEN);
//  Request the authenticated user's information
$user_data = $vimeo->request('/me');
```

###### Application Only Access Token

[](#application-only-access-token)

To get an application only token, you should run the following code (commented for clarity).

```
//  Create a handle for the Vimeo API.
$vimeo = new Vimeo(YOUR_APPLICATION_ID, YOUR_APPLICATION_SECRET);
//  Request the client credentials from the authentication server.
$token_response = $vimeo->clientCredentials();
```

This response will contain the token you can add into this handle with `$vimeo->setToken($token_from_response)`. The token should be stored for later use, and you can save time in future runs by using it and skipping the request step.

###### User authenticated Access Tokens

[](#user-authenticated-access-tokens)

Getting a user to authenticate with your application is a bit more complicated. Your application will have to redirect the user to Vimeo where they log in and verify that they will grant your application the requested scopes. The basic required steps are:

1. Initialize the Vimeo API handle, `$vimeo = new Vimeo(YOUR_APPLICATION_ID, YOUR_APPLICATION_SECRET);`
2. Send the user to the authorization page on Vimeo. The link is given by `$vimeo->buildAuthorizationEndpoint($redirect_uri, $scopes);` (Note: if your application only requires public information, you can omit the scopes argument).
3. The user authenticates and authorizes your app on the Vimeo site and is redirected back to the location provided in $redirect\_uri. (Note: This URI must be registered with Vimeo on the [developer site](https://developer.vimeo.com/)).
4. When the user is returned we will have a querystring parameter `code`.
5. Now that we have the code, we need to exchange it for an access token. We repeat step 1 to get ourselves a handle for the Vimeo API.
6. The code can be exchanged by calling `$vimeo->accessToken($code, $redirect_uri);`

An example of this can be seen in `examples/auth.php`.

#### Uploading a file

[](#uploading-a-file)

Uploading a file can occur in one of two ways:

1. Streaming the file to the Vimeo servers
2. POSTing the file from a client web browser

The library provides a sample tool for method #1 in `examples/upload.php`.

If you want to integrate the upload functionality with an existing PHP application, you should follow these steps:

1. Initialize a `Vimeo` class to interact with the server with the proper credentials. \*
2. With the path to your file, call `$vimeo->upload($file_path)`.
3. The response from that function will contain a `Location` header with the URI to the newly created resource. You can call that to set metadata such as the title or check on the transcode status.

**\* Note**: Vimeo requires applications that perform uploads to request and be granted special permissions. This can be done on the [Vimeo developer site](https://developer.vimeo.com/).

If you are developing a web application and would like to have the users upload directly to Vimeo's servers instead of relaying through yours, you can utilize the POST method. The simplest implementation of this is as follows:

1. Configure your redirect target with your app on the [Vimeo developer site](https://developer.vimeo.com).
2. Make sure that your callback is functional, it will receive the data when Vimeo has finalized the upload.
3. Initialize a `Vimeo` class to interact with the server with the proper credentials (requires the same special permission as the streaming API).
4. Call `$vimeo->request('/me/videos', array('type' => 'POST', 'redirect_url' => $redirect_target), 'POST')`
5. The response body should contain a field called `form`, this can be accessed via `$response['body']->form`. The contents of that should be printed into your page and sent to the end user. Once they submit the form it will send the video to Vimeo's servers and we will complete the flow before sending them back to the provided redirect\_url.
6. When the user comes back to the redirect\_url, you will have an additional query param (to any you may have included) called `video_uri`. This can be used to load and edit the newly created clip via the standard API methods.
7.

Troubleshooting
===============

[](#troubleshooting)

1. *todo* explain "curl not found" error
2. If your api request returns with an empty array, it likely means you do not have the proper https certificates. You can find more information on how to solve the problem here :

Contributors
============

[](#contributors)

- dashron
- sclm
- sgmendez ([32e4d7753a66e71dd158bf55b8a4b30ed564ef30](https://github.com/vimeo/vimeo.php/commit/32e4d7753a66e71dd158bf55b8a4b30ed564ef30))

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4337d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d7e20e90c604862ed2d6235343e0e1f15e79d3d1e8868252f30900c263d21b5d?d=identicon)[clowdy](/maintainers/clowdy)

---

Top Contributors

[![Dashron](https://avatars.githubusercontent.com/u/218751?v=4)](https://github.com/Dashron "Dashron (9 commits)")[![karlhorky](https://avatars.githubusercontent.com/u/1935696?v=4)](https://github.com/karlhorky "karlhorky (1 commits)")

---

Tags

videovimeovideosclowdy

### Embed Badge

![Health badge](/badges/clowdy-vimeo-api/health.svg)

```
[![Health](https://phpackages.com/badges/clowdy-vimeo-api/health.svg)](https://phpackages.com/packages/clowdy-vimeo-api)
```

###  Alternatives

[vimeo/vimeo-api

Official PHP library for the Vimeo API.

4637.1M32](/packages/vimeo-vimeo-api)[vimeo/laravel

A Vimeo bridge for Laravel

4161.5M4](/packages/vimeo-laravel)[jonnitto/plyr

Plyr.io for Neos.io

1236.2k2](/packages/jonnitto-plyr)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
