Douyin general search
Search public Douyin content with sort, publication-time, duration, and content-type filters.
/v1/douyin/search/generalChinese name: 抖音综合搜索 · 搜索结果 · 搜索 按关键词、排序、时间、时长和内容类型筛选公开视频搜索结果。douyin.search.general@v1
Price per call
¥0.02/ call
Complete and confirmed empty results are charged; partial results and failures are not.
Checking live statusTry it
This API is coming soon
We are running launch checks. Once live, you can try it right here at the price shown above; nothing is charged before then. You can already read the parameters and response example.
Available now on the same platform
- Douyin video search
- Douyin user search
- Douyin Xingtu creator search
- Douyin video detail
- Douyin video comments
- Douyin comment replies
- Douyin user profile
- Douyin user videos
- Douyin hot search
- Douyin rising trends
- Douyin low-follower viral ranking
- Douyin high-completion ranking
- Douyin mix detail
- Douyin mix videos
- Douyin batch video detail
- Douyin related videos
- Douyin music detail
- Douyin videos by music
- Douyin high-like-rate ranking
- Douyin high-follower-conversion ranking
- Douyin hashtag detail
- Douyin hashtag videos
- Douyin similar creators
- Douyin creator engagement and follower trends
- Douyin topic ranking
- Douyin hot search terms
- Douyin Xingtu creator batch info
- Douyin Xingtu creator audience
- Douyin Xingtu creator video performance
Sign in and run one real call. The result and charge appear right here.
Security check
Loading the security check…
Checking live execution status…
Execution result
// Result
Request parameters
querystringrequiredminLength: 1 · maxLength: 64
Example:
"AI"sortstringoptionalenum: "relevance" | "most_liked" | "latest"
Example:
"latest"publishedstringoptionalenum: "any" | "day" | "week" | "half_year"
durationstringoptionalenum: "any" | "under_1m" | "1m_to_5m" | "over_5m"
content_typestringoptionalenum: "any" | "video" | "image" | "article"
Example:
"video"cursorstringoptionalminLength: 1
Request JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"sort": {
"type": "string",
"enum": [
"relevance",
"most_liked",
"latest"
]
},
"published": {
"type": "string",
"enum": [
"any",
"day",
"week",
"half_year"
]
},
"duration": {
"type": "string",
"enum": [
"any",
"under_1m",
"1m_to_5m",
"over_5m"
]
},
"content_type": {
"type": "string",
"enum": [
"any",
"video",
"image",
"article"
]
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [
"query"
],
"additionalProperties": false
}Code samples
Install the SDK with npm i @dataxapi/sdk or pip install dataxapi, and put your API key in the DATAXAPI_API_KEY environment variable.
curl -X POST https://api.dataxapi.com/v1/douyin/search/general \
-H "Authorization: Bearer $DATAXAPI_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"query":"AI","sort":"latest","content_type":"video"}'import { ExactApiClient } from "@dataxapi/sdk";
const client = new ExactApiClient({
baseUrl: "https://api.dataxapi.com",
apiKey: process.env.DATAXAPI_API_KEY,
});
const result = await client.call("douyin_search_general_v1", {
"query": "AI",
"sort": "latest",
"content_type": "video"
});
console.log(result.data);import os
from dataxapi import ExactApiClient
client = ExactApiClient("https://api.dataxapi.com", os.environ["DATAXAPI_API_KEY"])
result = client.call("douyin_search_general_v1", {
"query": "AI",
"sort": "latest",
"content_type": "video",
})
print(result["data"])[mcp_servers.dataxapi]
url = "https://api.dataxapi.com/mcp"
bearer_token_env_var = "DATAXAPI_API_KEY"Response example
{
"code": 200,
"request_id": "req_example_douyin_batch_4",
"message": "success",
"data": {
"items": [
{
"id": "7677044917696469382",
"caption": "Public Douyin example",
"created_at": "2026-08-27T00:00:00.000Z",
"author": {
"id": "creator-01",
"sec_uid": "sec-creator-01",
"unique_id": "example",
"name": "Example creator",
"avatar_url": "https://ci.douyin.com/avatar"
},
"media": {
"video_url": "https://ci.douyin.com/video.mp4",
"cover_url": "https://ci.douyin.com/cover",
"duration_seconds": 19.412,
"width": 720,
"height": 1280
},
"music": {
"id": "7136850194742315016",
"title": "Public music",
"author": "Artist"
},
"metrics": {
"likes": 44,
"comments": 4,
"collects": 27,
"shares": 65,
"plays": null
}
}
]
},
"page": {
"next_cursor": "cursor_example"
},
"warnings": [
"play_count_unavailable"
],
"meta": {
"result_status": "complete",
"balance_after": "49.98",
"listing_id": "douyin.search.general",
"version": "v1",
"catalog_release_id": "catalog-production-2026-09-19.b069be57",
"price_book_version": "pricebook-production-2026-09-19.4487e352",
"charged_amount": "0.02",
"currency": "CNY"
}
}Response fields
codenumber- const: 200
request_idstringmessagestring- const: "success"
dataobjectpageobjectwarningsarraymetaobject
Response JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"type": "number",
"const": 200
},
"request_id": {
"type": "string"
},
"message": {
"type": "string",
"const": "success"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"caption": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"author": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"sec_uid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"unique_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"sec_uid",
"unique_id",
"name",
"avatar_url"
],
"additionalProperties": false
},
"media": {
"type": "object",
"properties": {
"video_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"cover_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"duration_seconds": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
]
},
"width": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"height": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"video_url",
"cover_url",
"duration_seconds",
"width",
"height"
],
"additionalProperties": false
},
"music": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"author": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"title",
"author"
],
"additionalProperties": false
},
"metrics": {
"type": "object",
"properties": {
"likes": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"comments": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"collects": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"shares": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"plays": {
"type": "null"
}
},
"required": [
"likes",
"comments",
"collects",
"shares",
"plays"
],
"additionalProperties": false
}
},
"required": [
"id",
"caption",
"created_at",
"author",
"media",
"music",
"metrics"
],
"additionalProperties": false
}
}
},
"required": [
"items"
],
"additionalProperties": false
},
"page": {
"type": "object",
"properties": {
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"next_cursor"
],
"additionalProperties": false
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"meta": {
"type": "object",
"properties": {
"listing_id": {
"type": "string",
"const": "douyin.search.general"
},
"version": {
"type": "string",
"const": "v1"
},
"catalog_release_id": {
"type": "string",
"minLength": 1
},
"price_book_version": {
"type": "string",
"minLength": 1
},
"result_status": {
"type": "string",
"enum": [
"complete",
"empty",
"partial"
]
},
"charged_amount": {
"type": "string"
},
"balance_after": {
"type": "string"
},
"currency": {
"type": "string",
"const": "CNY"
}
},
"required": [
"listing_id",
"version",
"catalog_release_id",
"price_book_version",
"result_status",
"charged_amount",
"balance_after",
"currency"
],
"additionalProperties": false
}
},
"required": [
"code",
"request_id",
"message",
"data",
"page",
"warnings",
"meta"
],
"additionalProperties": false
}Usage notes
Good for
- Use it when the standalone video search does not express the required filters.
Not for
- Do not use it for exhaustive recall, volume estimation, or ranking causality.
Known limitations
- V1 emits only cards that map safely to a public video.
- Ranking and recall follow the current search surface.
- Play count is returned as null.
Billing
¥0.02 per call. Complete and confirmed empty results are charged; partial results and failures are not.
See all pricing →