Skip to content

Youku APIs - Video Search (V1)

prod-global
GET
/api/youku/search-video/v1

This API performs a keyword-based search on Youku, returning a list of videos that match the search term. Returned fields include video ID, title, cover image, duration, play count, publish time, and the video's detail page URL.

Typical use cases:

  • Keyword-based video discovery.
  • Monitoring specific topics or trends on Youku.
  • Analyzing search results for market research.

Parameters

NameInTypeRequiredDescription
tokenquerystringYesTOKEN
keywordquerystringYesKeyword to search for.
pagequeryintegerNoPage number for pagination, starting from 1.

Code Samples

💡 Environment Note

Default samples use https://api.justoneapi.com (prod-global). For users in Mainland China, it is recommended to replace it with http://47.117.133.51:30015 (prod-cn) for better performance. See Environment Guide.

bash
# Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
curl -X GET "https://api.justoneapi.com/api/youku/search-video/v1?token=YOUR_API_KEY&keyword=VALUE"
text
I want to use the "Video Search (V1)" API from Just One API.
API Endpoint: https://api.justoneapi.com/api/youku/search-video/v1
HTTP Method: GET
Authentication: Append "?token=YOUR_API_KEY" to the URL.
OpenAPI Definition: https://docs.justoneapi.com/openapi/youku-apis/video-search-v1-en.json

Parameters:
- token (query): TOKEN (Required)
- keyword (query): Keyword to search for. (Required)
- page (query): Page number for pagination, starting from 1.

Return format: JSON

Response Handling & Error Codes:
1. Business results should be determined by the "code" field in the response body (code 0 means success).
2. Timeout Recommendation: Set request timeout to at least 60 seconds.
3. Business Code Reference:
   - 0: Success
   - 100: Invalid or Inactive Token
   - 301: Collection Failed. Please Retry.
   - 302: Rate Limit Exceeded
   - 303: Daily Quota Exceeded
   - 400: Invalid Parameters
   - 500: Internal Server Error
   - 600: Permission Denied
   - 601: Insufficient Balance

Please help me write a script in my preferred programming language to call this API and handle the response.
python
# Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
import requests

url = "https://api.justoneapi.com/api/youku/search-video/v1?token=YOUR_API_KEY&keyword=VALUE"
response = requests.get(url)
print(response.json())
js
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
const response = await fetch("https://api.justoneapi.com/api/youku/search-video/v1?token=YOUR_API_KEY&keyword=VALUE", {
  method: "GET"
});
const data = await response.json();
console.log(data);
java
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Main {
    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create("https://api.justoneapi.com/api/youku/search-video/v1?token=YOUR_API_KEY&keyword=VALUE"))
            .method("GET", HttpRequest.BodyPublishers.noBody())
            .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
        System.out.println(response.body());
    }
}
go
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	client := &http.Client{}
	url := "https://api.justoneapi.com/api/youku/search-video/v1?token=YOUR_API_KEY&keyword=VALUE"
	req, _ := http.NewRequest("GET", url, nil)
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
php
// Tip: For Mainland China, replace https://api.justoneapi.com with http://47.117.133.51:30015
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.justoneapi.com/api/youku/search-video/v1?token=YOUR_API_KEY&keyword=VALUE");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
$response = curl_exec($ch);
curl_close($ch);
echo $response;

Responses

