On Demand

Add a genre to an On Demand page

PUT https://api.vimeo.com/ondemand/pages/{ondemand_id}/genres/{genre_id} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
201 Created

The genre was added.

404 Not Found

If On Demand page was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

400 Bad Request

You cannot add more than two genres to an On Demand page.

Add a poster to an On Demand page

POST https://api.vimeo.com/ondemand/pages/{ondemand_id}/pictures Playground
This method requires a token with the "upload" scope.
HTTP Status Code Explanation
201 Created

The poster was added.

403 Forbidden

You cannot modify another user's On Demand page.

Add a promotion to an On Demand page

POST https://api.vimeo.com/ondemand/pages/{ondemand_id}/promotions Playground
This method requires a token with the "promo_codes,"create" scope.
Name Type Required Description
access_type enum
  • default
  • vip
No

The promotion access type, which is a purchase option that is not available on the container. VIP promotions always make the content free of charge. If you use this type, you must further define the promotion with the download or stream_period fields.

code string No

The promotion code. This field is ignored for batch promotions.

discount_type enum
  • free
  • percent
No

The type of discount offered by the promo code. When access_type is vip, the value of this field must be free.

download boolean Yes

Whether the promotion grants download access to VOD content. This is necessary only when not previously defined in the On Demand container or when access_type is vip or product_type is buy.

end_time timestamp No

The end of the promotion period. If you do not specify a value, the promotion will never expire.

label string No

The description of a batch promotion. This field is ignored for single promotions.

percent_off integer No

The percentage of the discount by using this promo code. This field is applicable only when discount_type is percent.

product_type enum
  • any
  • buy
  • buy_episode
  • rent
  • rent_episode
  • subscribe
No

The type of transaction to which the promotion applies. When access_type is default, the default value is any, but the default value is rent when access_type is vip. Also, when access_type is vip, the only valid product types are buy and rent.

start_time timestamp No

The start of the promotion period. If you do not specify a value, the start time defaults to the time that the promotion was created.

stream_period enum
  • 1_week
  • 1_year
  • 24_hour
  • 30_day
  • 3_month
  • 48_hour
  • 6_month
  • 72_hour
Yes

The amount of time that a user has access to the VOD content upon redeeming a promo code. This field is necessary only when not defined in the On Demand container or when creating promotions when access_type is vip or product_type is rent.

total integer Yes

The number of promotions to generate when type is batch, or the number of uses of the promotion when type is single.

type enum
  • batch
  • single
Yes

The type of promotion. When access_type is vip, the value for this field must be batch.

HTTP Status Code Explanation
200 OK

The promotion was added.

404 Not Found

If On Demand page was not found.

403 Forbidden

You cannot create promotions for an On Demand page that you do not own.

400 Bad Request

There are errors in the request.

400 Bad Request

The promo code already exists.

Add a region to an On Demand page

PUT https://api.vimeo.com/ondemand/pages/{ondemand_id}/regions/{country} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
201 Created

The region was added.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand region was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

Add a video to an On Demand page

PUT https://api.vimeo.com/ondemand/pages/{ondemand_id}/videos/{video_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
buy.price.AUD float No

The purchase price of this video in AUD.

buy.price.CAD float No

The purchase price of this video in CAD.

buy.price.CHF float No

The purchase price of this video in CHF.

buy.price.DKK float No

The purchase price of this video in DKK.

buy.price.EUR float No

The purchase price of this video in EUR.

buy.price.GBP float No

The purchase price of this video in GBP.

buy.price.JPY float No

The purchase price of this video in JPY.

buy.price.KRW float No

The purchase price of this video in KRW.

buy.price.NOK float No

The purchase price of this video in NOK.

buy.price.PLN float No

The purchase price of this video in PLN.

buy.price.SEK float No

The purchase price of this video in SEK.

buy.price.USD float No

The purchase price of this video in USD. *Required if buy.active is true.

position number No

The position of this video in the On Demand collection.

release_year integer No

The video release year.

rent.price.AUD float No

The rental price of this video in AUD.

rent.price.CAD float No

