Viki Platform

Bulk Load

Get a list of specific videos

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

Gets up to 25 videos by ID. The order of the videos 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.


GET /v4/videos.json


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

GET /v4/movies.json
GET /v4/episodes.json
GET /v4/news_clips.json
GET /v4/music_videos.json
GET /v4/clips.json


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


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

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

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

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

GET /v4/videos/genres.json

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


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

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

will return a listing of videos from US.


Filters videos according to the language code

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

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


Filters out adult-oriented videos

GET /v4/videos.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 videos, 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.

Create a video

POST /v4/containers/(CONTAINER_ID)/videos.json

Expected body parameters:

Update a video

PUT /v4/containers/(CONTAINER_ID)/videos/(VIDEO_ID).json

Accepted body parameters:

Delete a video

DELETE /v4/containers/(CONTAINER_ID)/videos/(VIDEO_ID).json