json
{
  "code": 0,
  "data": {
    "api": "mtop.youku.soku.yksearch",
    "data": {
      "nodes": [
        {
          "nodes": [
            {
              "nodes": [
                {
                  "data": {
                    "sourceId": 14,
                    "hasYouku": 1,
                    "realShowId": "fddb67906b9b41508191",
                    "docId": "743654",
                    "episodeTotal": 6,
                    "episodeCollect": 6,
                    "featureDTO": {
                      "text": "纪录片 · 2025 · 中国"
                    },
                    "ugcSupply": 0,
                    "episodeType": 1,
                    "itemLog": "eps_t~1$site~14$show_id~fddb67906b9b41508191$doc_source~1$eng_source~6$sp_id~1156115474216386560$doc...",
                    "showId": "fddb67906b9b41508191",
                    "exclusive": 0,
                    "action": {
                      "report": {
                        "trackInfo": {
                          "object_url": "youku://play?source=search&showid=fddb67906b9b41508191&politicsSensitive=false&searchKey=deepseek",
                          "object_type": 101,
                          "group_id": "fddb67906b9b41508191",
                          "group_num": 1,
                          "recommend_source": "热度",
                          "object_title": "DeepSeek 快速入门指南",
                          "group_type": 1,
                          "recommend_title": "热度 181",
                          "source_id": 14,
                          "item_log": "eps_t~1$site~14$show_id~fddb67906b9b41508191$doc_source~1$eng_source~6$sp_id~1156115474216386560$doc...",
                          "cid": 1156115474216386600
                        }
                      },
                      "type": "JUMP_TO_NATIVE",
                      "value": "youku://play?source=search&showid=fddb67906b9b41508191&politicsSensitive=false&searchKey=deepseek"
                    },
                    "needLess": false,
                    "thumbUrl": "https://m.ykimg.com/050C000067BFD3B91FDCE4125A00EEC9",
                    "rightButtonDTO": {
                      "isDownload": false,
                      "buttonType": 4,
                      "displayName": "详情",
                      "action": {
                        "report": {
                          "spm": "a2h0c.8166622.PhoneSokuProgram_1.skipdetail",
                          "trackInfo": {
                            "object_url": "youku://soku/dataDetail?showId=fddb67906b9b41508191&title=DeepSeek 快速入门指南&vThumbUrl=http%3A%2F%2Fr1....",
                            "object_type": 3,
                            "group_id": "fddb67906b9b41508191",
                            "group_num": 1,
                            "object_title": "详情",
                            "isplay": 3,
                            "group_type": 1,
                            "object_id": "fddb67906b9b41508191"
                          },
                          "arg1": "skipdetail_of_PhoneSokuProgram",
                          "scm": "20140669.search.rdoc.show_fddb67906b9b41508191"
                        },
                        "type": "JUMP_TO_NATIVE",
                        "value": "youku://soku/dataDetail?showId=fddb67906b9b41508191&title=DeepSeek 快速入门指南&vThumbUrl=http%3A%2F%2Fr1...."
                      }
                    },
                    "info": "简介:还在为不会使用Deepseek而烦恼?这门《DeepSeek 快速入门指南》课程就是你的救星!本课程共6集,从基础概念出发,带你了解Deepseek是什么、能做什么,深入通用版的入门操作、模式选...",
                    "leftButtonDTO": {
                      "buttonType": "0",
                      "displayName": "播放",
                      "action": {
                        "report": {
                          "spm": "a2h0c.8166622.PhoneSokuProgram_1.playbutton",
                          "trackInfo": {
                            "object_title": "播放"
                          },
                          "arg1": "playbutton_of_PhoneSokuProgram",
                          "scm": "20140669.search.rdoc.show_fddb67906b9b41508191"
                        },
                        "type": "JUMP_TO_NATIVE",
                        "value": "youku://play?source=search&showid=fddb67906b9b41508191&politicsSensitive=false&searchKey=deepseek"
                      }
                    },
                    "coupon": {
                      "playRules": 0,
                      "action_type": "JUMP_TO_URL",
                      "link": "https://t.youku.com/app/visp/cashier_4/index?en_sid=743654&h5params=%7B%22pageKey%22%3A%22NEWSTANDAR...",
                      "title": "开通会员,畅享精彩内容",
                      "out_task_id": 22393,
                      "delivery_white_list_flag": "false",
                      "highlight": 0,
                      "cashier_attributes": "{\"hitRules\":\"{\\\"LINK_PARAM\\\":\\\"12,14,152\\\",\\\"LINK_PATH\\\":\\\"50\\\",\\\"PAGE_KEY\\\":\\\"6\\\",\\\"SCENE_TYPE\\\":\\\"...",
                      "payType": "",
                      "cashierPageKey": "NEWSTANDARDRENDER_YOUKU",
                      "cashier_ab_test": "0",
                      "product_id": "128",
                      "activity_id": "35534",
                      "product_sku_id": "128_305",
                      "goods_rights_type": 3,
                      "render_status": 1,
                      "crm_params": "{\"cvid\":\"\",\"nvid\":\"\",\"cgid\":\"84\",\"touch_point_code\":\"pc_search_becomevip\",\"NEWSTANDARDRENDER_YOUKU\":...",
                      "scm": "20140732.0.0.crm_20140732-manual-999_7_0_0-102944_100611_0_1_22393_2325_1773064803646_8604835af9cf48...",
                      "link_style": 2,
                      "goods_id": "102944",
                      "sku_id": "305",
                      "userMaterialType": 1,
                      "activity_code": "n_crm_lxbys3y9.9",
                      "crm_d": "20140732-manual-999_7_0_0-102944_100611_0_1_22393_2325_1773064803646_8604835af9cf484c855f679341cd707...",
                      "one_day_upgrade": false,
                      "goods_type": 1
                    },
                    "logCate": "doc",
                    "recommendDTO": {
                      "recommendLeftIcon": "http://youku-search-console.youku.com/1588903977750",
                      "showType": 4,
                      "recommends": [
                        {
                          "displayName": "热度 181",
                          "action": {
                            "report": {
                              "spm": "a2h0c.8166622.PhoneSokuProgram_1.recommend_1",
                              "trackInfo": {
                                "object_type": 110,
                                "object_title": "DeepSeek 快速入门指南",
                                "group_type": 1,
                                "item_log": "eps_t~1$site~14$show_id~fddb67906b9b41508191$doc_source~1$eng_source~6$sp_id~1156115474216386560$doc...",
                                "object_num": 1
                              },
                              "arg1": "recommend_of_PhoneSokuProgram",
                              "scm": "20140669.search.rdoc.url"
                            },
                            "type": "JUMP_TO_NATIVE"
                          }
                        }
                      ]
                    },
                    "stripeBottom": "6期全",
                    "posterDTO": {
                      "iconCorner": {
                        "tagType": 3,
                        "tagText": "付费"
                      },
                      "vThumbUrl": "http://m.ykimg.com/0526000067BFD67220039610817E0D82",
                      "posterType": "showW3H4ThumbUrl",
                      "action": {
                        "report": {
                          "spm": "a2h0c.8166622.PhoneSokuProgram_1.poster",
                          "arg1": "poster_of_PhoneSokuProgram",
                          "scm": "20140669.search.rdoc.show_fddb67906b9b41508191"
                        },
                        "type": "JUMP_TO_NATIVE",
                        "value": "youku://play?source=search&showid=fddb67906b9b41508191&politicsSensitive=false&searchKey=deepseek"
                      }
                    },
                    "completed": 1,
                    "recommendDisplayType": "-2",
                    "titleDTO": {
                      "displayName": "DeepSeek 快速入门指南",
                      "action": {
                        "report": {
                          "spm": "a2h0c.8166622.PhoneSokuProgram_1.title",
                          "arg1": "title_of_PhoneSokuProgram",
                          "scm": "20140669.search.rdoc.show_fddb67906b9b41508191"
                        },
                        "type": "JUMP_TO_NATIVE",
                        "value": "youku://play?source=search&showid=fddb67906b9b41508191&politicsSensitive=false&searchKey=deepseek"
                      }
                    },
                    "disableClick": false,
                    "docSource": 1,
                    "cats": "纪录片",
                    "tempTitle": "DeepSeek 快速入门指南",
                    "animeEdition": 0,
                    "showMediaTag": [
                      {
                        "tagType": 3,
                        "tagText": "付费"
                      }
                    ],
                    "cateId": 9,
                    "paid": 1,
                    "isYouku": 1,
                    "sourceName": "优酷",
                    "showIdValid": -1,
                    "moreButtonDTO": {
                      "action": {
                        "report": {
                          "spm": "a2h0c.8166622.PhoneSokuMore_1.more",
                          "trackInfo": {
                            "object_url": "youku://soku/series?title=DeepSeek 快速入门指南&showId=fddb67906b9b41508191&site=1&siteId=14&keyword=deeps...",
                            "object_type": 3,
                            "group_id": "fddb67906b9b41508191",
                            "group_num": 1,
                            "object_title": "查看更多",
                            "group_type": 1,
                            "item_log": "eps_t~1$site~14$show_id~fddb67906b9b41508191$doc_source~1$eng_source~6$sp_id~1156115474216386560$doc..."
                          },
                          "arg1": "more_of_PhoneSokuMore",
                          "scm": "20140669.search.rdoc.show_fddb67906b9b41508191"
                        },
                        "type": "JUMP_TO_NATIVE",
                        "value": "youku://soku/series?title=DeepSeek 快速入门指南&showId=fddb67906b9b41508191&site=1&siteId=14&keyword=deeps..."
                      },
                      "title": "更多"
                    },
                    "isTrailer": 0,
                    "programId": "743654",
                    "mediaCompleted": 1
                  },
                  "level": 3,
                  "more": false,
                  "style": [
                    {
                      "type": 0
                    }
                  ],
                  "id": 0,
                  "type": 1027
                }
              ],
              "level": 2,
              "more": false,
              "style": [
                {
                  "type": 0
                }
              ],
              "id": 0,
              "type": 1027
            }
          ],
          "data": {
            "schema": "1",
            "version": 311,
            "docSource": 1
          },
          "level": 1,
          "more": false,
          "style": [
            {
              "type": 0
            }
          ],
          "id": 0,
          "type": 0
        }
      ],
      "data": {
        "displaySearchTerms": "deepseek",
        "pz": 30,
        "rstate": 0,
        "isEnd": 0,
        "isModule": true,
        "globalControlParam": {
          "closeRetentionPop": true
        },
        "highlightWord": "deep,seek",
        "filter": {
          "duration": [
            {
              "title": "全部",
              "value": "0-0"
            }
          ],
          "cate": [
            {
              "id": "0",
              "title": "全部"
            }
          ],
          "newType": true,
          "tab": [
            {
              "orders": [
                {
                  "title": "综合排序",
                  "value": 0
                }
              ],
              "id": "0",
              "title": "综合排序"
            }
          ],
          "format": [
            {
              "title": "全部",
              "value": 0
            }
          ]
        },
        "total": 322,
        "typeVersion": "B",
        "pg": 1,
        "action": {
          "report": {
            "trackInfo": {
              "searchtab": "0",
              "source_from": "home",
              "eid": "0bf85bff17730648034531522e2b80",
              "search_from": "1",
              "engine": "expid~req.ugc105.sort1004.rank105.qa0$eid~0bf85bff17730648034531522e2b80$bts~soku_engine_master#105$...",
              "aaid": "9fbffd5aabe0f1eeaa005d2258486410",
              "k": "deepseek"
            },
            "pageName": "page_searchresults"
          }
        },
        "hitNFMode": true,
        "status": "success"
      },
      "level": 0,
      "more": true,
      "id": 0,
      "type": 0
    },
    "ret": [
      "SUCCESS::调用成功"
    ],
    "v": "2.0"
  }
}

💡 Note: For list data, the example shows only 1-2 items for simplicity. The actual count depends on the API response.