The rental price of this video in CAD.

rent.price.CHF float No

The rental price of this video in CHF.

rent.price.DKK float No

The rental price of this video in DKK.

rent.price.EUR float No

The rental price of this video in EUR.

rent.price.GBP float No

The rental price of this video in GBP.

rent.price.JPY float No

The rental price of this video in JPY.

rent.price.KRW float No

The rental price of this video in KRW.

rent.price.NOK float No

The rental price of this video in NOK.

rent.price.PLN float No

The rental price of this video in PLN.

rent.price.SEK float No

The rental price of this video in SEK.

rent.price.USD float No

The rental price of this video in USD. *Required if rent.active is true.

type enum
  • extra
  • main
  • trailer
Yes

The type of video that you are adding to the On Demand page.

HTTP Status Code Explanation
200 OK

The video was added.

403 Forbidden

You cannot modify an On Demand page that you do not own.

400 Bad Request

You cannot add the video to this On Demand page.

Check if you have purchased an On Demand page

GET https://api.vimeo.com/me/ondemand/purchases/{ondemand_id} Playground
GET https://api.vimeo.com/users/{user_id}/ondemand/purchases Playground
This method requires a token with the "purchased" scope.
HTTP Status Code Explanation
200 OK

You have purchased the On Demand page.

404 Not Found

If user was not found.

404 Not Found

If On Demand page was not found in the purchases.

403 Forbidden

The requested user is not the same as the authenticated user.

Create a new background for an On Demand page

POST https://api.vimeo.com/ondemand/pages/{ondemand_id}/backgrounds Playground
This method requires a token with the "upload" scope.
HTTP Status Code Explanation
200 OK

The background was created.

404 Not Found

If On Demand page was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

Create an On Demand page

POST https://api.vimeo.com/me/ondemand/pages Playground
POST https://api.vimeo.com/users/{user_id}/ondemand/pages Playground
Name Type Required Description
accepted_currencies enum
  • AUD
  • CAD
  • CHF
  • DKK
  • EUR
  • GBP
  • JPY
  • KRW
  • NOK
  • PLN
  • SEK
  • USD
No

An array of accepted currencies.

buy.active boolean No

Whether the Buy action is active. *Required if rent.active is false.

buy.download boolean No

Whether people who buy the video can download it. To use this field, type must be film.

buy.price.AUD float No

The purchase price of this video in AUD.

buy.price.CAD float No

The purchase price of this video in CAD.

buy.price.CHF float No

The purchase price of this video in CHF.

buy.price.DKK float No

The purchase price of this video in DKK.

buy.price.EUR float No

The purchase price of this video in EUR.

buy.price.GBP float No

The purchase price of this video in GBP.

buy.price.JPY float No

The purchase price of this video in JPY.

buy.price.KRW float No

The purchase price of this video in KRW.

buy.price.NOK float No

The purchase price of this video in NOK.

buy.price.PLN float No

The purchase price of this video in PLN.

buy.price.SEK float No

The purchase price of this video in SEK.

buy.price.USD float No

The purchase price of this video in USD when type is film, or the purchase price of the entire collection in USD when type is series.

content_rating enum
  • drugs
  • language
  • nudity
  • safe
  • unrated
  • violence
Yes

One or more ratings, either as a comma-separated list or as a JSON array depending on the request format.

description string Yes

The description of the On Demand page.

domain_link string No

The custom domain of the On Demand page.

episodes.buy.active boolean No

Whether episodes can be bought.

episodes.buy.download boolean No

Whether people who buy the episode can download it. To use this field, type must be series.

episodes.buy.price.USD float No

The purchase price per episode. *Required if episodes.buy.active is true.

episodes.rent.active boolean No

Whether episodes can be rented

episodes.rent.period enum
  • 1 week
  • 1 year
  • 24 hour
  • 3 month
  • 30 day
  • 48 hour
  • 6 month
  • 72 hour
No

The period in which this episode can be rented for.

episodes.rent.price.USD float No

The default price to rent an episode. This field is applicable only when type is series. *Required if episodes.rent.active is true.

link string No

