Vimeo has announced the launch of a brand-new singular, unified Vimeo API with OAuth 2 support for authenticated API calls on videos, users, groups, channels, albums, and upload. The new singular Vimeo API, which is in open beta, replaces both of Vimeo's Advanced and Simple APIs.
Vimeo developed and released the first API in March 2007. Over time the company developed a Simple API and an Advanced API. The Simple API was easy to set up and use but did not allow developers to make authenticated calls. The Advanced API included many features but was difficult for developers to set up and use.
The company decided that it was necessary to build a new API that was simple, easy to use and allowed new features to be quickly added. Aaron Hedges, Application Developer at Vimeo, has worked on the new Vimeo API for the past year and explained to ProgrammableWeb the reasoning and goals behind the new API:
Our primary goals were to simplify everything across the board, and to build a new foundation that would let us expand the API quickly along with the rest of our site. OAuth 2, HATEOAS, and new upload workflows made all of these features possible. Rewriting wasn't a decision we took lightly. The old API had three huge problems that just couldn't be addressed without a complete overhaul.
The new Vimeo API has a URL structure based primarily on REST best practices and is a complete replacement for both the Advanced and Simple APIs. Hedges said:
First, we needed to combine two old APIs into one system. The simple API did not accept authentication and the advanced API needed all of the complexities of OAuth 1. Without a reasonable upgrade path, growing API consumers had to rewrite major portions of their apps.
He went on to say:
Second, our privacy system is too complex for the old API. The context of a video, such as in a channel, group, or album, applies a secondary privacy level on top of the general video privacy settings. In the old API if you wanted to like a video, we couldn't identify the context and handle your request properly. We fixed this by entirely abandoning ID's. The unique identifier of a resource is the URI of that resource. This allows us to provide contextual and canonical URIs. These new URIs give us more insight into how a user is interacting with a specific resource, and allows them to properly interact with Vimeo videos.
In addition to OAuth 2 support, the new Vimeo API allows app developers to provide client side uploads directly to Vimeo. There is now a simple HTML form uploader as well as resumable PUT uploads.
Vimeo plans on adding more new API features and releasing other developer tools throughout 2014. Upcoming items include Vimeo On Demand, improved error responses, an API Playground, and webhooks. Hedges says:
We are excited for the future and have a public roadmap detailing some of our plans. We will soon provide additional support for Vimeo On Demand, Webhooks and significantly improved error messages.
For more information about the new Vimeo API, visit Developer.Vimeo.com.
By Janet Wagner. Janet is a data journalist and full stack developer based in Toledo, Ohio. Her focus revolves around APIs, open data, data visualization and data-driven journalism. Follow her on Twitter, Google+ and LinkedIn.