Ted Roden

Ted Roden Alum

Hello!

After a fair bit of work, I'm pleased to announce we've put up a simple API. For those who don't know, an API is an "Application Programming Interface" that can be used by one program to access data in another program, in this case, Vimeo.

You can access all kinds of data from Vimeo in a variety of formats. Currently we offer JSON, XML and PHP feeds. We plan to expand the API in the future, but let me know if you really want something else.

I've added some documentation here:
vimeo.com/api

Also, to show off what it can do, I created a Dashboard Widget for OS X. So, if you have a Tiger or later, download it and give it a spin:
vimeo.com/VimeoDash.wdgt.zip

To install it, unzip it and double click on the widget.

If you have any questions, comments or if you find any bugs, just post it here in the API forum and I'll help you out.

Have fun,
-Ted

pablo

pablo

Any chance of opening up the crossdomain file a little more?

Ghostdad

Ghostdad

Thanks Ted! Will dive in to this for sure.

Ian Lucero

Ian Lucero PRO

Hey that widget is slick. Tried it and it works great. Of course it does!

Jacob

Jacob

Nice, but how about an upload API? Is this still on the cards?

Remyyy

Remyyy Plus

Is it possible to have a picture of the widget or something like that ? I don't have a mac and I have to say after reading some definitions I don't understand what an API is.

Thommy Browne

Thommy Browne Plus

Damnit. I'm at work on my PC and all I want to do it go home and test this sucker out.

Ted Roden

Ted Roden Alum

verseguru: I'd say that an upload API *may* happen. We're just kind of testing the waters now, but you never know what the future holds.

Jacob

Jacob

@Ted, I sure hope you do! Been ages since Jakob last mentioned the possibility. And if you do please evaluate using mediasock.org/

Chris Riley

Chris Riley

Hi Ted, great news on the API, one downside, I've just tried using it and the xml output is not usable. It needs a root element to encapsulate the clips otherwise, in my case, when I try and load the xml document into an xmldocument object in .net it throws an exception saying there isn't a root element. This was for the clips method, output xml. All it would need is a clips tag around the clip tag and problem solved (and possibly the xml tag at the start of the file?). Hopefully you can make this change before the api gets used to much?

Secondly, a method to return just a particular clip's info via the api using the clip id would be good. That way we can specify a clipid, instead of using the clips method, and only get one clip, saving you bandwidth and us the need to filter the clips response on the client side. Hope these two things can be done, this would then make it a killer api!

Ted Roden

Ted Roden Alum

smuggyuk: I noticed that thing with the XML feed. That is certainly a bug and I'll put that up today.

I'll see if we can get it to limit the amount of fields it returns.

Thanks for the suggestions!

PS. I'll post it here when the XML feed is fixed.

Ted Roden

Ted Roden Alum

smuggyuk: Ok, the XML feed should have an xml tag and the root clips tag. That should make things work a lot better for XML based stuff.

Let me know how it goes.

Chris Riley

Chris Riley

Looks good, apart from you're missing the ? at the start of the xml tag...? Quick work tho, I'm happy as ever with the response from you guys!

Ted Roden

Ted Roden Alum

Yikes! Sorry about that. The question mark is back in there... perhaps the work was a little too quick last time.

Chris Riley

Chris Riley

Magic, that does the trick, I'll get my website updated tomorrow, and details of how I'm using it posted in the forum. Many thanks again for the quick work.

Chris Riley

Chris Riley

Ted: Couple of other things you might want to clear up. Obviously with the addition of the clips tag, you might want to update the xml snippet on the API page, and also on the same page you give away your development environment url in the javascript example - api.vimeo.localhost - not that it will be much use to anyone outside vimeo, but still, worth mentioning...

Ted Roden

Ted Roden Alum

smuggyuk: Thanks for pointing that stuff out! The documentation has been updated.

Chris Riley

Chris Riley

Another useful method you might want to consider adding to the API would be a search method, and one that you can either search the whole of Vimeo, or specify to search a particular user's clips. I could make use of that... ;o)

Andy Galletly

Andy Galletly Plus

i had a go! psi-o.net/agsystems/2007/04/03/API-test

bit of a cheeky cobbing together of the code from the API page

I thought maybe i could put the ratio in as a tag and resize the odd formatted ones from there, but i couldnt work out how to parse comma seperated lists :(

Greg North

Greg North

I'm trying to access the XML from flash and it doesn't want to load for me. Anybody try this yet? Is there a crossdomain.xml in the mix here that is blocking me from accessing the sweetness that is Vimeo?

Desmark

Desmark

I was able to parse the xml in a test environment, but I think the cross domain policy in flash makes it redundant as a web app.

There are a few workarounds on the flashkit boards, although I couldn't get my head round them in the short bit of time I had. Gonna get back on it as soon as uni deadlines are all passed :)

Let me know if you have any success.

edit: it just occured to me that if you could receive the feeds locally on the same server as your flash file via something like wordpress you could probably get around the cross domain problem.

keith

keith Plus

Any reason why I am only getting 21 clips every time? Is there a cap on it right now?

steven andrew

steven andrew

Is there a way to make a web widget like the OSX widget for web use?

dalas verdugo

dalas verdugo Staff

OSX Widgets are pretty much just webpages, so you could probably extract enough from the widget code to make a webpage from it.

steven andrew

steven andrew

Yeah, i agree. I thought about it. I recently discovered the new widget craze for both PC and OSX thanks to Flash's Apollo.

I will try that.

Tim Trautmann

Tim Trautmann Plus

Hi, are you guys planning on giving us the ability to query for a particular video id? we need this so that we can get the thumbnail url for a given video.

thx

Ted Roden

Ted Roden Alum

Bringo: We'll probably be offering this in the future.

pablo

pablo

Any chance of putting a crossdomain.xml up? It would make flash / flex handling possible without hacks. Please oh please. Thanks for the rest of the API you guys rule.

pablo

pablo

So nothing eh? It would be awesome to be able to use the videos in a flash app.

Ted Roden

Ted Roden Alum

We do use a crossdomain.xml file already to limit calls to our domain. What are you trying to do?

clickykbd

clickykbd

I've noticed all videos start out in "pause/init" mode... is there any programmatic way of getting them to auto-play?

This would be useful for api apps that rely on seeing the videos in a hands-off style, I have a few in mind.

Ted Roden

Ted Roden Alum

clickykbd: How are you trying to embed the clip? It won't format in the forum, so you probably want to email the embed code to me. It's should be easy enough to figure out my email address: my username (minus the punctuation) at vimeo.com

islebehere

islebehere PRO

did i read correctly, above, about tags? Is there a way to RSS tags (ie: Team West U) and embed into a webpage?

VxJasonxV

VxJasonxV

I can't seem to generate a Dev Key :/, something wrong?

kwon

kwon

documeny.submit(); should be the problem, can somebody fix it?

VxJasonxV

VxJasonxV

Yep. The key is staring me in the face. Thanks!

Peter and Kelly

Peter and Kelly

I tried out the php example for the advanced API, but my page comes up with the following error:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /var/www/phpVimeo.php on line 18

Which versions of PHP is this code compatible with?

Peter and Kelly

Peter and Kelly

Thanks, it gets past that error when I switch to PHP 5.

This conversation is missing your voice. Please join Vimeo or log in.