The custom string to use in this On Demand page's Vimeo URL.

name string Yes

The name of the On Demand page.

rent.active boolean No

Whether the video can be rented. *Required if buy.active is false.

rent.period enum
  • 1 week
  • 1 year
  • 24 hour
  • 3 month
  • 30 day
  • 48 hour
  • 6 month
  • 72 hour
No

The period in which this can be rented for.

rent.price.AUD float No

The rental price of this video in AUD.

rent.price.CAD float No

The rental price of this video in CAD.

rent.price.CHF float No

The rental price of this video in CHF.

rent.price.DKK float No

The rental price of this video in DKK.

rent.price.EUR float No

The rental price of this video in EUR.

rent.price.GBP float No

The rental price of this video in GBP.

rent.price.JPY float No

The rental price of this video in JPY.

rent.price.KRW float No

The rental price of this video in KRW.

rent.price.NOK float No

The rental price of this video in NOK.

rent.price.PLN float No

The rental price of this video in PLN.

rent.price.SEK float No

The rental price of this video in SEK.

rent.price.USD float No

The rental price of this video in USD when type is film, or the rental price of the entire collection in USD when type is series.

subscription.monthly.active boolean No

Whether monthly subscription is active. *Required if rent.active and buy.active are false.

subscription.monthly.price.USD float No

The monthly subscription price in USD. *Required if subscription.active is true.

type enum
  • film
  • series
Yes

The type of On Demand page.

HTTP Status Code Explanation
201 Created

The On Demand page was created.

Delete a genre from an On Demand page

DELETE https://api.vimeo.com/ondemand/pages/{ondemand_id}/genres/{genre_id} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The On Demand genre was deleted.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand genre was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

400 Bad Request

The On Demand page must belong to at least one genre.

Delete a list of regions from an On Demand page

DELETE https://api.vimeo.com/ondemand/pages/{ondemand_id}/regions Playground
This method requires a token with the "edit" scope.
Name Type Required Description
countries array No

An array of country codes.

HTTP Status Code Explanation
200 OK

The On Demand regions were deleted.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand region was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

Delete a promotion for an On Demand page

DELETE https://api.vimeo.com/ondemand/pages/{ondemand_id}/promotions/{promotion_id} Playground
This method requires a token with the "promo_codes,"delete" scope.
HTTP Status Code Explanation
204 No Content

The promotion was deleted.

404 Not Found

If On Demand page was not found.

404 Not Found

If promotion was not found.

403 Forbidden

You cannot delete a promotion for an On Demand page that you not own.

Delete a region from an On Demand page

DELETE https://api.vimeo.com/ondemand/pages/{ondemand_id}/regions/{country} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The On Demand region was deleted.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand region was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

Delete a video from an On Demand page

DELETE https://api.vimeo.com/ondemand/pages/{ondemand_id}/videos/{video_id} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The video was deleted.

403 Forbidden

You cannot modify an On Demand page that you do not own.

Delete an On Demand page draft

DELETE https://api.vimeo.com/ondemand/pages/{ondemand_id} Playground
This method requires a token with the "delete" scope.
HTTP Status Code Explanation
204 No Content

The page draft was deleted.

404 Not Found

If On Demand page was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

Delete the background of an On Demand page

DELETE https://api.vimeo.com/ondemand/pages/{ondemand_id}/backgrounds/{background_id} Playground
This method requires a token with the "edit" scope.
HTTP Status Code Explanation
204 No Content

The background image was deleted.

404 Not Found

If On Demand page was not found.

404 Not Found

If background image was not found.

403 Forbidden

If you are attempting to modify an On Demand page you do not own.

Edit an On Demand page

Enable preorders or publish the page.

PATCH https://api.vimeo.com/ondemand/pages/{ondemand_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
link string No

The custom string to use in this On Demand page's Vimeo URL.

preorder.active boolean No

If set to true, you will enable pre-orders on the On Demand page.

preorder.publish_time datetime No

The time that the On Demand page will be published. *Required if preorder.active is true.

publish.active boolean No

Whether to publish the On Demand page.

