Search Douyin videos by keyword
justoneapi.x.douyin-search-video-v4Searches Douyin (TikTok China) videos by keyword with sort, publish-time, duration, and page filters; later pages require the previous search ID.
- Price
- $0.01476/successAt provider cost
- Success rate
- 100%Last 30 days · 39 calls
- Latency p50
- 5.6 sp95 10 s
- Last verified
- Jul 28, 2026Verified working
GEThttps://toolswitch.dev/v1/tools/justoneapi.x.douyin-search-video-v4?page=1&keyword=%E7%BE%8E%E9%A3%9F&duration=_0&sortType=_0&publishTime=_0Preview- Uses platform quota
- Synchronous response
- Reads public data
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Query parameters | ||||
page | integer | Optional | Page number (starting from 1). | 1 |
keyword | string | Required | The search keyword. | 美食 |
duration | string | Optional | Filter by video duration. Available Values: - `_0`: No Limit - `_1`: Under 1 Minute - `_2`: 1-5 Minutes - `_3`: Over 5 Minutes One of: _0, _1, _2, _3. | _0 |
searchId | string | Optional | Search ID; required for pages > 1. Use data.business_config.next_page.search_id from the previous response, and stop paging when data.business_config.has_more is 0. | |
sortType | string | Optional | Sorting criteria for search results. Available Values: - `_0`: General - `_1`: More likes - `_2`: Newest One of: _0, _1, _2. | _0 |
publishTime | string | Optional | Filter by video publish time range. Available Values: - `_0`: No Limit - `_1`: Last 24 Hours - `_7`: Last 7 Days - `_180`: Last 6 Months One of: _0, _1, _7, _180. | _0 |
- Query parameters
pageintegerOptionalPage number (starting from 1).
Example:
1keywordstringRequiredThe search keyword.
Example:
美食durationstringOptionalFilter by video duration. Available Values: - `_0`: No Limit - `_1`: Under 1 Minute - `_2`: 1-5 Minutes - `_3`: Over 5 Minutes One of: _0, _1, _2, _3.
Example:
_0searchIdstringOptionalSearch ID; required for pages > 1. Use data.business_config.next_page.search_id from the previous response, and stop paging when data.business_config.has_more is 0.
sortTypestringOptionalSorting criteria for search results. Available Values: - `_0`: General - `_1`: More likes - `_2`: Newest One of: _0, _1, _2.
Example:
_0publishTimestringOptionalFilter by video publish time range. Available Values: - `_0`: No Limit - `_1`: Last 24 Hours - `_7`: Last 7 Days - `_180`: Last 6 Months One of: _0, _1, _7, _180.
Example:
_0
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
curl -X GET 'https://toolswitch.dev/v1/tools/justoneapi.x.douyin-search-video-v4?page=1&keyword=%E7%BE%8E%E9%A3%9F&duration=_0&sortType=_0&publishTime=_0' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY"import os
import requests
response = requests.request(
"GET",
"https://toolswitch.dev/v1/tools/justoneapi.x.douyin-search-video-v4?page=1&keyword=%E7%BE%8E%E9%A3%9F&duration=_0&sortType=_0&publishTime=_0",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/justoneapi.x.douyin-search-video-v4?page=1&keyword=%E7%BE%8E%E9%A3%9F&duration=_0&sortType=_0&publishTime=_0", {
method: "GET",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
},
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at $0.01476/success, including the service fee.