Viki Platform

Bulk Load

Get a list of specific containers

GET /v4/containers.json?ids=(ID1,ID2,IDN)

Gets up to 25 containers by ID. The order of the containers is guaranteed to be the same as the requested order. Invalid/missing video are omitted, meaning you can get less entries than what was requested.

Videos

It's possible to get the videos of a container:

GET /v4/containers/9008c/videos.json

Or, to get a specific type of child videos:

GET /v4/containers/9008c/episodes.json

Pending and Blocked

Pending and blocked videos belonging to a container can be retrieved by speficying state=pending or state=blocked parameter.

GET /v4/containers/9008c/videos.json?state=pending

By default (without a state), only videos in a normal state are returned. Filtering by state is not compatible with other filters (such as type). This filter is something of a hack to support channel management in Raynor (which is a bad idea)

List

GET /v4/containers.json

Types

To get a specific type of container, either specify the type=TYPE parameter, or use a pseudo-type endpoints:

GET /v4/films.json
GET /v4/series.json
GET /v4/news.json
GET /v4/artists.json

Parameters

The Viki containers API provides the following filters to surface the data you need out of this API listing. 

genre

Filters containers according to genre. This parameter takes in a genre id.

GET /v4/containers.json?&genre=2g

will return a listing of containers in the 'anime' genre.

A list of available genres for can be accessed via the genres endpoint:

GET /v4/containers/genres.json

Currently, music videos/artists have one set of genres, and all other videos/contains have another.

origin_country

Filters containers according to the original country. This parameter takes in a country code.

GET /v4/containers.json?&origin_country=us

will return a listing of containers from US.

subtitle_completion

Filters containers according to the language code

GET /v4/containers.json?&subtitle_completion=es

will return a listing of containers which has a significant % of spanish subtitles.

family_friendly

Filters out adult-oriented containers

GET /v4/containers.json?&family_friendly=1

hosted and licensed

Most applications will only have access to licensed and hosted content. In this sense, both the hosted and licensed parameters are used internally and will be ignored if set. However, for the few applications that have access to these filters, it's possible to set either, or both, to 0 to get unhosted (often hosted on youtube) and unlicensed content (fan channels).

Paging and Sorting

The overview explains the basics of sorting and paging. For containers, the following are valid sort values:

Only number can be safely sorted in either desc or asc order. For the other four options, it's best to omit the direction parameter.

All

A concise list of all containers sorted alphabetically is available at:

GET /v4/containers/all.json

Create containers

POST /v4/containers.json

Expected body parameters:

Edit containers

PUT /v4/containers/ID.json

Accepted body parameters:

To change the title or description, see the Titles and Descriptions endpoints

Delete containers

DELETE /v4/containers/ID.json