publish_when_ready boolean No

Whether to publish the On Demand page automatically after all videos are finished transcoding.

HTTP Status Code Explanation
200 OK

The On Demand page was edited.

404 Not Found

If On Demand page was not found.

403 Forbidden

The authenticated user cannot edit the On Demand page.

Edit an On Demand page's background

PATCH https://api.vimeo.com/ondemand/pages/{ondemand_id}/backgrounds/{background_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
active boolean No

Whether to make this background the active background.

HTTP Status Code Explanation
200 OK

The background was edited.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand image was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

Edit an On Demand page's poster

PATCH https://api.vimeo.com/ondemand/pages/{ondemand_id}/pictures/{poster_id} Playground
This method requires a token with the "edit" scope.
Name Type Required Description
active boolean No

Whether to make this picture the active picture.

HTTP Status Code Explanation
200 OK

The poster was edited.

Get a season of an On Demand page

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/seasons/{season_id} Playground
HTTP Status Code Explanation
200 OK

The season was returned.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand season was not found in the On Demand page.

Get a user's On Demand pages

GET https://api.vimeo.com/me/ondemand/pages Playground
GET https://api.vimeo.com/users/{user_id}/ondemand/pages Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

filter enum
  • film
  • series
No

The type of On Demand pages to return.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

sort enum
  • added
  • alphabetical
  • date
  • modified_time
  • name
  • publish.time
  • rating
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The On Demand pages were returned.

404 Not Found

If user was not found.

Get a user's On Demand purchases and rentals

GET https://api.vimeo.com/me/ondemand/purchases Playground
This method requires a token with the "purchased" scope.
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

filter enum
  • all
  • expiring_soon
  • film
  • important
  • purchased
  • rented
  • series
  • subscription
  • unwatched
  • watched
No

The type of On Demand videos to show.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

sort enum
  • added
  • alphabetical
  • date
  • name
  • purchase_time
  • rating
  • release_date
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The purchases and rentals were returned

403 Forbidden

The authenticated user cannot view the purchases and rentals for another user's account.

Get a video on an On Demand page

Check if an On Demand page contains a video.

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/videos/{video_id} Playground
HTTP Status Code Explanation
200 OK

The video is on the On Demand page.

Get all On Demand genres

GET https://api.vimeo.com/ondemand/genres Playground
HTTP Status Code Explanation
200 OK

The On Demand genres were returned.

Get all On Demand pages within a genre

GET https://api.vimeo.com/ondemand/genres/{genre_id}/pages Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

filter enum
  • country
  • my_region
No

The filter to apply to the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

query string No

The search query.

sort enum
  • alphabetical
  • date
  • name
  • publish.time
  • videos
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The On Demand pages were returned.

Get all On Demand regions

GET https://api.vimeo.com/ondemand/regions Playground
HTTP Status Code Explanation
200 OK

The On Demand regions were returned.

Get all codes for an On Demand page's promotion

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/promotions/{promotion_id}/codes Playground
This method requires a token with the "promo_codes" scope.
Name Type Required Description
page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The codes were returned.

404 Not Found

If On Demand page was not found.

403 Forbidden

You cannot create promotions for an On Demand page that you do not own.

Get all posters for an On Demand page

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/pictures Playground
Name Type Required Description
page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The posters were returned.

404 Not Found

If On Demand page was not found.

Get all videos in a season of an On Demand page

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/seasons/{season_id}/videos Playground
Name Type Required Description
filter enum
  • viewable
No

The filter to apply to the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

sort enum
  • date
  • default
  • manual
  • name
  • purchase_time
  • release_date
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The videos were returned.

Get all videos in an On Demand page

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/videos Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

filter enum
  • all
  • buy
  • expiring_soon
  • extra
  • main
  • main.viewable
  • rent
  • trailer
  • unwatched
  • viewable
  • watched
No

The filter to apply to the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

sort enum
  • date
  • default
  • episode
  • manual
  • name
  • purchase_time
  • release_date
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The videos were returned.

200 OK

The videos were returned.

Get an On Demand genre

GET https://api.vimeo.com/ondemand/genres/{genre_id} Playground
HTTP Status Code Explanation
200 OK

The On Demand genre was returned.

404 Not Found

If On Demand genre was not found.

Get an On Demand page

GET https://api.vimeo.com/ondemand/pages/{ondemand_id} Playground
HTTP Status Code Explanation
200 OK

The On Demand page was returned.

404 Not Found

If On Demand page was not found.

Get an On Demand page background

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/backgrounds/{background_id} Playground
HTTP Status Code Explanation
200 OK

The background image was returned.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand image was not found.

403 Forbidden

You cannot view another user's On Demand page background.

Get an On Demand page in a genre

Check whether a genre contains an On Demand page.

GET https://api.vimeo.com/ondemand/genres/{genre_id}/pages/{ondemand_id} Playground
HTTP Status Code Explanation
200 OK

The On Demand page belongs to the genre.

404 Not Found

If On Demand page was not found in the On Demand genre.

Get an On Demand page's backgrounds

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/backgrounds Playground
Name Type Required Description
page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The background images were returned.

404 Not Found

If On Demand page was not found.

Get an On Demand page's genre

Check whether an On Demand page belongs to a genre.

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/genres/{genre_id} Playground
HTTP Status Code Explanation
200 OK

The On Demand page's genre was returned.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand genre was not found in the On Demand page.

Get an On Demand page's poster

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/pictures/{poster_id} Playground
HTTP Status Code Explanation
200 OK

The poster was returned.

Get an On Demand page's promotion

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/promotions/{promotion_id} Playground
This method requires a token with the "promo_codes" scope.
HTTP Status Code Explanation
200 OK

The promotion was returned.

404 Not Found

If On Demand page was not found.

404 Not Found

If promotion was not found.

403 Forbidden

You cannot view a promotion for an On Demand page that you do not own.

Get an On Demand page's promotions

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/promotions Playground
This method requires a token with the "promo_codes" scope.
Name Type Required Description
filter enum
  • batch
  • default
  • single
  • vip
Yes

The filter to apply to the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

HTTP Status Code Explanation
200 OK

The promotions were returned.

404 Not Found

If On Demand page was not found.

403 Forbidden

You cannot view promotions for an On Demand page that you do not own.

400 Bad Request

The filter is invalid.

Get an On Demand page's region

Checks whether an On Demand page belongs to a region.

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/regions/{country} Playground
HTTP Status Code Explanation
200 OK

The On Demand page's region was returned.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand region was not found.

Get an On Demand region

GET https://api.vimeo.com/ondemand/regions/{country} Playground
HTTP Status Code Explanation
200 OK

The On Demand region was returned.

404 Not Found

If On Demand region was not found.

Get genres of an On Demand page

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/genres Playground
HTTP Status Code Explanation
200 OK

The genres were returned.

404 Not Found

If On Demand page was not found.

Get regions for an On Demand page

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/regions Playground
HTTP Status Code Explanation
200 OK

The regions were returned.

404 Not Found

If On Demand page was not found.

Get seasons in an On Demand page

GET https://api.vimeo.com/ondemand/pages/{ondemand_id}/seasons Playground
Name Type Required Description
direction enum
  • asc
  • desc
No

The sort direction of the results.

filter enum
  • viewable
No

The filter to apply to the results.

page integer No

The page number to show.

per_page integer No

The number of items to show on each page (maximum 100).

sort enum
  • date
  • manual
No

The technique for sorting the results.

HTTP Status Code Explanation
200 OK

The seasons were returned.

404 Not Found

If On Demand page was not found.

Set a list of regions for an On Demand page

PUT https://api.vimeo.com/ondemand/pages/{ondemand_id}/regions Playground
This method requires a token with the "edit" scope.
Name Type Required Description
countries array Yes

The countries.

countries.country_code string Yes

The country code.

HTTP Status Code Explanation
200 OK

The list of regions was set.

404 Not Found

If On Demand page was not found.

404 Not Found

If On Demand region was not found.

403 Forbidden

You cannot modify an On Demand page that you do not own.

Send Feedback