@tikomni/skills 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.skill-package-allowlist.txt +4 -0
- package/LICENSE +21 -0
- package/README.md +167 -0
- package/README.zh-CN.md +167 -0
- package/bin/tikomni-skills.js +127 -0
- package/env.example +160 -0
- package/lib/installer.js +176 -0
- package/package.json +44 -0
- package/skills/creator-analysis/SKILL.md +71 -0
- package/skills/creator-analysis/agents/openai.yaml +4 -0
- package/skills/creator-analysis/env.example +36 -0
- package/skills/creator-analysis/references/api-capability-index.md +92 -0
- package/skills/creator-analysis/references/api-contracts/asr-api.md +130 -0
- package/skills/creator-analysis/references/api-contracts/bilibili-app-api.md +776 -0
- package/skills/creator-analysis/references/api-contracts/bilibili-web-api.md +2017 -0
- package/skills/creator-analysis/references/api-contracts/demo-api.md +717 -0
- package/skills/creator-analysis/references/api-contracts/douyin-app-v3-api.md +3594 -0
- package/skills/creator-analysis/references/api-contracts/douyin-billboard-api.md +2274 -0
- package/skills/creator-analysis/references/api-contracts/douyin-creator-api.md +1575 -0
- package/skills/creator-analysis/references/api-contracts/douyin-creator-v2-api.md +3254 -0
- package/skills/creator-analysis/references/api-contracts/douyin-search-api.md +4118 -0
- package/skills/creator-analysis/references/api-contracts/douyin-web-api.md +5544 -0
- package/skills/creator-analysis/references/api-contracts/douyin-xingtu-api.md +1916 -0
- package/skills/creator-analysis/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
- package/skills/creator-analysis/references/api-contracts/health-check.md +69 -0
- package/skills/creator-analysis/references/api-contracts/hybrid-parsing.md +78 -0
- package/skills/creator-analysis/references/api-contracts/instagram-v1-api.md +2256 -0
- package/skills/creator-analysis/references/api-contracts/instagram-v2-api.md +2011 -0
- package/skills/creator-analysis/references/api-contracts/instagram-v3-api.md +2630 -0
- package/skills/creator-analysis/references/api-contracts/ios-shortcut.md +44 -0
- package/skills/creator-analysis/references/api-contracts/kuaishou-app-api.md +1518 -0
- package/skills/creator-analysis/references/api-contracts/kuaishou-web-api.md +1242 -0
- package/skills/creator-analysis/references/api-contracts/lemon8-app-api.md +1088 -0
- package/skills/creator-analysis/references/api-contracts/linkedin-web-api.md +1949 -0
- package/skills/creator-analysis/references/api-contracts/media-ingest-api.md +126 -0
- package/skills/creator-analysis/references/api-contracts/pipixia-app-api.md +1142 -0
- package/skills/creator-analysis/references/api-contracts/reddit-app-api.md +2025 -0
- package/skills/creator-analysis/references/api-contracts/sora2-api.md +2266 -0
- package/skills/creator-analysis/references/api-contracts/temp-mail-api.md +208 -0
- package/skills/creator-analysis/references/api-contracts/threads-web-api.md +897 -0
- package/skills/creator-analysis/references/api-contracts/tikhub-downloader-api.md +134 -0
- package/skills/creator-analysis/references/api-contracts/tikhub-user-api.md +494 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-ads-api.md +5947 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-analytics-api.md +968 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-app-v3-api.md +5735 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-creator-api.md +1951 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-interaction-api.md +742 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-shop-web-api.md +1890 -0
- package/skills/creator-analysis/references/api-contracts/tiktok-web-api.md +4448 -0
- package/skills/creator-analysis/references/api-contracts/toutiao-app-api.md +342 -0
- package/skills/creator-analysis/references/api-contracts/toutiao-web-api.md +143 -0
- package/skills/creator-analysis/references/api-contracts/twitter-web-api.md +989 -0
- package/skills/creator-analysis/references/api-contracts/wechat-channels-api.md +809 -0
- package/skills/creator-analysis/references/api-contracts/wechat-media-platform-web-api.md +677 -0
- package/skills/creator-analysis/references/api-contracts/weibo-app-api.md +1547 -0
- package/skills/creator-analysis/references/api-contracts/weibo-web-api.md +798 -0
- package/skills/creator-analysis/references/api-contracts/weibo-web-v2-api.md +2459 -0
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-api.md +1291 -0
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-api.md +1324 -0
- package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
- package/skills/creator-analysis/references/api-contracts/xigua-app-v2-api.md +489 -0
- package/skills/creator-analysis/references/api-contracts/youtube-web-api.md +2636 -0
- package/skills/creator-analysis/references/api-contracts/youtube-web-v2-api.md +2660 -0
- package/skills/creator-analysis/references/api-contracts/zhihu-web-api.md +2315 -0
- package/skills/creator-analysis/references/api-tags/asr-api.md +100 -0
- package/skills/creator-analysis/references/api-tags/bilibili-app-api.md +482 -0
- package/skills/creator-analysis/references/api-tags/bilibili-web-api.md +1267 -0
- package/skills/creator-analysis/references/api-tags/demo-api.md +365 -0
- package/skills/creator-analysis/references/api-tags/douyin-app-v3-api.md +2012 -0
- package/skills/creator-analysis/references/api-tags/douyin-billboard-api.md +1428 -0
- package/skills/creator-analysis/references/api-tags/douyin-creator-api.md +694 -0
- package/skills/creator-analysis/references/api-tags/douyin-creator-v2-api.md +694 -0
- package/skills/creator-analysis/references/api-tags/douyin-search-api.md +1059 -0
- package/skills/creator-analysis/references/api-tags/douyin-web-api.md +3314 -0
- package/skills/creator-analysis/references/api-tags/douyin-xingtu-api.md +935 -0
- package/skills/creator-analysis/references/api-tags/douyin-xingtu-v2-api.md +925 -0
- package/skills/creator-analysis/references/api-tags/health-check.md +40 -0
- package/skills/creator-analysis/references/api-tags/hybrid-parsing.md +57 -0
- package/skills/creator-analysis/references/api-tags/instagram-v1-api.md +1224 -0
- package/skills/creator-analysis/references/api-tags/instagram-v2-api.md +1147 -0
- package/skills/creator-analysis/references/api-tags/instagram-v3-api.md +1123 -0
- package/skills/creator-analysis/references/api-tags/ios-shortcut.md +45 -0
- package/skills/creator-analysis/references/api-tags/kuaishou-app-api.md +846 -0
- package/skills/creator-analysis/references/api-tags/kuaishou-web-api.md +551 -0
- package/skills/creator-analysis/references/api-tags/lemon8-app-api.md +687 -0
- package/skills/creator-analysis/references/api-tags/linkedin-web-api.md +1105 -0
- package/skills/creator-analysis/references/api-tags/media-ingest-api.md +112 -0
- package/skills/creator-analysis/references/api-tags/pipixia-app-api.md +721 -0
- package/skills/creator-analysis/references/api-tags/reddit-app-api.md +1057 -0
- package/skills/creator-analysis/references/api-tags/sora2-api.md +737 -0
- package/skills/creator-analysis/references/api-tags/temp-mail-api.md +136 -0
- package/skills/creator-analysis/references/api-tags/threads-web-api.md +472 -0
- package/skills/creator-analysis/references/api-tags/tikhub-downloader-api.md +65 -0
- package/skills/creator-analysis/references/api-tags/tikhub-user-api.md +253 -0
- package/skills/creator-analysis/references/api-tags/tiktok-ads-api.md +1393 -0
- package/skills/creator-analysis/references/api-tags/tiktok-analytics-api.md +179 -0
- package/skills/creator-analysis/references/api-tags/tiktok-app-v3-api.md +3264 -0
- package/skills/creator-analysis/references/api-tags/tiktok-creator-api.md +709 -0
- package/skills/creator-analysis/references/api-tags/tiktok-interaction-api.md +366 -0
- package/skills/creator-analysis/references/api-tags/tiktok-shop-web-api.md +663 -0
- package/skills/creator-analysis/references/api-tags/tiktok-web-api.md +2516 -0
- package/skills/creator-analysis/references/api-tags/toutiao-app-api.md +220 -0
- package/skills/creator-analysis/references/api-tags/toutiao-web-api.md +96 -0
- package/skills/creator-analysis/references/api-tags/twitter-web-api.md +562 -0
- package/skills/creator-analysis/references/api-tags/wechat-channels-api.md +405 -0
- package/skills/creator-analysis/references/api-tags/wechat-media-platform-web-api.md +431 -0
- package/skills/creator-analysis/references/api-tags/weibo-app-api.md +851 -0
- package/skills/creator-analysis/references/api-tags/weibo-web-api.md +470 -0
- package/skills/creator-analysis/references/api-tags/weibo-web-v2-api.md +1405 -0
- package/skills/creator-analysis/references/api-tags/xiaohongshu-app-api.md +534 -0
- package/skills/creator-analysis/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
- package/skills/creator-analysis/references/api-tags/xiaohongshu-web-api.md +757 -0
- package/skills/creator-analysis/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
- package/skills/creator-analysis/references/api-tags/xigua-app-v2-api.md +308 -0
- package/skills/creator-analysis/references/api-tags/youtube-web-api.md +934 -0
- package/skills/creator-analysis/references/api-tags/youtube-web-v2-api.md +717 -0
- package/skills/creator-analysis/references/api-tags/zhihu-web-api.md +1384 -0
- package/skills/creator-analysis/references/asr-orchestration.md +33 -0
- package/skills/creator-analysis/references/config-templates/defaults.yaml +60 -0
- package/skills/creator-analysis/references/contracts/creator-card-fields.md +23 -0
- package/skills/creator-analysis/references/contracts/work-card-fields.md +32 -0
- package/skills/creator-analysis/references/platform-guides/douyin.md +49 -0
- package/skills/creator-analysis/references/platform-guides/generic.md +46 -0
- package/skills/creator-analysis/references/platform-guides/xiaohongshu.md +54 -0
- package/skills/creator-analysis/references/prompt-contracts/asr-clean.md +28 -0
- package/skills/creator-analysis/references/prompt-contracts/author-analysis-v2.md +46 -0
- package/skills/creator-analysis/references/prompt-contracts/author-analysis.md +49 -0
- package/skills/creator-analysis/references/prompt-contracts/cta.md +24 -0
- package/skills/creator-analysis/references/prompt-contracts/hook.md +25 -0
- package/skills/creator-analysis/references/prompt-contracts/insight.md +47 -0
- package/skills/creator-analysis/references/prompt-contracts/sampled-work-batch-explanations.md +30 -0
- package/skills/creator-analysis/references/prompt-contracts/structure.md +25 -0
- package/skills/creator-analysis/references/prompt-contracts/style.md +27 -0
- package/skills/creator-analysis/references/prompt-contracts/summary.md +29 -0
- package/skills/creator-analysis/references/prompt-contracts/topic.md +29 -0
- package/skills/creator-analysis/references/schemas/author-analysis-input-v1.schema.json +325 -0
- package/skills/creator-analysis/references/schemas/author-analysis-v2.schema.json +158 -0
- package/skills/creator-analysis/references/schemas/sampled-work-batch-explanations.schema.json +41 -0
- package/skills/creator-analysis/references/service-guides/asr-u2-u3-fallback.md +75 -0
- package/skills/creator-analysis/references/workflow.md +18 -0
- package/skills/creator-analysis/scripts/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/adapters/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/adapters/platform_adapters.py +299 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/author_analysis_v2_support.py +1122 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/prompt_first_analyzers.py +260 -0
- package/skills/creator-analysis/scripts/author_home/analyzers/sampled_work_batch_explainer.py +260 -0
- package/skills/creator-analysis/scripts/author_home/asr/__init__.py +5 -0
- package/skills/creator-analysis/scripts/author_home/asr/home_asr.py +961 -0
- package/skills/creator-analysis/scripts/author_home/builders/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/builders/home_builders.py +149 -0
- package/skills/creator-analysis/scripts/author_home/collectors/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/collectors/homepage_collectors.py +636 -0
- package/skills/creator-analysis/scripts/author_home/orchestrator/__init__.py +0 -0
- package/skills/creator-analysis/scripts/author_home/orchestrator/run_author_analysis.py +491 -0
- package/skills/creator-analysis/scripts/author_home/orchestrator/work_analysis_artifacts.py +553 -0
- package/skills/creator-analysis/scripts/author_home/schema.py +417 -0
- package/skills/creator-analysis/scripts/core/__init__.py +0 -0
- package/skills/creator-analysis/scripts/core/analysis_pipeline.py +133 -0
- package/skills/creator-analysis/scripts/core/bootstrap_env.py +35 -0
- package/skills/creator-analysis/scripts/core/config_loader.py +418 -0
- package/skills/creator-analysis/scripts/core/extract_pipeline.py +173 -0
- package/skills/creator-analysis/scripts/core/progress_report.py +111 -0
- package/skills/creator-analysis/scripts/core/storage_router.py +253 -0
- package/skills/creator-analysis/scripts/core/tikomni_common.py +588 -0
- package/skills/creator-analysis/scripts/pipeline/__init__.py +0 -0
- package/skills/creator-analysis/scripts/pipeline/asr/__init__.py +0 -0
- package/skills/creator-analysis/scripts/pipeline/asr/asr_pipeline.py +1189 -0
- package/skills/creator-analysis/scripts/pipeline/asr/poll_u2_task.py +95 -0
- package/skills/creator-analysis/scripts/platform/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/douyin/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +224 -0
- package/skills/creator-analysis/scripts/platform/douyin/run_douyin_single_video.py +1208 -0
- package/skills/creator-analysis/scripts/platform/douyin/select_low_quality_video_url.py +200 -0
- package/skills/creator-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
- package/skills/creator-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +2128 -0
- package/skills/creator-analysis/scripts/writers/__init__.py +0 -0
- package/skills/creator-analysis/scripts/writers/write_author_homepage_samples.py +106 -0
- package/skills/creator-analysis/scripts/writers/write_benchmark_card.py +1402 -0
- package/skills/meta-capability/SKILL.md +69 -0
- package/skills/meta-capability/agents/openai.yaml +4 -0
- package/skills/meta-capability/env.example +42 -0
- package/skills/meta-capability/references/api-capability-index.md +92 -0
- package/skills/meta-capability/references/api-contracts/asr-api.md +130 -0
- package/skills/meta-capability/references/api-contracts/bilibili-app-api.md +776 -0
- package/skills/meta-capability/references/api-contracts/bilibili-web-api.md +2017 -0
- package/skills/meta-capability/references/api-contracts/demo-api.md +717 -0
- package/skills/meta-capability/references/api-contracts/douyin-app-v3-api.md +3594 -0
- package/skills/meta-capability/references/api-contracts/douyin-billboard-api.md +2274 -0
- package/skills/meta-capability/references/api-contracts/douyin-creator-api.md +1575 -0
- package/skills/meta-capability/references/api-contracts/douyin-creator-v2-api.md +3254 -0
- package/skills/meta-capability/references/api-contracts/douyin-search-api.md +4118 -0
- package/skills/meta-capability/references/api-contracts/douyin-web-api.md +5544 -0
- package/skills/meta-capability/references/api-contracts/douyin-xingtu-api.md +1916 -0
- package/skills/meta-capability/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
- package/skills/meta-capability/references/api-contracts/health-check.md +69 -0
- package/skills/meta-capability/references/api-contracts/hybrid-parsing.md +78 -0
- package/skills/meta-capability/references/api-contracts/instagram-v1-api.md +2256 -0
- package/skills/meta-capability/references/api-contracts/instagram-v2-api.md +2011 -0
- package/skills/meta-capability/references/api-contracts/instagram-v3-api.md +2630 -0
- package/skills/meta-capability/references/api-contracts/ios-shortcut.md +44 -0
- package/skills/meta-capability/references/api-contracts/kuaishou-app-api.md +1518 -0
- package/skills/meta-capability/references/api-contracts/kuaishou-web-api.md +1242 -0
- package/skills/meta-capability/references/api-contracts/lemon8-app-api.md +1088 -0
- package/skills/meta-capability/references/api-contracts/linkedin-web-api.md +1949 -0
- package/skills/meta-capability/references/api-contracts/media-ingest-api.md +126 -0
- package/skills/meta-capability/references/api-contracts/pipixia-app-api.md +1142 -0
- package/skills/meta-capability/references/api-contracts/reddit-app-api.md +2025 -0
- package/skills/meta-capability/references/api-contracts/sora2-api.md +2266 -0
- package/skills/meta-capability/references/api-contracts/temp-mail-api.md +208 -0
- package/skills/meta-capability/references/api-contracts/threads-web-api.md +897 -0
- package/skills/meta-capability/references/api-contracts/tikhub-downloader-api.md +134 -0
- package/skills/meta-capability/references/api-contracts/tikhub-user-api.md +494 -0
- package/skills/meta-capability/references/api-contracts/tiktok-ads-api.md +5947 -0
- package/skills/meta-capability/references/api-contracts/tiktok-analytics-api.md +968 -0
- package/skills/meta-capability/references/api-contracts/tiktok-app-v3-api.md +5735 -0
- package/skills/meta-capability/references/api-contracts/tiktok-creator-api.md +1951 -0
- package/skills/meta-capability/references/api-contracts/tiktok-interaction-api.md +742 -0
- package/skills/meta-capability/references/api-contracts/tiktok-shop-web-api.md +1890 -0
- package/skills/meta-capability/references/api-contracts/tiktok-web-api.md +4448 -0
- package/skills/meta-capability/references/api-contracts/toutiao-app-api.md +342 -0
- package/skills/meta-capability/references/api-contracts/toutiao-web-api.md +143 -0
- package/skills/meta-capability/references/api-contracts/twitter-web-api.md +989 -0
- package/skills/meta-capability/references/api-contracts/wechat-channels-api.md +809 -0
- package/skills/meta-capability/references/api-contracts/wechat-media-platform-web-api.md +677 -0
- package/skills/meta-capability/references/api-contracts/weibo-app-api.md +1547 -0
- package/skills/meta-capability/references/api-contracts/weibo-web-api.md +798 -0
- package/skills/meta-capability/references/api-contracts/weibo-web-v2-api.md +2459 -0
- package/skills/meta-capability/references/api-contracts/xiaohongshu-app-api.md +1291 -0
- package/skills/meta-capability/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
- package/skills/meta-capability/references/api-contracts/xiaohongshu-web-api.md +1324 -0
- package/skills/meta-capability/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
- package/skills/meta-capability/references/api-contracts/xigua-app-v2-api.md +489 -0
- package/skills/meta-capability/references/api-contracts/youtube-web-api.md +2636 -0
- package/skills/meta-capability/references/api-contracts/youtube-web-v2-api.md +2660 -0
- package/skills/meta-capability/references/api-contracts/zhihu-web-api.md +2315 -0
- package/skills/meta-capability/references/api-tags/asr-api.md +100 -0
- package/skills/meta-capability/references/api-tags/bilibili-app-api.md +482 -0
- package/skills/meta-capability/references/api-tags/bilibili-web-api.md +1267 -0
- package/skills/meta-capability/references/api-tags/demo-api.md +365 -0
- package/skills/meta-capability/references/api-tags/douyin-app-v3-api.md +2012 -0
- package/skills/meta-capability/references/api-tags/douyin-billboard-api.md +1428 -0
- package/skills/meta-capability/references/api-tags/douyin-creator-api.md +694 -0
- package/skills/meta-capability/references/api-tags/douyin-creator-v2-api.md +694 -0
- package/skills/meta-capability/references/api-tags/douyin-search-api.md +1059 -0
- package/skills/meta-capability/references/api-tags/douyin-web-api.md +3314 -0
- package/skills/meta-capability/references/api-tags/douyin-xingtu-api.md +935 -0
- package/skills/meta-capability/references/api-tags/douyin-xingtu-v2-api.md +925 -0
- package/skills/meta-capability/references/api-tags/health-check.md +40 -0
- package/skills/meta-capability/references/api-tags/hybrid-parsing.md +57 -0
- package/skills/meta-capability/references/api-tags/instagram-v1-api.md +1224 -0
- package/skills/meta-capability/references/api-tags/instagram-v2-api.md +1147 -0
- package/skills/meta-capability/references/api-tags/instagram-v3-api.md +1123 -0
- package/skills/meta-capability/references/api-tags/ios-shortcut.md +45 -0
- package/skills/meta-capability/references/api-tags/kuaishou-app-api.md +846 -0
- package/skills/meta-capability/references/api-tags/kuaishou-web-api.md +551 -0
- package/skills/meta-capability/references/api-tags/lemon8-app-api.md +687 -0
- package/skills/meta-capability/references/api-tags/linkedin-web-api.md +1105 -0
- package/skills/meta-capability/references/api-tags/media-ingest-api.md +112 -0
- package/skills/meta-capability/references/api-tags/pipixia-app-api.md +721 -0
- package/skills/meta-capability/references/api-tags/reddit-app-api.md +1057 -0
- package/skills/meta-capability/references/api-tags/sora2-api.md +737 -0
- package/skills/meta-capability/references/api-tags/temp-mail-api.md +136 -0
- package/skills/meta-capability/references/api-tags/threads-web-api.md +472 -0
- package/skills/meta-capability/references/api-tags/tikhub-downloader-api.md +65 -0
- package/skills/meta-capability/references/api-tags/tikhub-user-api.md +253 -0
- package/skills/meta-capability/references/api-tags/tiktok-ads-api.md +1393 -0
- package/skills/meta-capability/references/api-tags/tiktok-analytics-api.md +179 -0
- package/skills/meta-capability/references/api-tags/tiktok-app-v3-api.md +3264 -0
- package/skills/meta-capability/references/api-tags/tiktok-creator-api.md +709 -0
- package/skills/meta-capability/references/api-tags/tiktok-interaction-api.md +366 -0
- package/skills/meta-capability/references/api-tags/tiktok-shop-web-api.md +663 -0
- package/skills/meta-capability/references/api-tags/tiktok-web-api.md +2516 -0
- package/skills/meta-capability/references/api-tags/toutiao-app-api.md +220 -0
- package/skills/meta-capability/references/api-tags/toutiao-web-api.md +96 -0
- package/skills/meta-capability/references/api-tags/twitter-web-api.md +562 -0
- package/skills/meta-capability/references/api-tags/wechat-channels-api.md +405 -0
- package/skills/meta-capability/references/api-tags/wechat-media-platform-web-api.md +431 -0
- package/skills/meta-capability/references/api-tags/weibo-app-api.md +851 -0
- package/skills/meta-capability/references/api-tags/weibo-web-api.md +470 -0
- package/skills/meta-capability/references/api-tags/weibo-web-v2-api.md +1405 -0
- package/skills/meta-capability/references/api-tags/xiaohongshu-app-api.md +534 -0
- package/skills/meta-capability/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
- package/skills/meta-capability/references/api-tags/xiaohongshu-web-api.md +757 -0
- package/skills/meta-capability/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
- package/skills/meta-capability/references/api-tags/xigua-app-v2-api.md +308 -0
- package/skills/meta-capability/references/api-tags/youtube-web-api.md +934 -0
- package/skills/meta-capability/references/api-tags/youtube-web-v2-api.md +717 -0
- package/skills/meta-capability/references/api-tags/zhihu-web-api.md +1384 -0
- package/skills/meta-capability/references/config-templates/defaults.yaml +18 -0
- package/skills/meta-capability/references/dispatch.md +27 -0
- package/skills/meta-capability/references/execution-guidelines.md +25 -0
- package/skills/meta-capability/references/implemented-route-map.md +177 -0
- package/skills/meta-capability/references/service-guides/asr-u2-u3-fallback.md +75 -0
- package/skills/meta-capability/scripts/__init__.py +1 -0
- package/skills/meta-capability/scripts/call_route.py +141 -0
- package/skills/meta-capability/scripts/core/__init__.py +1 -0
- package/skills/meta-capability/scripts/core/bootstrap_env.py +32 -0
- package/skills/meta-capability/scripts/core/config_loader.py +204 -0
- package/skills/meta-capability/scripts/core/tikomni_common.py +443 -0
- package/skills/meta-capability/scripts/test_auth.py +98 -0
- package/skills/single-work-analysis/SKILL.md +62 -0
- package/skills/single-work-analysis/agents/openai.yaml +4 -0
- package/skills/single-work-analysis/env.example +36 -0
- package/skills/single-work-analysis/references/api-capability-index.md +92 -0
- package/skills/single-work-analysis/references/api-contracts/asr-api.md +130 -0
- package/skills/single-work-analysis/references/api-contracts/bilibili-app-api.md +776 -0
- package/skills/single-work-analysis/references/api-contracts/bilibili-web-api.md +2017 -0
- package/skills/single-work-analysis/references/api-contracts/demo-api.md +717 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-app-v3-api.md +3594 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-billboard-api.md +2274 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-creator-api.md +1575 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-creator-v2-api.md +3254 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-search-api.md +4118 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-web-api.md +5544 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-api.md +1916 -0
- package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
- package/skills/single-work-analysis/references/api-contracts/health-check.md +69 -0
- package/skills/single-work-analysis/references/api-contracts/hybrid-parsing.md +78 -0
- package/skills/single-work-analysis/references/api-contracts/instagram-v1-api.md +2256 -0
- package/skills/single-work-analysis/references/api-contracts/instagram-v2-api.md +2011 -0
- package/skills/single-work-analysis/references/api-contracts/instagram-v3-api.md +2630 -0
- package/skills/single-work-analysis/references/api-contracts/ios-shortcut.md +44 -0
- package/skills/single-work-analysis/references/api-contracts/kuaishou-app-api.md +1518 -0
- package/skills/single-work-analysis/references/api-contracts/kuaishou-web-api.md +1242 -0
- package/skills/single-work-analysis/references/api-contracts/lemon8-app-api.md +1088 -0
- package/skills/single-work-analysis/references/api-contracts/linkedin-web-api.md +1949 -0
- package/skills/single-work-analysis/references/api-contracts/media-ingest-api.md +126 -0
- package/skills/single-work-analysis/references/api-contracts/pipixia-app-api.md +1142 -0
- package/skills/single-work-analysis/references/api-contracts/reddit-app-api.md +2025 -0
- package/skills/single-work-analysis/references/api-contracts/sora2-api.md +2266 -0
- package/skills/single-work-analysis/references/api-contracts/temp-mail-api.md +208 -0
- package/skills/single-work-analysis/references/api-contracts/threads-web-api.md +897 -0
- package/skills/single-work-analysis/references/api-contracts/tikhub-downloader-api.md +134 -0
- package/skills/single-work-analysis/references/api-contracts/tikhub-user-api.md +494 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-ads-api.md +5947 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-analytics-api.md +968 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-app-v3-api.md +5735 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-creator-api.md +1951 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-interaction-api.md +742 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-shop-web-api.md +1890 -0
- package/skills/single-work-analysis/references/api-contracts/tiktok-web-api.md +4448 -0
- package/skills/single-work-analysis/references/api-contracts/toutiao-app-api.md +342 -0
- package/skills/single-work-analysis/references/api-contracts/toutiao-web-api.md +143 -0
- package/skills/single-work-analysis/references/api-contracts/twitter-web-api.md +989 -0
- package/skills/single-work-analysis/references/api-contracts/wechat-channels-api.md +809 -0
- package/skills/single-work-analysis/references/api-contracts/wechat-media-platform-web-api.md +677 -0
- package/skills/single-work-analysis/references/api-contracts/weibo-app-api.md +1547 -0
- package/skills/single-work-analysis/references/api-contracts/weibo-web-api.md +798 -0
- package/skills/single-work-analysis/references/api-contracts/weibo-web-v2-api.md +2459 -0
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-api.md +1291 -0
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-api.md +1324 -0
- package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
- package/skills/single-work-analysis/references/api-contracts/xigua-app-v2-api.md +489 -0
- package/skills/single-work-analysis/references/api-contracts/youtube-web-api.md +2636 -0
- package/skills/single-work-analysis/references/api-contracts/youtube-web-v2-api.md +2660 -0
- package/skills/single-work-analysis/references/api-contracts/zhihu-web-api.md +2315 -0
- package/skills/single-work-analysis/references/api-tags/asr-api.md +100 -0
- package/skills/single-work-analysis/references/api-tags/bilibili-app-api.md +482 -0
- package/skills/single-work-analysis/references/api-tags/bilibili-web-api.md +1267 -0
- package/skills/single-work-analysis/references/api-tags/demo-api.md +365 -0
- package/skills/single-work-analysis/references/api-tags/douyin-app-v3-api.md +2012 -0
- package/skills/single-work-analysis/references/api-tags/douyin-billboard-api.md +1428 -0
- package/skills/single-work-analysis/references/api-tags/douyin-creator-api.md +694 -0
- package/skills/single-work-analysis/references/api-tags/douyin-creator-v2-api.md +694 -0
- package/skills/single-work-analysis/references/api-tags/douyin-search-api.md +1059 -0
- package/skills/single-work-analysis/references/api-tags/douyin-web-api.md +3314 -0
- package/skills/single-work-analysis/references/api-tags/douyin-xingtu-api.md +935 -0
- package/skills/single-work-analysis/references/api-tags/douyin-xingtu-v2-api.md +925 -0
- package/skills/single-work-analysis/references/api-tags/health-check.md +40 -0
- package/skills/single-work-analysis/references/api-tags/hybrid-parsing.md +57 -0
- package/skills/single-work-analysis/references/api-tags/instagram-v1-api.md +1224 -0
- package/skills/single-work-analysis/references/api-tags/instagram-v2-api.md +1147 -0
- package/skills/single-work-analysis/references/api-tags/instagram-v3-api.md +1123 -0
- package/skills/single-work-analysis/references/api-tags/ios-shortcut.md +45 -0
- package/skills/single-work-analysis/references/api-tags/kuaishou-app-api.md +846 -0
- package/skills/single-work-analysis/references/api-tags/kuaishou-web-api.md +551 -0
- package/skills/single-work-analysis/references/api-tags/lemon8-app-api.md +687 -0
- package/skills/single-work-analysis/references/api-tags/linkedin-web-api.md +1105 -0
- package/skills/single-work-analysis/references/api-tags/media-ingest-api.md +112 -0
- package/skills/single-work-analysis/references/api-tags/pipixia-app-api.md +721 -0
- package/skills/single-work-analysis/references/api-tags/reddit-app-api.md +1057 -0
- package/skills/single-work-analysis/references/api-tags/sora2-api.md +737 -0
- package/skills/single-work-analysis/references/api-tags/temp-mail-api.md +136 -0
- package/skills/single-work-analysis/references/api-tags/threads-web-api.md +472 -0
- package/skills/single-work-analysis/references/api-tags/tikhub-downloader-api.md +65 -0
- package/skills/single-work-analysis/references/api-tags/tikhub-user-api.md +253 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-ads-api.md +1393 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-analytics-api.md +179 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-app-v3-api.md +3264 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-creator-api.md +709 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-interaction-api.md +366 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-shop-web-api.md +663 -0
- package/skills/single-work-analysis/references/api-tags/tiktok-web-api.md +2516 -0
- package/skills/single-work-analysis/references/api-tags/toutiao-app-api.md +220 -0
- package/skills/single-work-analysis/references/api-tags/toutiao-web-api.md +96 -0
- package/skills/single-work-analysis/references/api-tags/twitter-web-api.md +562 -0
- package/skills/single-work-analysis/references/api-tags/wechat-channels-api.md +405 -0
- package/skills/single-work-analysis/references/api-tags/wechat-media-platform-web-api.md +431 -0
- package/skills/single-work-analysis/references/api-tags/weibo-app-api.md +851 -0
- package/skills/single-work-analysis/references/api-tags/weibo-web-api.md +470 -0
- package/skills/single-work-analysis/references/api-tags/weibo-web-v2-api.md +1405 -0
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-api.md +534 -0
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-api.md +757 -0
- package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
- package/skills/single-work-analysis/references/api-tags/xigua-app-v2-api.md +308 -0
- package/skills/single-work-analysis/references/api-tags/youtube-web-api.md +934 -0
- package/skills/single-work-analysis/references/api-tags/youtube-web-v2-api.md +717 -0
- package/skills/single-work-analysis/references/api-tags/zhihu-web-api.md +1384 -0
- package/skills/single-work-analysis/references/asr-and-fallback.md +20 -0
- package/skills/single-work-analysis/references/config-templates/defaults.yaml +58 -0
- package/skills/single-work-analysis/references/contracts/work-card-fields.md +41 -0
- package/skills/single-work-analysis/references/platform-guides/douyin.md +47 -0
- package/skills/single-work-analysis/references/platform-guides/generic.md +43 -0
- package/skills/single-work-analysis/references/platform-guides/xiaohongshu.md +54 -0
- package/skills/single-work-analysis/references/prompt-contracts/asr-clean.md +28 -0
- package/skills/single-work-analysis/references/prompt-contracts/cta.md +24 -0
- package/skills/single-work-analysis/references/prompt-contracts/hook.md +25 -0
- package/skills/single-work-analysis/references/prompt-contracts/insight.md +47 -0
- package/skills/single-work-analysis/references/prompt-contracts/structure.md +25 -0
- package/skills/single-work-analysis/references/prompt-contracts/style.md +27 -0
- package/skills/single-work-analysis/references/prompt-contracts/summary.md +29 -0
- package/skills/single-work-analysis/references/prompt-contracts/topic.md +29 -0
- package/skills/single-work-analysis/references/schemas/work-card.schema.json +39 -0
- package/skills/single-work-analysis/references/service-guides/asr-u2-u3-fallback.md +75 -0
- package/skills/single-work-analysis/scripts/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/core/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/core/analysis_pipeline.py +133 -0
- package/skills/single-work-analysis/scripts/core/bootstrap_env.py +35 -0
- package/skills/single-work-analysis/scripts/core/config_loader.py +418 -0
- package/skills/single-work-analysis/scripts/core/extract_pipeline.py +173 -0
- package/skills/single-work-analysis/scripts/core/progress_report.py +111 -0
- package/skills/single-work-analysis/scripts/core/storage_router.py +253 -0
- package/skills/single-work-analysis/scripts/core/tikomni_common.py +588 -0
- package/skills/single-work-analysis/scripts/pipeline/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/pipeline/asr/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/pipeline/asr/asr_pipeline.py +1189 -0
- package/skills/single-work-analysis/scripts/pipeline/asr/poll_u2_task.py +95 -0
- package/skills/single-work-analysis/scripts/platform/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/platform/douyin/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +224 -0
- package/skills/single-work-analysis/scripts/platform/douyin/run_douyin_single_video.py +1233 -0
- package/skills/single-work-analysis/scripts/platform/douyin/select_low_quality_video_url.py +200 -0
- package/skills/single-work-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +2156 -0
- package/skills/single-work-analysis/scripts/writers/__init__.py +0 -0
- package/skills/single-work-analysis/scripts/writers/write_benchmark_card.py +1402 -0
|
@@ -0,0 +1,4118 @@
|
|
|
1
|
+
# Douyin-Search-API Full Contract
|
|
2
|
+
|
|
3
|
+
- Back to index: [`api-capability-index.md`](../api-capability-index.md)
|
|
4
|
+
- Back to route summary: [`api-tags/douyin-search-api.md`](../api-tags/douyin-search-api.md)
|
|
5
|
+
- Current contract file: `api-contracts/douyin-search-api.md`
|
|
6
|
+
- Source: `https://app.tikomni.com/openapi/tikomni-openapi.full.with-u2.public.latest.json`
|
|
7
|
+
- Fetched at: `2026-03-08T06:54:04+00:00`
|
|
8
|
+
- Route count: `20`
|
|
9
|
+
- Default auth: Header `Authorization` Bearer
|
|
10
|
+
- Read this file only when you need precise auth notes, parameter descriptions, defaults, examples, or success-response fields.
|
|
11
|
+
- Tag description: **(抖音搜索数据接口(当前最新版,请优先使用此目录下的接口而不是其他目录下的搜索接口)/Douyin-Search-API data endpoints (Current latest version, please use the interfaces in this directory first instead of the search interfaces in other directories))**
|
|
12
|
+
|
|
13
|
+
## Route Contracts
|
|
14
|
+
|
|
15
|
+
<a id="post-api-u1-v1-douyin-search-fetch-challenge-search-v1"></a>
|
|
16
|
+
### `POST /api/u1/v1/douyin/search/fetch_challenge_search_v1`
|
|
17
|
+
|
|
18
|
+
- Summary: 获取话题搜索 V1/Fetch hashtag search V1
|
|
19
|
+
- Capabilities: search / topics
|
|
20
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
21
|
+
- operationId: `fetch_challenge_search_v1_api_v1_douyin_search_fetch_challenge_search_v1_post`
|
|
22
|
+
|
|
23
|
+
#### Notes
|
|
24
|
+
|
|
25
|
+
> # [中文]
|
|
26
|
+
> ### 用途:
|
|
27
|
+
> - 获取抖音 App 中的话题(挑战/标签)搜索结果。
|
|
28
|
+
> - 根据关键词返回关联的话题列表,包含话题热度、封面、参与人数等信息。
|
|
29
|
+
>
|
|
30
|
+
> ### 备注:
|
|
31
|
+
> - 仅返回话题类型内容。
|
|
32
|
+
> - 初次请求时 `cursor` 传 0,`search_id` 传空字符串。
|
|
33
|
+
> - 翻页查询时使用上次响应返回的 `cursor` 和 `search_id`。
|
|
34
|
+
>
|
|
35
|
+
> ### 参数:
|
|
36
|
+
> - keyword: 搜索关键词,例如 "美食"
|
|
37
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
38
|
+
> - sort_type: 排序方式
|
|
39
|
+
> - `0`: 综合排序
|
|
40
|
+
> - `1`: 最多点赞
|
|
41
|
+
> - `2`: 最新发布
|
|
42
|
+
> - publish_time: 发布时间筛选
|
|
43
|
+
> - `0`: 不限
|
|
44
|
+
> - `1`: 最近一天
|
|
45
|
+
> - `7`: 最近一周
|
|
46
|
+
> - `180`: 最近半年
|
|
47
|
+
> - filter_duration: 视频时长筛选
|
|
48
|
+
> - `0`: 不限
|
|
49
|
+
> - `0-1`: 1 分钟以内
|
|
50
|
+
> - `1-5`: 1-5 分钟
|
|
51
|
+
> - `5-10000`: 5 分钟以上
|
|
52
|
+
> - content_type: 内容类型筛选
|
|
53
|
+
> - `0`: 不限
|
|
54
|
+
> - `1`: 视频
|
|
55
|
+
> - `2`: 图片
|
|
56
|
+
> - `3`: 文章
|
|
57
|
+
> - search_id: 搜索ID(分页时使用)
|
|
58
|
+
>
|
|
59
|
+
> ### 请求体示例:
|
|
60
|
+
> ```json
|
|
61
|
+
> payload = {
|
|
62
|
+
> "keyword": "美食",
|
|
63
|
+
> "cursor": 0,
|
|
64
|
+
> "sort_type": "0",
|
|
65
|
+
> "publish_time": "0",
|
|
66
|
+
> "filter_duration": "0",
|
|
67
|
+
> "content_type": "0",
|
|
68
|
+
> "search_id": ""
|
|
69
|
+
> }
|
|
70
|
+
> ```
|
|
71
|
+
>
|
|
72
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
73
|
+
> - `cursor`: 翻页游标(用于下次请求)
|
|
74
|
+
> - `has_more`: 是否还有更多数据(1=有,0=无)
|
|
75
|
+
> - `challenge_list[]`: 话题列表
|
|
76
|
+
> - `challenge_info`:
|
|
77
|
+
> - `cid`: 话题ID
|
|
78
|
+
> - `cha_name`: 话题名称(如 "#美食探店")
|
|
79
|
+
> - `desc`: 话题描述(通常为空)
|
|
80
|
+
> - `schema`: 抖音内部跳转链接(schema协议)
|
|
81
|
+
> - `share_info`:
|
|
82
|
+
> - `share_url`: 话题分享H5链接
|
|
83
|
+
> - `share_title`: 分享标题
|
|
84
|
+
> - `share_desc`: 分享描述
|
|
85
|
+
> - `view_count`: 话题总浏览量
|
|
86
|
+
> - `user_count`: 话题参与人数
|
|
87
|
+
> - `hashtag_profile`: 话题封面图URL
|
|
88
|
+
> - `challenge_status`: 话题状态(1=正常,0=异常)
|
|
89
|
+
> - `author`:
|
|
90
|
+
> - `uid`: 创建者用户ID
|
|
91
|
+
> - `nickname`: 创建者昵称
|
|
92
|
+
> - `follower_count`: 粉丝数量
|
|
93
|
+
> - `is_verified`: 是否认证
|
|
94
|
+
> - `region`: 地区
|
|
95
|
+
> - `avatar_thumb.url_list`: 小头像URL列表
|
|
96
|
+
> - `avatar_medium.url_list`: 中头像URL列表
|
|
97
|
+
> - `avatar_larger.url_list`: 高清头像URL列表
|
|
98
|
+
>
|
|
99
|
+
> - `extra`:
|
|
100
|
+
> - `now`: 当前服务器时间戳(毫秒)
|
|
101
|
+
> - `search_request_id`: 搜索请求唯一ID
|
|
102
|
+
>
|
|
103
|
+
> # [English]
|
|
104
|
+
> ### Purpose:
|
|
105
|
+
> - Fetch hashtag/challenge search results from Douyin App.
|
|
106
|
+
> - Returns related hashtag topics including name, view count, participants, and cover images.
|
|
107
|
+
>
|
|
108
|
+
> ### Notes:
|
|
109
|
+
> - Only hashtag type content is returned.
|
|
110
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
111
|
+
> - For pagination, use `cursor` and `search_id` from the last response.
|
|
112
|
+
>
|
|
113
|
+
> ### Parameters:
|
|
114
|
+
> - keyword: Search keyword, e.g., "food"
|
|
115
|
+
> - cursor: Pagination cursor (0 for first request)
|
|
116
|
+
> - sort_type: Sorting method
|
|
117
|
+
> - `0`: Comprehensive
|
|
118
|
+
> - `1`: Most likes
|
|
119
|
+
> - `2`: Latest
|
|
120
|
+
> - publish_time: Publish time filter
|
|
121
|
+
> - `0`: Unlimited
|
|
122
|
+
> - `1`: Last day
|
|
123
|
+
> - `7`: Last week
|
|
124
|
+
> - `180`: Last half year
|
|
125
|
+
> - filter_duration: Video duration filter
|
|
126
|
+
> - `0`: Unlimited
|
|
127
|
+
> - `0-1`: Under 1 minute
|
|
128
|
+
> - `1-5`: 1-5 minutes
|
|
129
|
+
> - `5-10000`: Over 5 minutes
|
|
130
|
+
> - content_type: Content type filter
|
|
131
|
+
> - `0`: Unlimited
|
|
132
|
+
> - `1`: Video
|
|
133
|
+
> - `2`: Image
|
|
134
|
+
> - `3`: Article
|
|
135
|
+
> - search_id: Search ID for pagination
|
|
136
|
+
>
|
|
137
|
+
> ### Request Body Example:
|
|
138
|
+
> ```json
|
|
139
|
+
> payload = {
|
|
140
|
+
> "keyword": "food",
|
|
141
|
+
> "cursor": 0,
|
|
142
|
+
> "sort_type": "0",
|
|
143
|
+
> "publish_time": "0",
|
|
144
|
+
> "filter_duration": "0",
|
|
145
|
+
> "content_type": "0",
|
|
146
|
+
> "search_id": ""
|
|
147
|
+
> }
|
|
148
|
+
> ```
|
|
149
|
+
>
|
|
150
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
151
|
+
> - `cursor`: Cursor for next page
|
|
152
|
+
> - `has_more`: Whether more results are available (1=Yes, 0=No)
|
|
153
|
+
> - `challenge_list[]`: List of hashtags
|
|
154
|
+
> - `challenge_info`:
|
|
155
|
+
> - `cid`: Challenge ID
|
|
156
|
+
> - `cha_name`: Challenge name (e.g., "#FoodHunt")
|
|
157
|
+
> - `desc`: Challenge description
|
|
158
|
+
> - `schema`: Deep link for Douyin App
|
|
159
|
+
> - `share_info`:
|
|
160
|
+
> - `share_url`: H5 shareable link
|
|
161
|
+
> - `share_title`: Share title
|
|
162
|
+
> - `share_desc`: Share description
|
|
163
|
+
> - `view_count`: Total view count
|
|
164
|
+
> - `user_count`: Total participant count
|
|
165
|
+
> - `hashtag_profile`: Cover image URL
|
|
166
|
+
> - `challenge_status`: Challenge status (1=Normal, 0=Abnormal)
|
|
167
|
+
> - `author`:
|
|
168
|
+
> - `uid`: Author's user ID
|
|
169
|
+
> - `nickname`: Author's nickname
|
|
170
|
+
> - `follower_count`: Follower count
|
|
171
|
+
> - `is_verified`: Verified status
|
|
172
|
+
> - `region`: Region
|
|
173
|
+
> - `avatar_thumb.url_list`: Thumbnail avatar URLs
|
|
174
|
+
> - `avatar_medium.url_list`: Medium avatar URLs
|
|
175
|
+
> - `avatar_larger.url_list`: Large avatar URLs
|
|
176
|
+
>
|
|
177
|
+
> - `extra`:
|
|
178
|
+
> - `now`: Server timestamp
|
|
179
|
+
> - `search_request_id`: Unique search session ID
|
|
180
|
+
|
|
181
|
+
#### Parameters
|
|
182
|
+
|
|
183
|
+
None
|
|
184
|
+
|
|
185
|
+
#### Request Body
|
|
186
|
+
|
|
187
|
+
- required: Yes
|
|
188
|
+
|
|
189
|
+
##### `application/json`
|
|
190
|
+
|
|
191
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
192
|
+
|
|
193
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
194
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
195
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
196
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
197
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
198
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
199
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
200
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
201
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
202
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
203
|
+
|
|
204
|
+
#### Success Response
|
|
205
|
+
|
|
206
|
+
##### `200 application/json`
|
|
207
|
+
|
|
208
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
209
|
+
|
|
210
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
211
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
212
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
213
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
214
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
215
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
216
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
217
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
218
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
219
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
220
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
221
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
222
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
223
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
224
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
225
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
226
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
227
|
+
|
|
228
|
+
<a id="post-api-u1-v1-douyin-search-fetch-challenge-search-v2"></a>
|
|
229
|
+
### `POST /api/u1/v1/douyin/search/fetch_challenge_search_v2`
|
|
230
|
+
|
|
231
|
+
- Summary: 获取话题搜索 V2/Fetch hashtag search V2
|
|
232
|
+
- Capabilities: search / topics
|
|
233
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
234
|
+
- operationId: `fetch_challenge_search_v2_api_v1_douyin_search_fetch_challenge_search_v2_post`
|
|
235
|
+
|
|
236
|
+
#### Notes
|
|
237
|
+
|
|
238
|
+
> # [中文]
|
|
239
|
+
> ### 用途:
|
|
240
|
+
> - 获取抖音 App 中话题(挑战/标签)搜索的结果,使用 V2 版本 API。
|
|
241
|
+
> - 支持关键词搜索,返回匹配的话题详情,包括话题名称、话题封面、浏览量、参与人数等。
|
|
242
|
+
>
|
|
243
|
+
> ### 备注:
|
|
244
|
+
> - 本接口专注于搜索话题(Challenge/Hashtag)内容,不包含视频或直播等其他类型。
|
|
245
|
+
> - 初次请求时 `cursor` 传入 0,`search_id` 传空字符串,后续翻页请使用上一次返回的 `cursor` 和 `search_id`。
|
|
246
|
+
>
|
|
247
|
+
> ### 参数:
|
|
248
|
+
> - keyword: 搜索关键词,如 "游戏"
|
|
249
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
250
|
+
> - sort_type: 排序方式
|
|
251
|
+
> - `0`: 综合排序
|
|
252
|
+
> - `1`: 最多点赞
|
|
253
|
+
> - `2`: 最新发布
|
|
254
|
+
> - publish_time: 发布时间筛选
|
|
255
|
+
> - `0`: 不限
|
|
256
|
+
> - `1`: 最近一天
|
|
257
|
+
> - `7`: 最近一周
|
|
258
|
+
> - `180`: 最近半年
|
|
259
|
+
> - filter_duration: 视频时长筛选
|
|
260
|
+
> - `0`: 不限
|
|
261
|
+
> - `0-1`: 1 分钟以内
|
|
262
|
+
> - `1-5`: 1-5 分钟
|
|
263
|
+
> - `5-10000`: 5 分钟以上
|
|
264
|
+
> - content_type: 内容类型筛选
|
|
265
|
+
> - `0`: 不限
|
|
266
|
+
> - `1`: 视频
|
|
267
|
+
> - `2`: 图片
|
|
268
|
+
> - `3`: 文章
|
|
269
|
+
> - search_id: 搜索ID(分页时使用)
|
|
270
|
+
>
|
|
271
|
+
> ### 请求体示例:
|
|
272
|
+
> ```json
|
|
273
|
+
> payload = {
|
|
274
|
+
> "keyword": "游戏",
|
|
275
|
+
> "cursor": 0,
|
|
276
|
+
> "sort_type": "0",
|
|
277
|
+
> "publish_time": "0",
|
|
278
|
+
> "filter_duration": "0",
|
|
279
|
+
> "content_type": "0",
|
|
280
|
+
> "search_id": ""
|
|
281
|
+
> }
|
|
282
|
+
> ```
|
|
283
|
+
>
|
|
284
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
285
|
+
> - `business_data`(话题搜索结果列表)
|
|
286
|
+
> - `data_id`: 结果的唯一编号
|
|
287
|
+
> - `type`: 数据类型(固定为 `2`)
|
|
288
|
+
> - `data.challenge_info`:
|
|
289
|
+
> - `cid`: 话题ID
|
|
290
|
+
> - `cha_name`: 话题名称
|
|
291
|
+
> - `desc`: 话题描述
|
|
292
|
+
> - `schema`: 话题跳转链接(aweme://开头,可跳转抖音 App 内话题详情)
|
|
293
|
+
> - `hashtag_profile`: 话题封面图 URL
|
|
294
|
+
> - `user_count`: 参与人数
|
|
295
|
+
> - `view_count`: 话题浏览量
|
|
296
|
+
> - `challenge_status`: 话题状态(1=正常,其他=异常)
|
|
297
|
+
> - `author`: 创建者信息
|
|
298
|
+
> - `uid`: 创建者抖音用户ID
|
|
299
|
+
> - `nickname`: 昵称
|
|
300
|
+
> - `avatar_thumb.url_list`: 缩略头像URL列表
|
|
301
|
+
> - `is_verified`: 是否认证
|
|
302
|
+
> - `follower_count`: 粉丝数
|
|
303
|
+
> - `share_info`:
|
|
304
|
+
> - `share_url`: 话题分享链接
|
|
305
|
+
> - `share_title`: 分享标题
|
|
306
|
+
> - `share_desc`: 分享描述
|
|
307
|
+
>
|
|
308
|
+
> # [English]
|
|
309
|
+
> ### Purpose:
|
|
310
|
+
> - Fetch hashtag/challenge search results from Douyin App using V2 API.
|
|
311
|
+
> - Supports searching by keyword and returns detailed challenge information, including name, cover image, view count, and participant count.
|
|
312
|
+
>
|
|
313
|
+
> ### Notes:
|
|
314
|
+
> - This API focuses on searching challenges (hashtags), not including videos or live streams.
|
|
315
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request. For pagination, use the cursor and search_id from the last response.
|
|
316
|
+
>
|
|
317
|
+
> ### Parameters:
|
|
318
|
+
> - keyword: Search keyword, e.g., "game"
|
|
319
|
+
> - cursor: Pagination cursor (0 for first request)
|
|
320
|
+
> - sort_type: Sorting method
|
|
321
|
+
> - `0`: Comprehensive
|
|
322
|
+
> - `1`: Most likes
|
|
323
|
+
> - `2`: Latest
|
|
324
|
+
> - publish_time: Publish time filter
|
|
325
|
+
> - `0`: Unlimited
|
|
326
|
+
> - `1`: Last day
|
|
327
|
+
> - `7`: Last week
|
|
328
|
+
> - `180`: Last half year
|
|
329
|
+
> - filter_duration: Video duration filter
|
|
330
|
+
> - `0`: Unlimited
|
|
331
|
+
> - `0-1`: Under 1 minute
|
|
332
|
+
> - `1-5`: 1-5 minutes
|
|
333
|
+
> - `5-10000`: Over 5 minutes
|
|
334
|
+
> - content_type: Content type filter
|
|
335
|
+
> - `0`: Unlimited
|
|
336
|
+
> - `1`: Video
|
|
337
|
+
> - `2`: Image
|
|
338
|
+
> - `3`: Article
|
|
339
|
+
> - search_id: Search ID for pagination
|
|
340
|
+
>
|
|
341
|
+
> ### Request Body Example:
|
|
342
|
+
> ```json
|
|
343
|
+
> payload = {
|
|
344
|
+
> "keyword": "game",
|
|
345
|
+
> "cursor": 0,
|
|
346
|
+
> "sort_type": "0",
|
|
347
|
+
> "publish_time": "0",
|
|
348
|
+
> "filter_duration": "0",
|
|
349
|
+
> "content_type": "0",
|
|
350
|
+
> "search_id": ""
|
|
351
|
+
> }
|
|
352
|
+
> ```
|
|
353
|
+
>
|
|
354
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
355
|
+
> - `business_data` (list of hashtag search results)
|
|
356
|
+
> - `data_id`: Unique identifier for the result
|
|
357
|
+
> - `type`: Data type (fixed `2`)
|
|
358
|
+
> - `data.challenge_info`:
|
|
359
|
+
> - `cid`: Challenge ID
|
|
360
|
+
> - `cha_name`: Challenge name
|
|
361
|
+
> - `desc`: Challenge description
|
|
362
|
+
> - `schema`: Challenge detail schema link (aweme:// schema, used to deep link inside Douyin App)
|
|
363
|
+
> - `hashtag_profile`: URL of the hashtag cover image
|
|
364
|
+
> - `user_count`: Number of participants
|
|
365
|
+
> - `view_count`: Number of views
|
|
366
|
+
> - `challenge_status`: Status (1 = active, others = abnormal)
|
|
367
|
+
> - `author`: Creator info
|
|
368
|
+
> - `uid`: User ID
|
|
369
|
+
> - `nickname`: Nickname
|
|
370
|
+
> - `avatar_thumb.url_list`: Thumbnail avatar URLs
|
|
371
|
+
> - `is_verified`: Whether the creator is verified
|
|
372
|
+
> - `follower_count`: Number of followers
|
|
373
|
+
> - `share_info`:
|
|
374
|
+
> - `share_url`: Shareable URL
|
|
375
|
+
> - `share_title`: Title for sharing
|
|
376
|
+
> - `share_desc`: Description for sharing
|
|
377
|
+
|
|
378
|
+
#### Parameters
|
|
379
|
+
|
|
380
|
+
None
|
|
381
|
+
|
|
382
|
+
#### Request Body
|
|
383
|
+
|
|
384
|
+
- required: Yes
|
|
385
|
+
|
|
386
|
+
##### `application/json`
|
|
387
|
+
|
|
388
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
389
|
+
|
|
390
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
391
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
392
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
393
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
394
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
395
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
396
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
397
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
398
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
399
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
400
|
+
|
|
401
|
+
#### Success Response
|
|
402
|
+
|
|
403
|
+
##### `200 application/json`
|
|
404
|
+
|
|
405
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
406
|
+
|
|
407
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
408
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
409
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
410
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
411
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
412
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
413
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
414
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
415
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
416
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
417
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
418
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
419
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
420
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
421
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
422
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
423
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
424
|
+
|
|
425
|
+
<a id="post-api-u1-v1-douyin-search-fetch-challenge-suggest"></a>
|
|
426
|
+
### `POST /api/u1/v1/douyin/search/fetch_challenge_suggest`
|
|
427
|
+
|
|
428
|
+
- Summary: 获取话题推荐搜索/Fetch hashtag suggestions
|
|
429
|
+
- Capabilities: search / topics
|
|
430
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
431
|
+
- operationId: `fetch_challenge_suggest_api_v1_douyin_search_fetch_challenge_suggest_post`
|
|
432
|
+
|
|
433
|
+
#### Notes
|
|
434
|
+
|
|
435
|
+
> # [中文]
|
|
436
|
+
> ### 用途:
|
|
437
|
+
> - 获取抖音 App 中话题(挑战/标签)的推荐搜索结果。
|
|
438
|
+
> - 根据输入的关键词,返回相关的话题建议列表,包含话题名称、浏览量等信息。
|
|
439
|
+
>
|
|
440
|
+
> ### 备注:
|
|
441
|
+
> - 本接口可用于话题联想推荐场景,如输入关键词实时展示相关热门话题。
|
|
442
|
+
> - 初次请求时 `cursor` 传入 0,`search_id` 传空字符串。
|
|
443
|
+
>
|
|
444
|
+
> ### 参数:
|
|
445
|
+
> - keyword: 搜索关键词,如 "游戏"
|
|
446
|
+
>
|
|
447
|
+
> ### 请求体示例:
|
|
448
|
+
> ```json
|
|
449
|
+
> payload = {
|
|
450
|
+
> "keyword": "游戏"
|
|
451
|
+
> }
|
|
452
|
+
> ```
|
|
453
|
+
>
|
|
454
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
455
|
+
> - `sug_list[]`: 推荐话题列表
|
|
456
|
+
> - `cha_name`: 话题名称(如 "#游戏")
|
|
457
|
+
> - `view_count`: 话题总浏览量
|
|
458
|
+
> - `cid`: 话题ID
|
|
459
|
+
> - `group_id`: 话题关联的群组ID(可以用于跳转)
|
|
460
|
+
> - `tag`: 话题标签分类(0=普通话题,1=流量风向标)
|
|
461
|
+
> - `status_code`: 状态码(0=成功)
|
|
462
|
+
> - `status_msg`: 状态信息(通常为空)
|
|
463
|
+
> - `rid`: 请求ID
|
|
464
|
+
> - `words_query_record`:
|
|
465
|
+
> - `info`: 额外信息(目前为空)
|
|
466
|
+
> - `words_source`: 关键词来源(固定"sug")
|
|
467
|
+
> - `query_id`: 查询ID(通常为空)
|
|
468
|
+
> - `extra`:
|
|
469
|
+
> - `now`: 当前服务器时间戳
|
|
470
|
+
> - `logid`: 日志ID
|
|
471
|
+
> - `fatal_item_ids`: 错误项目ID列表(通常为空)
|
|
472
|
+
> - `search_request_id`: 搜索请求ID(通常为空)
|
|
473
|
+
> - `log_pb`:
|
|
474
|
+
> - `impr_id`: 曝光ID(日志追踪用)
|
|
475
|
+
>
|
|
476
|
+
> # [English]
|
|
477
|
+
> ### Purpose:
|
|
478
|
+
> - Fetch hashtag/challenge suggestions from Douyin App based on the input keyword.
|
|
479
|
+
> - Returns a list of related hashtags including name and view count.
|
|
480
|
+
>
|
|
481
|
+
> ### Notes:
|
|
482
|
+
> - Suitable for implementing keyword suggestion features in search bars.
|
|
483
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
484
|
+
>
|
|
485
|
+
> ### Parameters:
|
|
486
|
+
> - keyword: Search keyword, e.g., "game"
|
|
487
|
+
>
|
|
488
|
+
> ### Request Body Example:
|
|
489
|
+
> ```json
|
|
490
|
+
> payload = {
|
|
491
|
+
> "keyword": "game"
|
|
492
|
+
> }
|
|
493
|
+
> ```
|
|
494
|
+
>
|
|
495
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
496
|
+
> - `sug_list[]`: List of suggested hashtags
|
|
497
|
+
> - `cha_name`: Hashtag name (e.g., "#game")
|
|
498
|
+
> - `view_count`: Total view count
|
|
499
|
+
> - `cid`: Challenge ID
|
|
500
|
+
> - `group_id`: Associated group ID
|
|
501
|
+
> - `tag`: Tag category (0=normal, 1=hot trend)
|
|
502
|
+
> - `status_code`: Status code (0=success)
|
|
503
|
+
> - `status_msg`: Status message (usually empty)
|
|
504
|
+
> - `rid`: Request ID
|
|
505
|
+
> - `words_query_record`:
|
|
506
|
+
> - `info`: Additional info (currently empty)
|
|
507
|
+
> - `words_source`: Words source ("sug")
|
|
508
|
+
> - `query_id`: Query ID (usually empty)
|
|
509
|
+
> - `extra`:
|
|
510
|
+
> - `now`: Server timestamp
|
|
511
|
+
> - `logid`: Log ID
|
|
512
|
+
> - `fatal_item_ids`: List of fatal item IDs (usually empty)
|
|
513
|
+
> - `search_request_id`: Search request ID (usually empty)
|
|
514
|
+
> - `log_pb`:
|
|
515
|
+
> - `impr_id`: Impression ID (for logging)
|
|
516
|
+
|
|
517
|
+
#### Parameters
|
|
518
|
+
|
|
519
|
+
None
|
|
520
|
+
|
|
521
|
+
#### Request Body
|
|
522
|
+
|
|
523
|
+
- required: Yes
|
|
524
|
+
|
|
525
|
+
##### `application/json`
|
|
526
|
+
|
|
527
|
+
- Schema summary: `keyword`:string
|
|
528
|
+
|
|
529
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
530
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
531
|
+
| keyword | string | No | 关键词,如 '游戏' / Keyword, e.g., 'game' | 游戏 | None | None |
|
|
532
|
+
|
|
533
|
+
#### Success Response
|
|
534
|
+
|
|
535
|
+
##### `200 application/json`
|
|
536
|
+
|
|
537
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
538
|
+
|
|
539
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
540
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
541
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
542
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
543
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
544
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
545
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
546
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
547
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
548
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
549
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
550
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
551
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
552
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
553
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
554
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
555
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
556
|
+
|
|
557
|
+
<a id="post-api-u1-v1-douyin-search-fetch-discuss-search"></a>
|
|
558
|
+
### `POST /api/u1/v1/douyin/search/fetch_discuss_search`
|
|
559
|
+
|
|
560
|
+
- Summary: 获取讨论搜索/Fetch discussion search
|
|
561
|
+
- Capabilities: search
|
|
562
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
563
|
+
- operationId: `fetch_discuss_search_api_v1_douyin_search_fetch_discuss_search_post`
|
|
564
|
+
|
|
565
|
+
#### Notes
|
|
566
|
+
|
|
567
|
+
> # [中文]
|
|
568
|
+
> ### 用途:
|
|
569
|
+
> - 获取抖音 App 中讨论区/问答内容的搜索结果。
|
|
570
|
+
> - 支持关键词、排序方式、发布时间、内容类型等筛选条件。
|
|
571
|
+
>
|
|
572
|
+
> ### 备注:
|
|
573
|
+
> - 此接口专注于讨论区内容搜索(如问答讨论视频),不包含其他类型的内容。
|
|
574
|
+
> - 初次请求时 `cursor` 传入 0,`search_id` 传空字符串。
|
|
575
|
+
> - 返回内容包括视频信息、作者信息、播放信息、互动数据、话题标签等。
|
|
576
|
+
>
|
|
577
|
+
> ### 参数:
|
|
578
|
+
> - keyword: 搜索关键词,例如 "出国留学"
|
|
579
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
580
|
+
> - sort_type: 排序方式
|
|
581
|
+
> - `0`: 综合排序
|
|
582
|
+
> - `1`: 最多点赞
|
|
583
|
+
> - `2`: 最新发布
|
|
584
|
+
> - publish_time: 发布时间筛选
|
|
585
|
+
> - `0`: 不限
|
|
586
|
+
> - `1`: 最近一天
|
|
587
|
+
> - `7`: 最近一周
|
|
588
|
+
> - `180`: 最近半年
|
|
589
|
+
> - filter_duration: 视频时长筛选
|
|
590
|
+
> - `0`: 不限
|
|
591
|
+
> - `0-1`: 1 分钟以内
|
|
592
|
+
> - `1-5`: 1-5 分钟
|
|
593
|
+
> - `5-10000`: 5 分钟以上
|
|
594
|
+
> - content_type: 内容类型筛选
|
|
595
|
+
> - `0`: 不限
|
|
596
|
+
> - `1`: 视频
|
|
597
|
+
> - `2`: 图片
|
|
598
|
+
> - `3`: 文章
|
|
599
|
+
> - search_id: 搜索ID(分页时使用)
|
|
600
|
+
>
|
|
601
|
+
> ### 请求体示例:
|
|
602
|
+
> ```json
|
|
603
|
+
> payload = {
|
|
604
|
+
> "keyword": "出国留学",
|
|
605
|
+
> "cursor": 0,
|
|
606
|
+
> "sort_type": "0",
|
|
607
|
+
> "publish_time": "0",
|
|
608
|
+
> "filter_duration": "0",
|
|
609
|
+
> "content_type": "0",
|
|
610
|
+
> "search_id": ""
|
|
611
|
+
> }
|
|
612
|
+
> ```
|
|
613
|
+
>
|
|
614
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
615
|
+
> - `data`: 搜索结果列表
|
|
616
|
+
> - `type`: 结果类型(一般为 `1`)
|
|
617
|
+
> - `aweme_info`: 视频信息
|
|
618
|
+
> - `aweme_id`: 视频ID
|
|
619
|
+
> - `desc`: 视频描述内容
|
|
620
|
+
> - `author`: 作者信息
|
|
621
|
+
> - `uid`: 用户唯一ID
|
|
622
|
+
> - `nickname`: 用户昵称
|
|
623
|
+
> - `is_verified`: 是否认证用户
|
|
624
|
+
> - `region`: 用户地区
|
|
625
|
+
> - `avatar_thumb.url_list`: 缩略头像列表
|
|
626
|
+
> - `avatar_medium.url_list`: 中等尺寸头像列表
|
|
627
|
+
> - `avatar_larger.url_list`: 高清头像列表
|
|
628
|
+
> - `video`: 视频播放与封面信息
|
|
629
|
+
> - `play_addr.url_list`: 播放地址列表
|
|
630
|
+
> - `cover.url_list`: 视频封面列表
|
|
631
|
+
> - `dynamic_cover.url_list`: 动态封面列表
|
|
632
|
+
> - `origin_cover.url_list`: 原始封面列表
|
|
633
|
+
> - `width`: 视频宽度(像素)
|
|
634
|
+
> - `height`: 视频高度(像素)
|
|
635
|
+
> - `ratio`: 视频分辨率比例(如540p)
|
|
636
|
+
> - `duration`: 视频时长(毫秒)
|
|
637
|
+
> - `download_addr.url_list`: 带水印下载地址
|
|
638
|
+
> - `statistics`: 视频数据
|
|
639
|
+
> - `comment_count`: 评论数
|
|
640
|
+
> - `digg_count`: 点赞数
|
|
641
|
+
> - `share_count`: 分享数
|
|
642
|
+
> - `play_count`: 播放次数
|
|
643
|
+
> - `collect_count`: 收藏次数
|
|
644
|
+
> - `cha_list`: 话题标签
|
|
645
|
+
> - `cha_name`: 标签名称
|
|
646
|
+
> - `share_url`: 标签分享链接
|
|
647
|
+
> - `music`: 音乐信息
|
|
648
|
+
> - `id_str`: 音乐ID
|
|
649
|
+
> - `title`: 音乐标题
|
|
650
|
+
> - `author`: 音乐作者昵称
|
|
651
|
+
> - `play_url.url_list`: 音乐播放链接列表
|
|
652
|
+
> - `status`: 视频状态
|
|
653
|
+
> - `is_delete`: 是否被删除
|
|
654
|
+
> - `is_private`: 是否设为私密
|
|
655
|
+
> - `allow_share`: 是否允许分享
|
|
656
|
+
> - `allow_comment`: 是否允许评论
|
|
657
|
+
> - `share_url`: 视频外部分享链接
|
|
658
|
+
>
|
|
659
|
+
> # [English]
|
|
660
|
+
> ### Purpose:
|
|
661
|
+
> - Fetch discussion/Q&A search results from Douyin App.
|
|
662
|
+
> - Supports filtering by keyword, sort type, publish time, content type, etc.
|
|
663
|
+
>
|
|
664
|
+
> ### Notes:
|
|
665
|
+
> - This API focuses on discussion and Q&A content, not including other content types.
|
|
666
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
667
|
+
> - The response includes video details, author info, playback info, statistics, hashtags, etc.
|
|
668
|
+
>
|
|
669
|
+
> ### Parameters:
|
|
670
|
+
> - keyword: Search keyword, e.g., "study abroad"
|
|
671
|
+
> - cursor: Pagination cursor (0 for first page, use the last response cursor for subsequent pages)
|
|
672
|
+
> - sort_type: Sorting method
|
|
673
|
+
> - `0`: Comprehensive
|
|
674
|
+
> - `1`: Most likes
|
|
675
|
+
> - `2`: Latest
|
|
676
|
+
> - publish_time: Publish time filter
|
|
677
|
+
> - `0`: Unlimited
|
|
678
|
+
> - `1`: Last day
|
|
679
|
+
> - `7`: Last week
|
|
680
|
+
> - `180`: Last half year
|
|
681
|
+
> - filter_duration: Video duration filter
|
|
682
|
+
> - `0`: Unlimited
|
|
683
|
+
> - `0-1`: Within 1 minute
|
|
684
|
+
> - `1-5`: 1 to 5 minutes
|
|
685
|
+
> - `5-10000`: More than 5 minutes
|
|
686
|
+
> - content_type: Content type filter
|
|
687
|
+
> - `0`: Unlimited
|
|
688
|
+
> - `1`: Video
|
|
689
|
+
> - `2`: Picture
|
|
690
|
+
> - `3`: Article
|
|
691
|
+
> - search_id: Search ID used for pagination
|
|
692
|
+
>
|
|
693
|
+
> ### Request Body Example:
|
|
694
|
+
> ```json
|
|
695
|
+
> payload = {
|
|
696
|
+
> "keyword": "study abroad",
|
|
697
|
+
> "cursor": 0,
|
|
698
|
+
> "sort_type": "0",
|
|
699
|
+
> "publish_time": "0",
|
|
700
|
+
> "filter_duration": "0",
|
|
701
|
+
> "content_type": "0",
|
|
702
|
+
> "search_id": ""
|
|
703
|
+
> }
|
|
704
|
+
> ```
|
|
705
|
+
>
|
|
706
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
707
|
+
> - `data`: List of search result items
|
|
708
|
+
> - `type`: Result type (usually `1`)
|
|
709
|
+
> - `aweme_info`: Video information
|
|
710
|
+
> - `aweme_id`: Video ID
|
|
711
|
+
> - `desc`: Description
|
|
712
|
+
> - `author`:
|
|
713
|
+
> - `uid`: User ID
|
|
714
|
+
> - `nickname`: User nickname
|
|
715
|
+
> - `is_verified`: Verified user or not
|
|
716
|
+
> - `region`: User region
|
|
717
|
+
> - `avatar_thumb.url_list`: Thumbnail avatar URLs
|
|
718
|
+
> - `avatar_medium.url_list`: Medium avatar URLs
|
|
719
|
+
> - `avatar_larger.url_list`: Large avatar URLs
|
|
720
|
+
> - `video`:
|
|
721
|
+
> - `play_addr.url_list`: Video playback URLs
|
|
722
|
+
> - `cover.url_list`: Video cover URLs
|
|
723
|
+
> - `dynamic_cover.url_list`: Dynamic cover URLs
|
|
724
|
+
> - `origin_cover.url_list`: Original cover URLs
|
|
725
|
+
> - `width`: Width in pixels
|
|
726
|
+
> - `height`: Height in pixels
|
|
727
|
+
> - `ratio`: Resolution ratio (e.g., 540p)
|
|
728
|
+
> - `duration`: Duration in milliseconds
|
|
729
|
+
> - `download_addr.url_list`: Download URLs with watermark
|
|
730
|
+
> - `statistics`:
|
|
731
|
+
> - `comment_count`: Number of comments
|
|
732
|
+
> - `digg_count`: Number of likes
|
|
733
|
+
> - `share_count`: Number of shares
|
|
734
|
+
> - `play_count`: Number of plays
|
|
735
|
+
> - `collect_count`: Number of collections
|
|
736
|
+
> - `cha_list`:
|
|
737
|
+
> - `cha_name`: Hashtag name
|
|
738
|
+
> - `share_url`: Hashtag share link
|
|
739
|
+
> - `music`:
|
|
740
|
+
> - `id_str`: Music ID
|
|
741
|
+
> - `title`: Music title
|
|
742
|
+
> - `author`: Music creator name
|
|
743
|
+
> - `play_url.url_list`: List of music playback URLs
|
|
744
|
+
> - `status`:
|
|
745
|
+
> - `is_delete`: Whether deleted
|
|
746
|
+
> - `is_private`: Whether private
|
|
747
|
+
> - `allow_share`: Allow sharing
|
|
748
|
+
> - `allow_comment`: Allow commenting
|
|
749
|
+
> - `share_url`: External video share link
|
|
750
|
+
|
|
751
|
+
#### Parameters
|
|
752
|
+
|
|
753
|
+
None
|
|
754
|
+
|
|
755
|
+
#### Request Body
|
|
756
|
+
|
|
757
|
+
- required: Yes
|
|
758
|
+
|
|
759
|
+
##### `application/json`
|
|
760
|
+
|
|
761
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
762
|
+
|
|
763
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
764
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
765
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
766
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
767
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
768
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
769
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
770
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
771
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
772
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
773
|
+
|
|
774
|
+
#### Success Response
|
|
775
|
+
|
|
776
|
+
##### `200 application/json`
|
|
777
|
+
|
|
778
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
779
|
+
|
|
780
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
781
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
782
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
783
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
784
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
785
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
786
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
787
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
788
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
789
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
790
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
791
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
792
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
793
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
794
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
795
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
796
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
797
|
+
|
|
798
|
+
<a id="post-api-u1-v1-douyin-search-fetch-experience-search"></a>
|
|
799
|
+
### `POST /api/u1/v1/douyin/search/fetch_experience_search`
|
|
800
|
+
|
|
801
|
+
- Summary: 获取经验搜索/Fetch experience search
|
|
802
|
+
- Capabilities: search
|
|
803
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
804
|
+
- operationId: `fetch_experience_search_api_v1_douyin_search_fetch_experience_search_post`
|
|
805
|
+
|
|
806
|
+
#### Notes
|
|
807
|
+
|
|
808
|
+
> # [中文]
|
|
809
|
+
> ### 用途:
|
|
810
|
+
> - 获取抖音 App 中经验(知识/教程)内容的搜索结果。
|
|
811
|
+
> - 支持通过关键词检索,与经验类内容(如攻略、教程、分享等)相关的视频信息。
|
|
812
|
+
>
|
|
813
|
+
> ### 备注:
|
|
814
|
+
> - 此接口专注于经验类内容,不包含其他类型的内容。
|
|
815
|
+
> - 初次请求时,`cursor` 应传 0,`search_id` 传空字符串,翻页时使用上次响应返回的 cursor 和 search_id。
|
|
816
|
+
> - 返回的结果中包含视频详情、作者信息、背景音乐、话题标签、播放地址、互动数据等。
|
|
817
|
+
>
|
|
818
|
+
> ### 参数:
|
|
819
|
+
> - keyword: 搜索关键词,例如 "游戏攻略"
|
|
820
|
+
> - cursor: 翻页游标,首次请求传 0
|
|
821
|
+
> - sort_type: 排序方式
|
|
822
|
+
> - `0`: 综合排序
|
|
823
|
+
> - `1`: 最多点赞
|
|
824
|
+
> - `2`: 最新发布
|
|
825
|
+
> - publish_time: 发布时间筛选
|
|
826
|
+
> - `0`: 不限
|
|
827
|
+
> - `1`: 最近一天
|
|
828
|
+
> - `7`: 最近一周
|
|
829
|
+
> - `180`: 最近半年
|
|
830
|
+
> - filter_duration: 视频时长筛选
|
|
831
|
+
> - `0`: 不限
|
|
832
|
+
> - `0-1`: 1分钟以内
|
|
833
|
+
> - `1-5`: 1-5分钟
|
|
834
|
+
> - `5-10000`: 5分钟以上
|
|
835
|
+
> - content_type: 内容类型筛选(通常固定为视频)
|
|
836
|
+
> - search_id: 分页查询时需要传上次响应返回的 `search_id`
|
|
837
|
+
>
|
|
838
|
+
> ### 请求体示例:
|
|
839
|
+
> ```json
|
|
840
|
+
> payload = {
|
|
841
|
+
> "keyword": "游戏攻略",
|
|
842
|
+
> "cursor": 0,
|
|
843
|
+
> "sort_type": 0,
|
|
844
|
+
> "publish_time": 0,
|
|
845
|
+
> "filter_duration": 0,
|
|
846
|
+
> "content_type": 1,
|
|
847
|
+
> "search_id": ""
|
|
848
|
+
> }
|
|
849
|
+
>
|
|
850
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
851
|
+
> - business_data: 搜索结果业务数据列表
|
|
852
|
+
> - data_id: 数据块ID
|
|
853
|
+
> - type: 数据类型(如 999 表示内容列表)
|
|
854
|
+
> - data:
|
|
855
|
+
> - height: 显示区域高度
|
|
856
|
+
> - aweme_list: 视频列表
|
|
857
|
+
> - aweme_id: 视频ID
|
|
858
|
+
> - desc: 视频描述内容
|
|
859
|
+
> - create_time: 视频发布时间(时间戳)
|
|
860
|
+
> - author: 作者信息
|
|
861
|
+
> - uid: 作者UID
|
|
862
|
+
> - nickname: 作者昵称
|
|
863
|
+
> - avatar_thumb.url_list: 作者头像缩略图
|
|
864
|
+
> - is_verified: 是否是认证账号
|
|
865
|
+
> - follower_count: 粉丝数
|
|
866
|
+
> - music: 背景音乐信息
|
|
867
|
+
> - id_str: 音乐ID
|
|
868
|
+
> - title: 音乐标题
|
|
869
|
+
> - author: 音乐作者昵称
|
|
870
|
+
> - cha_list: 关联的话题标签列表
|
|
871
|
+
> - cha_name: 话题名称
|
|
872
|
+
> - video: 视频播放信息
|
|
873
|
+
> - play_addr.url_list: 视频播放地址列表
|
|
874
|
+
> - cover.url_list: 视频封面图地址
|
|
875
|
+
> - width: 视频宽度
|
|
876
|
+
> - height: 视频高度
|
|
877
|
+
> - duration: 视频时长(单位毫秒)
|
|
878
|
+
> - statistics: 视频互动数据
|
|
879
|
+
> - digg_count: 点赞数
|
|
880
|
+
> - comment_count: 评论数
|
|
881
|
+
> - share_count: 分享数
|
|
882
|
+
> - play_count: 播放次数
|
|
883
|
+
> - status: 视频状态信息
|
|
884
|
+
> - is_delete: 是否已删除
|
|
885
|
+
> - is_private: 是否私密
|
|
886
|
+
> - share_url: 视频外部分享链接
|
|
887
|
+
>
|
|
888
|
+
> # [English]
|
|
889
|
+
> ### Purpose:
|
|
890
|
+
> - Fetch experience (knowledge/tutorial) content search results from Douyin App.
|
|
891
|
+
> - Retrieves video results related to knowledge sharing, tutorials, or tips based on the input keyword.
|
|
892
|
+
>
|
|
893
|
+
> ### Notes:
|
|
894
|
+
> - This API focuses on experience-related videos and does not include other content types.
|
|
895
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request; for pagination, use the previous cursor and search_id.
|
|
896
|
+
> - The response includes rich information such as video details, author profile, background music, hashtags, video URLs, and engagement statistics.
|
|
897
|
+
>
|
|
898
|
+
> ### Parameters:
|
|
899
|
+
> - keyword: Search keyword, e.g., "gaming guide"
|
|
900
|
+
> - cursor: Pagination cursor (0 for first page)
|
|
901
|
+
> - sort_type: Sorting method
|
|
902
|
+
> - `0`: Comprehensive
|
|
903
|
+
> - `1`: Most likes
|
|
904
|
+
> - `2`: Latest
|
|
905
|
+
> - publish_time: Publish time filter
|
|
906
|
+
> - `0`: Unlimited
|
|
907
|
+
> - `1`: Last day
|
|
908
|
+
> - `7`: Last week
|
|
909
|
+
> - `180`: Last half year
|
|
910
|
+
> - filter_duration: Video duration filter
|
|
911
|
+
> - `0`: Unlimited
|
|
912
|
+
> - `0-1`: Within 1 minute
|
|
913
|
+
> - `1-5`: 1 to 5 minutes
|
|
914
|
+
> - `5-10000`: More than 5 minutes
|
|
915
|
+
> - content_type: Content type filter (usually fixed to video)
|
|
916
|
+
> - search_id: Search ID for pagination
|
|
917
|
+
>
|
|
918
|
+
> ### Request Body Example:
|
|
919
|
+
> ```json
|
|
920
|
+
> payload = {
|
|
921
|
+
> "keyword": "gaming guide",
|
|
922
|
+
> "cursor": 0,
|
|
923
|
+
> "sort_type": 0,
|
|
924
|
+
> "publish_time": 0,
|
|
925
|
+
> "filter_duration": 0,
|
|
926
|
+
> "content_type": 1,
|
|
927
|
+
> "search_id": ""
|
|
928
|
+
> }
|
|
929
|
+
> ```
|
|
930
|
+
>
|
|
931
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
932
|
+
> - business_data: List of business data blocks
|
|
933
|
+
> - data_id: Data block ID
|
|
934
|
+
> - type: Data type (e.g., 999 for content list)
|
|
935
|
+
> - data:
|
|
936
|
+
> - height: Display height
|
|
937
|
+
> - aweme_list: List of videos
|
|
938
|
+
> - aweme_id: Video ID
|
|
939
|
+
> - desc: Video description
|
|
940
|
+
> - create_time: Creation timestamp
|
|
941
|
+
> - author: Author profile
|
|
942
|
+
> - uid: User ID
|
|
943
|
+
> - nickname: User nickname
|
|
944
|
+
> - avatar_thumb.url_list: Thumbnail avatar URLs
|
|
945
|
+
> - is_verified: Whether the author is verified
|
|
946
|
+
> - follower_count: Number of followers
|
|
947
|
+
> - music: Background music information
|
|
948
|
+
> - id_str: Music ID
|
|
949
|
+
> - title: Music title
|
|
950
|
+
> - author: Music author's name
|
|
951
|
+
> - cha_list: Associated hashtags
|
|
952
|
+
> - cha_name: Hashtag name
|
|
953
|
+
> - video: Video playback info
|
|
954
|
+
> - play_addr.url_list: List of video play URLs
|
|
955
|
+
> - cover.url_list: List of video cover image URLs
|
|
956
|
+
> - width: Video width
|
|
957
|
+
> - height: Video height
|
|
958
|
+
> - duration: Video duration in milliseconds
|
|
959
|
+
> - statistics: Video engagement data
|
|
960
|
+
> - digg_count: Number of likes
|
|
961
|
+
> - comment_count: Number of comments
|
|
962
|
+
> - share_count: Number of shares
|
|
963
|
+
> - play_count: Number of plays
|
|
964
|
+
> - status: Video status information
|
|
965
|
+
> - is_delete: Whether the video was deleted
|
|
966
|
+
> - is_private: Whether the video is private
|
|
967
|
+
> - share_url: External share link of the video
|
|
968
|
+
|
|
969
|
+
#### Parameters
|
|
970
|
+
|
|
971
|
+
None
|
|
972
|
+
|
|
973
|
+
#### Request Body
|
|
974
|
+
|
|
975
|
+
- required: Yes
|
|
976
|
+
|
|
977
|
+
##### `application/json`
|
|
978
|
+
|
|
979
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
980
|
+
|
|
981
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
982
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
983
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
984
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
985
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
986
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
987
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
988
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
989
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
990
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
991
|
+
|
|
992
|
+
#### Success Response
|
|
993
|
+
|
|
994
|
+
##### `200 application/json`
|
|
995
|
+
|
|
996
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
997
|
+
|
|
998
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
999
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1000
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
1001
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
1002
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
1003
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
1004
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
1005
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
1006
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
1007
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
1008
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
1009
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
1010
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
1011
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
1012
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
1013
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
1014
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
1015
|
+
|
|
1016
|
+
<a id="post-api-u1-v1-douyin-search-fetch-general-search-v1"></a>
|
|
1017
|
+
### `POST /api/u1/v1/douyin/search/fetch_general_search_v1`
|
|
1018
|
+
|
|
1019
|
+
- Summary: 获取综合搜索 V1/Fetch general search V1
|
|
1020
|
+
- Capabilities: search
|
|
1021
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
1022
|
+
- operationId: `fetch_general_search_v1_api_v1_douyin_search_fetch_general_search_v1_post`
|
|
1023
|
+
|
|
1024
|
+
#### Notes
|
|
1025
|
+
|
|
1026
|
+
> # [中文]
|
|
1027
|
+
> ### 用途:
|
|
1028
|
+
> - 获取抖音 App 中综合搜索栏的搜索结果(非单独视频搜索)。
|
|
1029
|
+
> - 支持关键词、排序方式、发布时间、视频时长、内容类型等筛选条件。
|
|
1030
|
+
> - 支持翻页查询,通过 `cursor`、`search_id` 和 `backtrace` 分页。
|
|
1031
|
+
>
|
|
1032
|
+
> ### 备注:
|
|
1033
|
+
> - 初次请求时 `cursor` 传入 0,`search_id` 和 `backtrace` 传空字符串。
|
|
1034
|
+
> - 翻页时需从上一次响应中获取 `cursor`、`search_id` 和 `backtrace` 字段值。
|
|
1035
|
+
> - 返回的内容包含视频、作者、话题标签、播放信息、音乐、互动数据等丰富信息。
|
|
1036
|
+
>
|
|
1037
|
+
> ### 参数:
|
|
1038
|
+
> - keyword: 搜索关键词,如 "猫咪"
|
|
1039
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
1040
|
+
> - sort_type: 排序方式
|
|
1041
|
+
> - `0`: 综合排序
|
|
1042
|
+
> - `1`: 最多点赞
|
|
1043
|
+
> - `2`: 最新发布
|
|
1044
|
+
> - publish_time: 发布时间筛选
|
|
1045
|
+
> - `0`: 不限
|
|
1046
|
+
> - `1`: 最近一天
|
|
1047
|
+
> - `7`: 最近一周
|
|
1048
|
+
> - `180`: 最近半年
|
|
1049
|
+
> - filter_duration: 视频时长筛选
|
|
1050
|
+
> - `0`: 不限
|
|
1051
|
+
> - `0-1`: 1 分钟以内
|
|
1052
|
+
> - `1-5`: 1-5 分钟
|
|
1053
|
+
> - `5-10000`: 5 分钟以上
|
|
1054
|
+
> - content_type: 内容类型筛选
|
|
1055
|
+
> - `0`: 不限
|
|
1056
|
+
> - `1`: 视频
|
|
1057
|
+
> - `2`: 图片
|
|
1058
|
+
> - `3`: 文章
|
|
1059
|
+
> - search_id: 搜索ID(首次请求传空,翻页时从上次响应获取)
|
|
1060
|
+
> - backtrace: 翻页回溯标识(首次请求传空,翻页时从上次响应获取)
|
|
1061
|
+
>
|
|
1062
|
+
> ### 请求体示例:
|
|
1063
|
+
> ```json
|
|
1064
|
+
> payload = {
|
|
1065
|
+
> "keyword": "猫咪",
|
|
1066
|
+
> "cursor": 0,
|
|
1067
|
+
> "sort_type": "0",
|
|
1068
|
+
> "publish_time": "0",
|
|
1069
|
+
> "filter_duration": "0",
|
|
1070
|
+
> "content_type": "0",
|
|
1071
|
+
> "search_id": "",
|
|
1072
|
+
> "backtrace": ""
|
|
1073
|
+
> }
|
|
1074
|
+
> ```
|
|
1075
|
+
>
|
|
1076
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
1077
|
+
> - `data`: 搜索结果列表
|
|
1078
|
+
> - `type`: 结果类型(通常为 `1`)
|
|
1079
|
+
> - `aweme_info`: 视频详细信息
|
|
1080
|
+
> - `aweme_id`: 视频ID
|
|
1081
|
+
> - `desc`: 视频描述内容
|
|
1082
|
+
> - `author`: 作者信息
|
|
1083
|
+
> - `uid`: 用户唯一ID
|
|
1084
|
+
> - `nickname`: 用户昵称
|
|
1085
|
+
> - `is_verified`: 是否认证用户(True=已认证,False=未认证)
|
|
1086
|
+
> - `region`: 用户地区,如 "CN"
|
|
1087
|
+
> - `avatar_thumb.url_list`: 缩略头像地址列表
|
|
1088
|
+
> - `avatar_medium.url_list`: 中等尺寸头像地址列表
|
|
1089
|
+
> - `avatar_larger.url_list`: 高清头像地址列表
|
|
1090
|
+
> - `music`: 背景音乐信息
|
|
1091
|
+
> - `id_str`: 音乐ID
|
|
1092
|
+
> - `title`: 音乐标题,如"原创声音"
|
|
1093
|
+
> - `author`: 音乐作者昵称
|
|
1094
|
+
> - `play_url.url_list`: 音乐播放地址列表
|
|
1095
|
+
> - `cha_list`: 关联话题标签列表
|
|
1096
|
+
> - `cha_name`: 话题名(例如 "#猫宝宝")
|
|
1097
|
+
> - `share_url`: 话题分享链接
|
|
1098
|
+
> - `video`: 视频播放与封面信息
|
|
1099
|
+
> - `play_addr.url_list`: 视频播放地址列表
|
|
1100
|
+
> - `cover.url_list`: 视频封面地址列表
|
|
1101
|
+
> - `dynamic_cover.url_list`: 动态封面地址列表
|
|
1102
|
+
> - `origin_cover.url_list`: 原始封面地址列表
|
|
1103
|
+
> - `width`: 视频宽度(像素)
|
|
1104
|
+
> - `height`: 视频高度(像素)
|
|
1105
|
+
> - `ratio`: 视频分辨率比例(如540p)
|
|
1106
|
+
> - `duration`: 视频时长(单位:毫秒)
|
|
1107
|
+
> - `download_addr.url_list`: 带水印下载地址
|
|
1108
|
+
> - `statistics`: 视频统计信息
|
|
1109
|
+
> - `comment_count`: 评论数
|
|
1110
|
+
> - `digg_count`: 点赞数
|
|
1111
|
+
> - `share_count`: 分享数
|
|
1112
|
+
> - `play_count`: 播放次数
|
|
1113
|
+
> - `collect_count`: 收藏次数
|
|
1114
|
+
> - `status`: 视频发布状态
|
|
1115
|
+
> - `is_delete`: 是否被删除
|
|
1116
|
+
> - `is_private`: 是否设为私密
|
|
1117
|
+
> - `allow_share`: 是否允许分享
|
|
1118
|
+
> - `allow_comment`: 是否允许评论
|
|
1119
|
+
> - `share_url`: 视频外部分享链接
|
|
1120
|
+
>
|
|
1121
|
+
> # [English]
|
|
1122
|
+
> ### Purpose:
|
|
1123
|
+
> - Fetch search results from Douyin App's general search tab (not standalone video search).
|
|
1124
|
+
> - Supports filtering by keyword, sort type, publish time, video duration, and content type.
|
|
1125
|
+
> - Supports pagination through `cursor`, `search_id`, and `backtrace`.
|
|
1126
|
+
>
|
|
1127
|
+
> ### Notes:
|
|
1128
|
+
> - Set `cursor` to 0, `search_id` and `backtrace` to empty strings for the first request.
|
|
1129
|
+
> - For pagination, obtain `cursor`, `search_id`, and `backtrace` values from the previous response.
|
|
1130
|
+
> - The response contains rich information including video details, author info, music, hashtags, playback info, and interaction metrics.
|
|
1131
|
+
>
|
|
1132
|
+
> ### Parameters:
|
|
1133
|
+
> - keyword: Search keyword, e.g., "cat"
|
|
1134
|
+
> - cursor: Pagination cursor (0 for the first page, use the last response cursor for subsequent pages)
|
|
1135
|
+
> - sort_type: Sorting method
|
|
1136
|
+
> - `0`: Comprehensive
|
|
1137
|
+
> - `1`: Most likes
|
|
1138
|
+
> - `2`: Latest
|
|
1139
|
+
> - publish_time: Publish time filter
|
|
1140
|
+
> - `0`: Unlimited
|
|
1141
|
+
> - `1`: Last day
|
|
1142
|
+
> - `7`: Last week
|
|
1143
|
+
> - `180`: Last half year
|
|
1144
|
+
> - filter_duration: Video duration filter
|
|
1145
|
+
> - `0`: Unlimited
|
|
1146
|
+
> - `0-1`: Within 1 minute
|
|
1147
|
+
> - `1-5`: 1 to 5 minutes
|
|
1148
|
+
> - `5-10000`: More than 5 minutes
|
|
1149
|
+
> - content_type: Content type filter
|
|
1150
|
+
> - `0`: Unlimited
|
|
1151
|
+
> - `1`: Video
|
|
1152
|
+
> - `2`: Picture
|
|
1153
|
+
> - `3`: Article
|
|
1154
|
+
> - search_id: Search ID (empty for first request, obtained from previous response for pagination)
|
|
1155
|
+
> - backtrace: Backtrace identifier (empty for first request, obtained from previous response for pagination)
|
|
1156
|
+
>
|
|
1157
|
+
> ### Request Body Example:
|
|
1158
|
+
> ```json
|
|
1159
|
+
> payload = {
|
|
1160
|
+
> "keyword": "cat",
|
|
1161
|
+
> "cursor": 0,
|
|
1162
|
+
> "sort_type": "0",
|
|
1163
|
+
> "publish_time": "0",
|
|
1164
|
+
> "filter_duration": "0",
|
|
1165
|
+
> "content_type": "0",
|
|
1166
|
+
> "search_id": "",
|
|
1167
|
+
> "backtrace": ""
|
|
1168
|
+
> }
|
|
1169
|
+
> ```
|
|
1170
|
+
>
|
|
1171
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
1172
|
+
> - `data`: List of search result items
|
|
1173
|
+
> - `type`: Result type (usually `1`)
|
|
1174
|
+
> - `aweme_info`: Video detailed information
|
|
1175
|
+
> - `aweme_id`: Video ID
|
|
1176
|
+
> - `desc`: Video description
|
|
1177
|
+
> - `author`:
|
|
1178
|
+
> - `uid`: Author's user ID
|
|
1179
|
+
> - `nickname`: Author's nickname
|
|
1180
|
+
> - `is_verified`: Whether the author is verified
|
|
1181
|
+
> - `region`: Author's region
|
|
1182
|
+
> - `avatar_thumb.url_list`: List of thumbnail avatar URLs
|
|
1183
|
+
> - `avatar_medium.url_list`: List of medium size avatar URLs
|
|
1184
|
+
> - `avatar_larger.url_list`: List of large size avatar URLs
|
|
1185
|
+
> - `music`:
|
|
1186
|
+
> - `id_str`: Music ID
|
|
1187
|
+
> - `title`: Music title
|
|
1188
|
+
> - `author`: Music creator's name
|
|
1189
|
+
> - `play_url.url_list`: List of music play URLs
|
|
1190
|
+
> - `cha_list`:
|
|
1191
|
+
> - `cha_name`: Hashtag name
|
|
1192
|
+
> - `share_url`: Hashtag share URL
|
|
1193
|
+
> - `video`:
|
|
1194
|
+
> - `play_addr.url_list`: List of video play URLs
|
|
1195
|
+
> - `cover.url_list`: List of cover image URLs
|
|
1196
|
+
> - `dynamic_cover.url_list`: List of dynamic cover URLs
|
|
1197
|
+
> - `origin_cover.url_list`: List of original cover URLs
|
|
1198
|
+
> - `width`: Video width (pixels)
|
|
1199
|
+
> - `height`: Video height (pixels)
|
|
1200
|
+
> - `ratio`: Resolution ratio (e.g., 540p)
|
|
1201
|
+
> - `duration`: Duration in milliseconds
|
|
1202
|
+
> - `download_addr.url_list`: List of video download URLs
|
|
1203
|
+
> - `statistics`:
|
|
1204
|
+
> - `comment_count`: Number of comments
|
|
1205
|
+
> - `digg_count`: Number of likes
|
|
1206
|
+
> - `share_count`: Number of shares
|
|
1207
|
+
> - `play_count`: Number of plays
|
|
1208
|
+
> - `collect_count`: Number of collects
|
|
1209
|
+
> - `status`:
|
|
1210
|
+
> - `is_delete`: Whether the video is deleted
|
|
1211
|
+
> - `is_private`: Whether the video is private
|
|
1212
|
+
> - `allow_share`: Whether sharing is allowed
|
|
1213
|
+
> - `allow_comment`: Whether commenting is allowed
|
|
1214
|
+
> - `share_url`: External share link
|
|
1215
|
+
|
|
1216
|
+
#### Parameters
|
|
1217
|
+
|
|
1218
|
+
None
|
|
1219
|
+
|
|
1220
|
+
#### Request Body
|
|
1221
|
+
|
|
1222
|
+
- required: Yes
|
|
1223
|
+
|
|
1224
|
+
##### `application/json`
|
|
1225
|
+
|
|
1226
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
1227
|
+
|
|
1228
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
1229
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1230
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
1231
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
1232
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
1233
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
1234
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
1235
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
1236
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
1237
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
1238
|
+
|
|
1239
|
+
#### Success Response
|
|
1240
|
+
|
|
1241
|
+
##### `200 application/json`
|
|
1242
|
+
|
|
1243
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
1244
|
+
|
|
1245
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
1246
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1247
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
1248
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
1249
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
1250
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
1251
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
1252
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
1253
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
1254
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
1255
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
1256
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
1257
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
1258
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
1259
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
1260
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
1261
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
1262
|
+
|
|
1263
|
+
<a id="post-api-u1-v1-douyin-search-fetch-general-search-v2"></a>
|
|
1264
|
+
### `POST /api/u1/v1/douyin/search/fetch_general_search_v2`
|
|
1265
|
+
|
|
1266
|
+
- Summary: 获取综合搜索 V2/Fetch general search V2
|
|
1267
|
+
- Capabilities: search
|
|
1268
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
1269
|
+
- operationId: `fetch_general_search_v2_api_v1_douyin_search_fetch_general_search_v2_post`
|
|
1270
|
+
|
|
1271
|
+
#### Notes
|
|
1272
|
+
|
|
1273
|
+
> # [中文]
|
|
1274
|
+
> ### 用途:
|
|
1275
|
+
> - 获取抖音 App 中综合搜索栏的搜索结果(非单独视频搜索)。
|
|
1276
|
+
> - 此接口稳定性可能不如 V1版本,作为备用接口。
|
|
1277
|
+
> - 支持关键词、排序方式、发布时间、视频时长、内容类型等筛选条件。
|
|
1278
|
+
> - 支持翻页查询,通过 `cursor`、`search_id` 和 `backtrace` 分页。
|
|
1279
|
+
>
|
|
1280
|
+
> ### 备注:
|
|
1281
|
+
> - 初次请求时 `cursor` 传入 0,`search_id` 和 `backtrace` 传空字符串。
|
|
1282
|
+
> - 翻页时需从上一次响应中获取 `cursor`、`search_id` 和 `backtrace` 字段值。
|
|
1283
|
+
> - 返回的内容包含视频、作者、话题标签、播放信息、音乐、互动数据等丰富信息。
|
|
1284
|
+
>
|
|
1285
|
+
> ### 参数:
|
|
1286
|
+
> - keyword: 搜索关键词,如 "猫咪"
|
|
1287
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
1288
|
+
> - sort_type: 排序方式
|
|
1289
|
+
> - `0`: 综合排序
|
|
1290
|
+
> - `1`: 最多点赞
|
|
1291
|
+
> - `2`: 最新发布
|
|
1292
|
+
> - publish_time: 发布时间筛选
|
|
1293
|
+
> - `0`: 不限
|
|
1294
|
+
> - `1`: 最近一天
|
|
1295
|
+
> - `7`: 最近一周
|
|
1296
|
+
> - `180`: 最近半年
|
|
1297
|
+
> - filter_duration: 视频时长筛选
|
|
1298
|
+
> - `0`: 不限
|
|
1299
|
+
> - `0-1`: 1 分钟以内
|
|
1300
|
+
> - `1-5`: 1-5 分钟
|
|
1301
|
+
> - `5-10000`: 5 分钟以上
|
|
1302
|
+
> - content_type: 内容类型筛选
|
|
1303
|
+
> - `0`: 不限
|
|
1304
|
+
> - `1`: 视频
|
|
1305
|
+
> - `2`: 图片
|
|
1306
|
+
> - `3`: 文章
|
|
1307
|
+
> - search_id: 搜索ID(首次请求传空,翻页时从上次响应获取)
|
|
1308
|
+
> - backtrace: 翻页回溯标识(首次请求传空,翻页时从上次响应获取)
|
|
1309
|
+
>
|
|
1310
|
+
> ### 请求体示例:
|
|
1311
|
+
> ```json
|
|
1312
|
+
> payload = {
|
|
1313
|
+
> "keyword": "猫咪",
|
|
1314
|
+
> "cursor": 0,
|
|
1315
|
+
> "sort_type": "0",
|
|
1316
|
+
> "publish_time": "0",
|
|
1317
|
+
> "filter_duration": "0",
|
|
1318
|
+
> "content_type": "0",
|
|
1319
|
+
> "search_id": "",
|
|
1320
|
+
> "backtrace": ""
|
|
1321
|
+
> }
|
|
1322
|
+
> ```
|
|
1323
|
+
>
|
|
1324
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
1325
|
+
> - `data`: 搜索结果列表
|
|
1326
|
+
> - `type`: 结果类型(通常为 `1`)
|
|
1327
|
+
> - `aweme_info`: 视频详细信息
|
|
1328
|
+
> - `aweme_id`: 视频ID
|
|
1329
|
+
> - `desc`: 视频描述内容
|
|
1330
|
+
> - `author`: 作者信息
|
|
1331
|
+
> - `uid`: 用户唯一ID
|
|
1332
|
+
> - `nickname`: 用户昵称
|
|
1333
|
+
> - `is_verified`: 是否认证用户(True=已认证,False=未认证)
|
|
1334
|
+
> - `region`: 用户地区,如 "CN"
|
|
1335
|
+
> - `avatar_thumb.url_list`: 缩略头像地址列表
|
|
1336
|
+
> - `avatar_medium.url_list`: 中等尺寸头像地址列表
|
|
1337
|
+
> - `avatar_larger.url_list`: 高清头像地址列表
|
|
1338
|
+
> - `music`: 背景音乐信息
|
|
1339
|
+
> - `id_str`: 音乐ID
|
|
1340
|
+
> - `title`: 音乐标题,如"原创声音"
|
|
1341
|
+
> - `author`: 音乐作者昵称
|
|
1342
|
+
> - `play_url.url_list`: 音乐播放地址列表
|
|
1343
|
+
> - `cha_list`: 关联话题标签列表
|
|
1344
|
+
> - `cha_name`: 话题名(例如 "#猫宝宝")
|
|
1345
|
+
> - `share_url`: 话题分享链接
|
|
1346
|
+
> - `video`: 视频播放与封面信息
|
|
1347
|
+
> - `play_addr.url_list`: 视频播放地址列表
|
|
1348
|
+
> - `cover.url_list`: 视频封面地址列表
|
|
1349
|
+
> - `dynamic_cover.url_list`: 动态封面地址列表
|
|
1350
|
+
> - `origin_cover.url_list`: 原始封面地址列表
|
|
1351
|
+
> - `width`: 视频宽度(像素)
|
|
1352
|
+
> - `height`: 视频高度(像素)
|
|
1353
|
+
> - `ratio`: 视频分辨率比例(如540p)
|
|
1354
|
+
> - `duration`: 视频时长(单位:毫秒)
|
|
1355
|
+
> - `download_addr.url_list`: 带水印下载地址
|
|
1356
|
+
> - `statistics`: 视频统计信息
|
|
1357
|
+
> - `comment_count`: 评论数
|
|
1358
|
+
> - `digg_count`: 点赞数
|
|
1359
|
+
> - `share_count`: 分享数
|
|
1360
|
+
> - `play_count`: 播放次数
|
|
1361
|
+
> - `collect_count`: 收藏次数
|
|
1362
|
+
> - `status`: 视频发布状态
|
|
1363
|
+
> - `is_delete`: 是否被删除
|
|
1364
|
+
> - `is_private`: 是否设为私密
|
|
1365
|
+
> - `allow_share`: 是否允许分享
|
|
1366
|
+
> - `allow_comment`: 是否允许评论
|
|
1367
|
+
> - `share_url`: 视频外部分享链接
|
|
1368
|
+
>
|
|
1369
|
+
> # [English]
|
|
1370
|
+
> ### Purpose:
|
|
1371
|
+
> - Fetch search results from Douyin App's general search tab (not standalone video search).
|
|
1372
|
+
> - This API may be less stable than V1, serving as a backup.
|
|
1373
|
+
> - Supports filtering by keyword, sort type, publish time, video duration, and content type.
|
|
1374
|
+
> - Supports pagination through `cursor`, `search_id`, and `backtrace`.
|
|
1375
|
+
>
|
|
1376
|
+
> ### Notes:
|
|
1377
|
+
> - Set `cursor` to 0, `search_id` and `backtrace` to empty strings for the first request.
|
|
1378
|
+
> - For pagination, obtain `cursor`, `search_id`, and `backtrace` values from the previous response.
|
|
1379
|
+
> - The response contains rich information including video details, author info, music, hashtags, playback info, and interaction metrics.
|
|
1380
|
+
>
|
|
1381
|
+
> ### Parameters:
|
|
1382
|
+
> - keyword: Search keyword, e.g., "cat"
|
|
1383
|
+
> - cursor: Pagination cursor (0 for the first page, use the last response cursor for subsequent pages)
|
|
1384
|
+
> - sort_type: Sorting method
|
|
1385
|
+
> - `0`: Comprehensive
|
|
1386
|
+
> - `1`: Most likes
|
|
1387
|
+
> - `2`: Latest
|
|
1388
|
+
> - publish_time: Publish time filter
|
|
1389
|
+
> - `0`: Unlimited
|
|
1390
|
+
> - `1`: Last day
|
|
1391
|
+
> - `7`: Last week
|
|
1392
|
+
> - `180`: Last half year
|
|
1393
|
+
> - filter_duration: Video duration filter
|
|
1394
|
+
> - `0`: Unlimited
|
|
1395
|
+
> - `0-1`: Within 1 minute
|
|
1396
|
+
> - `1-5`: 1 to 5 minutes
|
|
1397
|
+
> - `5-10000`: More than 5 minutes
|
|
1398
|
+
> - content_type: Content type filter
|
|
1399
|
+
> - `0`: Unlimited
|
|
1400
|
+
> - `1`: Video
|
|
1401
|
+
> - `2`: Picture
|
|
1402
|
+
> - `3`: Article
|
|
1403
|
+
> - search_id: Search ID (empty for first request, obtained from previous response for pagination)
|
|
1404
|
+
> - backtrace: Backtrace identifier (empty for first request, obtained from previous response for pagination)
|
|
1405
|
+
>
|
|
1406
|
+
> ### Request Body Example:
|
|
1407
|
+
> ```json
|
|
1408
|
+
> payload = {
|
|
1409
|
+
> "keyword": "cat",
|
|
1410
|
+
> "cursor": 0,
|
|
1411
|
+
> "sort_type": "0",
|
|
1412
|
+
> "publish_time": "0",
|
|
1413
|
+
> "filter_duration": "0",
|
|
1414
|
+
> "content_type": "0",
|
|
1415
|
+
> "search_id": "",
|
|
1416
|
+
> "backtrace": ""
|
|
1417
|
+
> }
|
|
1418
|
+
> ```
|
|
1419
|
+
>
|
|
1420
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
1421
|
+
> - `data`: List of search result items
|
|
1422
|
+
> - `type`: Result type (usually `1`)
|
|
1423
|
+
> - `aweme_info`: Video detailed information
|
|
1424
|
+
> - `aweme_id`: Video ID
|
|
1425
|
+
> - `desc`: Video description
|
|
1426
|
+
> - `author`:
|
|
1427
|
+
> - `uid`: Author's user ID
|
|
1428
|
+
> - `nickname`: Author's nickname
|
|
1429
|
+
> - `is_verified`: Whether the author is verified
|
|
1430
|
+
> - `region`: Author's region
|
|
1431
|
+
> - `avatar_thumb.url_list`: List of thumbnail avatar URLs
|
|
1432
|
+
> - `avatar_medium.url_list`: List of medium size avatar URLs
|
|
1433
|
+
> - `avatar_larger.url_list`: List of large size avatar URLs
|
|
1434
|
+
> - `music`:
|
|
1435
|
+
> - `id_str`: Music ID
|
|
1436
|
+
> - `title`: Music title
|
|
1437
|
+
> - `author`: Music creator's name
|
|
1438
|
+
> - `play_url.url_list`: List of music play URLs
|
|
1439
|
+
> - `cha_list`:
|
|
1440
|
+
> - `cha_name`: Hashtag name
|
|
1441
|
+
> - `share_url`: Hashtag share URL
|
|
1442
|
+
> - `video`:
|
|
1443
|
+
> - `play_addr.url_list`: List of video play URLs
|
|
1444
|
+
> - `cover.url_list`: List of cover image URLs
|
|
1445
|
+
> - `dynamic_cover.url_list`: List of dynamic cover URLs
|
|
1446
|
+
> - `origin_cover.url_list`: List of original cover URLs
|
|
1447
|
+
> - `width`: Video width (pixels)
|
|
1448
|
+
> - `height`: Video height (pixels)
|
|
1449
|
+
> - `ratio`: Resolution ratio (e.g., 540p)
|
|
1450
|
+
> - `duration`: Duration in milliseconds
|
|
1451
|
+
> - `download_addr.url_list`: List of video download URLs
|
|
1452
|
+
> - `statistics`:
|
|
1453
|
+
> - `comment_count`: Number of comments
|
|
1454
|
+
> - `digg_count`: Number of likes
|
|
1455
|
+
> - `share_count`: Number of shares
|
|
1456
|
+
> - `play_count`: Number of plays
|
|
1457
|
+
> - `collect_count`: Number of collects
|
|
1458
|
+
> - `status`:
|
|
1459
|
+
> - `is_delete`: Whether the video is deleted
|
|
1460
|
+
> - `is_private`: Whether the video is private
|
|
1461
|
+
> - `allow_share`: Whether sharing is allowed
|
|
1462
|
+
> - `allow_comment`: Whether commenting is allowed
|
|
1463
|
+
> - `share_url`: External share link
|
|
1464
|
+
|
|
1465
|
+
#### Parameters
|
|
1466
|
+
|
|
1467
|
+
None
|
|
1468
|
+
|
|
1469
|
+
#### Request Body
|
|
1470
|
+
|
|
1471
|
+
- required: Yes
|
|
1472
|
+
|
|
1473
|
+
##### `application/json`
|
|
1474
|
+
|
|
1475
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
1476
|
+
|
|
1477
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
1478
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1479
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
1480
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
1481
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
1482
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
1483
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
1484
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
1485
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
1486
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
1487
|
+
|
|
1488
|
+
#### Success Response
|
|
1489
|
+
|
|
1490
|
+
##### `200 application/json`
|
|
1491
|
+
|
|
1492
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
1493
|
+
|
|
1494
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
1495
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1496
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
1497
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
1498
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
1499
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
1500
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
1501
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
1502
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
1503
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
1504
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
1505
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
1506
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
1507
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
1508
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
1509
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
1510
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
1511
|
+
|
|
1512
|
+
<a id="post-api-u1-v1-douyin-search-fetch-general-search-v3"></a>
|
|
1513
|
+
### `POST /api/u1/v1/douyin/search/fetch_general_search_v3`
|
|
1514
|
+
|
|
1515
|
+
- Summary: 获取综合搜索 V3/Fetch general search V3
|
|
1516
|
+
- Capabilities: search
|
|
1517
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
1518
|
+
- operationId: `fetch_general_search_v3_api_v1_douyin_search_fetch_general_search_v3_post`
|
|
1519
|
+
|
|
1520
|
+
#### Notes
|
|
1521
|
+
|
|
1522
|
+
> # [中文]
|
|
1523
|
+
> ### 用途:
|
|
1524
|
+
> - 获取抖音 App 综合搜索结果(V3版,数据更全)。
|
|
1525
|
+
> - 支持关键词、排序方式、发布时间、时长、内容类型等筛选。
|
|
1526
|
+
> - 支持翻页查询,通过 `cursor`、`search_id` 和 `backtrace` 进行分页。
|
|
1527
|
+
>
|
|
1528
|
+
> ### 备注:
|
|
1529
|
+
> - 初次请求时 `cursor` 传 0,`search_id` 和 `backtrace` 传空字符串。
|
|
1530
|
+
> - 翻页时需从上一次响应中获取 `cursor`、`search_id` 和 `backtrace` 字段值。
|
|
1531
|
+
> - 返回数据极为详细,包括视频、作者、音乐、话题、播放源、互动统计等信息。
|
|
1532
|
+
>
|
|
1533
|
+
> ### 参数:
|
|
1534
|
+
> - keyword: 搜索关键词,如 "猫咪"
|
|
1535
|
+
> - cursor: 翻页游标(首次请求传 0)
|
|
1536
|
+
> - sort_type: 排序方式
|
|
1537
|
+
> - `0`: 综合排序
|
|
1538
|
+
> - `1`: 最多点赞
|
|
1539
|
+
> - `2`: 最新发布
|
|
1540
|
+
> - publish_time: 发布时间筛选
|
|
1541
|
+
> - `0`: 不限
|
|
1542
|
+
> - `1`: 最近一天
|
|
1543
|
+
> - `7`: 最近一周
|
|
1544
|
+
> - `180`: 最近半年
|
|
1545
|
+
> - filter_duration: 视频时长筛选
|
|
1546
|
+
> - `0`: 不限
|
|
1547
|
+
> - `0-1`: 1分钟以内
|
|
1548
|
+
> - `1-5`: 1-5分钟
|
|
1549
|
+
> - `5-10000`: 5分钟以上
|
|
1550
|
+
> - content_type: 内容类型筛选
|
|
1551
|
+
> - `0`: 不限
|
|
1552
|
+
> - `1`: 视频
|
|
1553
|
+
> - `2`: 图片
|
|
1554
|
+
> - `3`: 文章
|
|
1555
|
+
> - search_id: 搜索ID(首次请求传空,翻页时从上次响应获取)
|
|
1556
|
+
> - backtrace: 翻页回溯标识(首次请求传空,翻页时从上次响应获取)
|
|
1557
|
+
>
|
|
1558
|
+
> ### 请求体示例:
|
|
1559
|
+
> ```json
|
|
1560
|
+
> payload = {
|
|
1561
|
+
> "keyword": "猫咪",
|
|
1562
|
+
> "cursor": 0,
|
|
1563
|
+
> "sort_type": "0",
|
|
1564
|
+
> "publish_time": "0",
|
|
1565
|
+
> "filter_duration": "0",
|
|
1566
|
+
> "content_type": "0",
|
|
1567
|
+
> "search_id": "",
|
|
1568
|
+
> "backtrace": ""
|
|
1569
|
+
> }
|
|
1570
|
+
> ```
|
|
1571
|
+
>
|
|
1572
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
1573
|
+
> - `status_code`: 响应状态码(0为成功)
|
|
1574
|
+
> - `data[]`: 搜索结果列表
|
|
1575
|
+
> - `type`: 结果类型(通常为 `1`)
|
|
1576
|
+
> - `aweme_info`: 视频详细信息
|
|
1577
|
+
> - 基本信息:
|
|
1578
|
+
> - `aweme_id`: 视频ID
|
|
1579
|
+
> - `desc`: 视频描述
|
|
1580
|
+
> - `create_time`: 发布时间(时间戳)
|
|
1581
|
+
> - 作者信息 (`author`):
|
|
1582
|
+
> - `uid`: 用户ID
|
|
1583
|
+
> - `nickname`: 昵称
|
|
1584
|
+
> - `short_id`: 用户短ID
|
|
1585
|
+
> - `signature`: 用户签名
|
|
1586
|
+
> - `region`: 地区,如 "CN"
|
|
1587
|
+
> - `is_verified`: 是否认证
|
|
1588
|
+
> - `avatar_thumb.url_list`: 缩略头像
|
|
1589
|
+
> - `avatar_medium.url_list`: 中等尺寸头像
|
|
1590
|
+
> - `avatar_larger.url_list`: 高清头像
|
|
1591
|
+
> - 音乐信息 (`music`):
|
|
1592
|
+
> - `id_str`: 音乐ID
|
|
1593
|
+
> - `title`: 音乐标题
|
|
1594
|
+
> - `author`: 音乐作者
|
|
1595
|
+
> - `play_url.url_list`: 音乐播放链接
|
|
1596
|
+
> - `duration`: 音乐时长(秒)
|
|
1597
|
+
> - `cover_hd.url_list`: 高清封面图
|
|
1598
|
+
> - 话题标签 (`cha_list[]`):
|
|
1599
|
+
> - `cha_name`: 话题名
|
|
1600
|
+
> - `share_url`: 分享链接
|
|
1601
|
+
> - 视频播放信息 (`video`):
|
|
1602
|
+
> - `play_addr.url_list`: 视频播放链接
|
|
1603
|
+
> - `cover.url_list`: 封面图片
|
|
1604
|
+
> - `dynamic_cover.url_list`: 动态封面
|
|
1605
|
+
> - `origin_cover.url_list`: 原始封面
|
|
1606
|
+
> - `duration`: 视频时长(毫秒)
|
|
1607
|
+
> - `ratio`: 分辨率比例(如 "720p")
|
|
1608
|
+
> - `bit_rate[]`: 多清晰度播放源
|
|
1609
|
+
> - `gear_name`: 清晰度名称(如 "adapt_540_2")
|
|
1610
|
+
> - `bit_rate`: 码率
|
|
1611
|
+
> - `play_addr.url_list`: 对应播放链接
|
|
1612
|
+
> - 互动统计 (`statistics`):
|
|
1613
|
+
> - `comment_count`: 评论数
|
|
1614
|
+
> - `digg_count`: 点赞数
|
|
1615
|
+
> - `share_count`: 分享数
|
|
1616
|
+
> - `play_count`: 播放数
|
|
1617
|
+
> - 视频状态 (`status`):
|
|
1618
|
+
> - `is_delete`: 是否删除
|
|
1619
|
+
> - `is_private`: 是否私密
|
|
1620
|
+
> - `allow_share`: 是否允许分享
|
|
1621
|
+
> - `allow_comment`: 是否允许评论
|
|
1622
|
+
> - 其他字段:
|
|
1623
|
+
> - `share_url`: 视频分享链接
|
|
1624
|
+
> - `user_digged`: 是否已点赞(0=未点赞,1=已点赞)
|
|
1625
|
+
>
|
|
1626
|
+
> # [English]
|
|
1627
|
+
> ### Purpose:
|
|
1628
|
+
> - Fetch Douyin App general search results (V3 version, more comprehensive data).
|
|
1629
|
+
> - Supports filtering by keyword, sort type, publish time, video duration, and content type.
|
|
1630
|
+
> - Supports pagination via `cursor`, `search_id`, and `backtrace`.
|
|
1631
|
+
>
|
|
1632
|
+
> ### Notes:
|
|
1633
|
+
> - Set `cursor` to 0, `search_id` and `backtrace` to empty strings for the first request.
|
|
1634
|
+
> - For pagination, obtain `cursor`, `search_id`, and `backtrace` values from the previous response.
|
|
1635
|
+
> - The response is rich, including video, author, music, hashtags, multiple play sources, and statistics.
|
|
1636
|
+
>
|
|
1637
|
+
> ### Parameters:
|
|
1638
|
+
> - keyword: Search keyword, e.g., "cat"
|
|
1639
|
+
> - cursor: Pagination cursor (0 for the first page)
|
|
1640
|
+
> - sort_type: Sort type
|
|
1641
|
+
> - `0`: Comprehensive
|
|
1642
|
+
> - `1`: Most likes
|
|
1643
|
+
> - `2`: Latest
|
|
1644
|
+
> - publish_time: Publish time filter
|
|
1645
|
+
> - `0`: Unlimited
|
|
1646
|
+
> - `1`: Last day
|
|
1647
|
+
> - `7`: Last week
|
|
1648
|
+
> - `180`: Last half year
|
|
1649
|
+
> - filter_duration: Video duration filter
|
|
1650
|
+
> - `0`: Unlimited
|
|
1651
|
+
> - `0-1`: Within 1 minute
|
|
1652
|
+
> - `1-5`: 1 to 5 minutes
|
|
1653
|
+
> - `5-10000`: Over 5 minutes
|
|
1654
|
+
> - content_type: Content type filter
|
|
1655
|
+
> - `0`: Unlimited
|
|
1656
|
+
> - `1`: Video
|
|
1657
|
+
> - `2`: Picture
|
|
1658
|
+
> - `3`: Article
|
|
1659
|
+
> - search_id: Search ID (empty for first request, obtained from previous response for pagination)
|
|
1660
|
+
> - backtrace: Backtrace identifier (empty for first request, obtained from previous response for pagination)
|
|
1661
|
+
>
|
|
1662
|
+
> ### Request Body Example:
|
|
1663
|
+
> ```json
|
|
1664
|
+
> payload = {
|
|
1665
|
+
> "keyword": "cat",
|
|
1666
|
+
> "cursor": 0,
|
|
1667
|
+
> "sort_type": "0",
|
|
1668
|
+
> "publish_time": "0",
|
|
1669
|
+
> "filter_duration": "0",
|
|
1670
|
+
> "content_type": "0",
|
|
1671
|
+
> "search_id": "",
|
|
1672
|
+
> "backtrace": ""
|
|
1673
|
+
> }
|
|
1674
|
+
> ```
|
|
1675
|
+
>
|
|
1676
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
1677
|
+
> - `status_code`: Response status code (0 means success)
|
|
1678
|
+
> - `data[]`: List of search results
|
|
1679
|
+
> - `type`: Result type (usually `1`)
|
|
1680
|
+
> - `aweme_info`: Video details
|
|
1681
|
+
> - Basic Info:
|
|
1682
|
+
> - `aweme_id`: Video ID
|
|
1683
|
+
> - `desc`: Video description
|
|
1684
|
+
> - `create_time`: Publish timestamp
|
|
1685
|
+
> - Author (`author`):
|
|
1686
|
+
> - `uid`: User ID
|
|
1687
|
+
> - `nickname`: Nickname
|
|
1688
|
+
> - `short_id`: Short ID
|
|
1689
|
+
> - `signature`: Signature
|
|
1690
|
+
> - `region`: Region
|
|
1691
|
+
> - `is_verified`: Verified or not
|
|
1692
|
+
> - `avatar_thumb.url_list`: Thumbnail avatar
|
|
1693
|
+
> - `avatar_medium.url_list`: Medium avatar
|
|
1694
|
+
> - `avatar_larger.url_list`: Large avatar
|
|
1695
|
+
> - Music (`music`):
|
|
1696
|
+
> - `id_str`: Music ID
|
|
1697
|
+
> - `title`: Music title
|
|
1698
|
+
> - `author`: Music creator
|
|
1699
|
+
> - `play_url.url_list`: Music play URLs
|
|
1700
|
+
> - `duration`: Music duration (seconds)
|
|
1701
|
+
> - `cover_hd.url_list`: HD cover images
|
|
1702
|
+
> - Hashtags (`cha_list[]`):
|
|
1703
|
+
> - `cha_name`: Hashtag name
|
|
1704
|
+
> - `share_url`: Share URL
|
|
1705
|
+
> - Video (`video`):
|
|
1706
|
+
> - `play_addr.url_list`: Video play URLs
|
|
1707
|
+
> - `cover.url_list`: Cover images
|
|
1708
|
+
> - `dynamic_cover.url_list`: Dynamic cover
|
|
1709
|
+
> - `origin_cover.url_list`: Original cover
|
|
1710
|
+
> - `duration`: Duration in milliseconds
|
|
1711
|
+
> - `ratio`: Resolution (e.g., "720p")
|
|
1712
|
+
> - `bit_rate[]`: Multiple quality sources
|
|
1713
|
+
> - `gear_name`: Gear name
|
|
1714
|
+
> - `bit_rate`: Bit rate
|
|
1715
|
+
> - `play_addr.url_list`: Play URLs
|
|
1716
|
+
> - Statistics (`statistics`):
|
|
1717
|
+
> - `comment_count`: Number of comments
|
|
1718
|
+
> - `digg_count`: Number of likes
|
|
1719
|
+
> - `share_count`: Number of shares
|
|
1720
|
+
> - `play_count`: Number of plays
|
|
1721
|
+
> - Status (`status`):
|
|
1722
|
+
> - `is_delete`: Whether deleted
|
|
1723
|
+
> - `is_private`: Whether private
|
|
1724
|
+
> - `allow_share`: Allow sharing or not
|
|
1725
|
+
> - `allow_comment`: Allow commenting or not
|
|
1726
|
+
> - Other fields:
|
|
1727
|
+
> - `share_url`: External share URL
|
|
1728
|
+
> - `user_digged`: Whether user liked (0=No, 1=Yes)
|
|
1729
|
+
|
|
1730
|
+
#### Parameters
|
|
1731
|
+
|
|
1732
|
+
None
|
|
1733
|
+
|
|
1734
|
+
#### Request Body
|
|
1735
|
+
|
|
1736
|
+
- required: Yes
|
|
1737
|
+
|
|
1738
|
+
##### `application/json`
|
|
1739
|
+
|
|
1740
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
1741
|
+
|
|
1742
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
1743
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1744
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
1745
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
1746
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
1747
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
1748
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
1749
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
1750
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
1751
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
1752
|
+
|
|
1753
|
+
#### Success Response
|
|
1754
|
+
|
|
1755
|
+
##### `200 application/json`
|
|
1756
|
+
|
|
1757
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
1758
|
+
|
|
1759
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
1760
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1761
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
1762
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
1763
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
1764
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
1765
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
1766
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
1767
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
1768
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
1769
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
1770
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
1771
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
1772
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
1773
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
1774
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
1775
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
1776
|
+
|
|
1777
|
+
<a id="post-api-u1-v1-douyin-search-fetch-image-search"></a>
|
|
1778
|
+
### `POST /api/u1/v1/douyin/search/fetch_image_search`
|
|
1779
|
+
|
|
1780
|
+
- Summary: 获取图片搜索/Fetch image search
|
|
1781
|
+
- Capabilities: search
|
|
1782
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
1783
|
+
- operationId: `fetch_image_search_api_v1_douyin_search_fetch_image_search_post`
|
|
1784
|
+
|
|
1785
|
+
#### Notes
|
|
1786
|
+
|
|
1787
|
+
> # [中文]
|
|
1788
|
+
> ### 用途:
|
|
1789
|
+
> - 获取抖音 App 中图片内容搜索的结果。
|
|
1790
|
+
> - 主要返回带有多张图片的帖子(图片合集)。
|
|
1791
|
+
>
|
|
1792
|
+
> ### 备注:
|
|
1793
|
+
> - 仅返回图片类型的内容,适用于图片展示类应用场景。
|
|
1794
|
+
> - 初次请求 `cursor` 传 0,`search_id` 传空字符串。
|
|
1795
|
+
> - 翻页时使用上一次响应中的 `cursor` 和 `search_id`。
|
|
1796
|
+
>
|
|
1797
|
+
> ### 参数:
|
|
1798
|
+
> - keyword: 搜索关键词,如 "猫咪"
|
|
1799
|
+
> - cursor: 翻页游标(首次请求传0)
|
|
1800
|
+
> - sort_type: 排序方式
|
|
1801
|
+
> - `0`: 综合排序
|
|
1802
|
+
> - `1`: 最多点赞
|
|
1803
|
+
> - `2`: 最新发布
|
|
1804
|
+
> - publish_time: 发布时间筛选
|
|
1805
|
+
> - `0`: 不限
|
|
1806
|
+
> - `1`: 最近一天
|
|
1807
|
+
> - `7`: 最近一周
|
|
1808
|
+
> - `180`: 最近半年
|
|
1809
|
+
> - filter_duration: 视频时长筛选
|
|
1810
|
+
> - `0`: 不限
|
|
1811
|
+
> - content_type: 内容类型(固定传 2 表示图片内容)
|
|
1812
|
+
> - search_id: 搜索ID(翻页使用)
|
|
1813
|
+
>
|
|
1814
|
+
> ### 请求体示例:
|
|
1815
|
+
> ```json
|
|
1816
|
+
> payload = {
|
|
1817
|
+
> "keyword": "猫咪",
|
|
1818
|
+
> "cursor": 0,
|
|
1819
|
+
> "sort_type": "0",
|
|
1820
|
+
> "publish_time": "0",
|
|
1821
|
+
> "filter_duration": "0",
|
|
1822
|
+
> "content_type": "2",
|
|
1823
|
+
> "search_id": ""
|
|
1824
|
+
> }
|
|
1825
|
+
> ```
|
|
1826
|
+
>
|
|
1827
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
1828
|
+
> - `cursor`: 下一页游标
|
|
1829
|
+
> - `has_more`: 是否还有更多数据(1=有,0=无)
|
|
1830
|
+
> - `data[]`: 图片内容列表
|
|
1831
|
+
> - `aweme_info`:
|
|
1832
|
+
> - `aweme_id`: 内容ID
|
|
1833
|
+
> - `desc`: 帖子描述文字
|
|
1834
|
+
> - `create_time`: 创建时间戳
|
|
1835
|
+
> - `author`:
|
|
1836
|
+
> - `uid`: 作者ID
|
|
1837
|
+
> - `nickname`: 昵称
|
|
1838
|
+
> - `is_verified`: 是否认证
|
|
1839
|
+
> - `avatar_thumb.url_list`: 缩略头像URL列表
|
|
1840
|
+
> - `avatar_medium.url_list`: 中等头像URL列表
|
|
1841
|
+
> - `avatar_larger.url_list`: 高清头像URL列表
|
|
1842
|
+
> - `image_post_info`:
|
|
1843
|
+
> - `images[]`: 图片列表
|
|
1844
|
+
> - `url_list`: 图片地址数组(通常包含webp/jpg)
|
|
1845
|
+
> - `width`: 图片宽度(像素)
|
|
1846
|
+
> - `height`: 图片高度(像素)
|
|
1847
|
+
> - `statistics`:
|
|
1848
|
+
> - `comment_count`: 评论数
|
|
1849
|
+
> - `digg_count`: 点赞数
|
|
1850
|
+
> - `share_count`: 分享数
|
|
1851
|
+
> - `play_count`: 播放数
|
|
1852
|
+
> - `collect_count`: 收藏数
|
|
1853
|
+
> - `status`:
|
|
1854
|
+
> - `is_delete`: 是否删除
|
|
1855
|
+
> - `is_private`: 是否私密
|
|
1856
|
+
> - `share_url`: 外部分享链接
|
|
1857
|
+
>
|
|
1858
|
+
> - `extra`:
|
|
1859
|
+
> - `now`: 当前服务器时间戳
|
|
1860
|
+
> - `logid`: 请求日志ID
|
|
1861
|
+
> - `search_request_id`: 搜索请求ID
|
|
1862
|
+
>
|
|
1863
|
+
> # [English]
|
|
1864
|
+
> ### Purpose:
|
|
1865
|
+
> - Fetch image-based search results from Douyin App.
|
|
1866
|
+
> - Mainly returns posts containing image collections.
|
|
1867
|
+
>
|
|
1868
|
+
> ### Notes:
|
|
1869
|
+
> - Only image posts are returned. Suitable for gallery-style applications.
|
|
1870
|
+
> - For the first request, set `cursor` to 0 and `search_id` to an empty string.
|
|
1871
|
+
> - For pagination, use the `cursor` and `search_id` from the last response.
|
|
1872
|
+
>
|
|
1873
|
+
> ### Parameters:
|
|
1874
|
+
> - keyword: Search keyword, e.g., "cat"
|
|
1875
|
+
> - cursor: Pagination cursor (0 for first request)
|
|
1876
|
+
> - sort_type: Sorting method
|
|
1877
|
+
> - `0`: Comprehensive
|
|
1878
|
+
> - `1`: Most likes
|
|
1879
|
+
> - `2`: Latest
|
|
1880
|
+
> - publish_time: Publish time filter
|
|
1881
|
+
> - `0`: Unlimited
|
|
1882
|
+
> - `1`: Last day
|
|
1883
|
+
> - `7`: Last week
|
|
1884
|
+
> - `180`: Last half year
|
|
1885
|
+
> - filter_duration: Video duration filter
|
|
1886
|
+
> - `0`: Unlimited
|
|
1887
|
+
> - content_type: Content type (Fixed to 2 for images)
|
|
1888
|
+
> - search_id: Search ID for pagination
|
|
1889
|
+
>
|
|
1890
|
+
> ### Request Body Example:
|
|
1891
|
+
> ```json
|
|
1892
|
+
> payload = {
|
|
1893
|
+
> "keyword": "cat",
|
|
1894
|
+
> "cursor": 0,
|
|
1895
|
+
> "sort_type": "0",
|
|
1896
|
+
> "publish_time": "0",
|
|
1897
|
+
> "filter_duration": "0",
|
|
1898
|
+
> "content_type": "2",
|
|
1899
|
+
> "search_id": ""
|
|
1900
|
+
> }
|
|
1901
|
+
> ```
|
|
1902
|
+
>
|
|
1903
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
1904
|
+
> - `cursor`: Cursor for next page
|
|
1905
|
+
> - `has_more`: Whether there are more results (1=Yes, 0=No)
|
|
1906
|
+
> - `data[]`: List of image posts
|
|
1907
|
+
> - `aweme_info`:
|
|
1908
|
+
> - `aweme_id`: Content ID
|
|
1909
|
+
> - `desc`: Post description
|
|
1910
|
+
> - `create_time`: Creation timestamp
|
|
1911
|
+
> - `author`:
|
|
1912
|
+
> - `uid`: Author ID
|
|
1913
|
+
> - `nickname`: Nickname
|
|
1914
|
+
> - `is_verified`: Verified status
|
|
1915
|
+
> - `avatar_thumb.url_list`: Thumbnail avatar URLs
|
|
1916
|
+
> - `avatar_medium.url_list`: Medium avatar URLs
|
|
1917
|
+
> - `avatar_larger.url_list`: High-res avatar URLs
|
|
1918
|
+
> - `image_post_info`:
|
|
1919
|
+
> - `images[]`: List of images
|
|
1920
|
+
> - `url_list`: Image URLs (webp/jpg)
|
|
1921
|
+
> - `width`: Width (pixels)
|
|
1922
|
+
> - `height`: Height (pixels)
|
|
1923
|
+
> - `statistics`:
|
|
1924
|
+
> - `comment_count`: Comment count
|
|
1925
|
+
> - `digg_count`: Like count
|
|
1926
|
+
> - `share_count`: Share count
|
|
1927
|
+
> - `play_count`: Play count
|
|
1928
|
+
> - `collect_count`: Collect count
|
|
1929
|
+
> - `status`:
|
|
1930
|
+
> - `is_delete`: Whether deleted
|
|
1931
|
+
> - `is_private`: Whether private
|
|
1932
|
+
> - `share_url`: Shareable external link
|
|
1933
|
+
> - `extra`:
|
|
1934
|
+
> - `now`: Current server timestamp
|
|
1935
|
+
> - `logid`: Request log ID
|
|
1936
|
+
> - `search_request_id`: Search session ID
|
|
1937
|
+
|
|
1938
|
+
#### Parameters
|
|
1939
|
+
|
|
1940
|
+
None
|
|
1941
|
+
|
|
1942
|
+
#### Request Body
|
|
1943
|
+
|
|
1944
|
+
- required: Yes
|
|
1945
|
+
|
|
1946
|
+
##### `application/json`
|
|
1947
|
+
|
|
1948
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
1949
|
+
|
|
1950
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
1951
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1952
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
1953
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
1954
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
1955
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
1956
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
1957
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
1958
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
1959
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
1960
|
+
|
|
1961
|
+
#### Success Response
|
|
1962
|
+
|
|
1963
|
+
##### `200 application/json`
|
|
1964
|
+
|
|
1965
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
1966
|
+
|
|
1967
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
1968
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
1969
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
1970
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
1971
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
1972
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
1973
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
1974
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
1975
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
1976
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
1977
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
1978
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
1979
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
1980
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
1981
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
1982
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
1983
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
1984
|
+
|
|
1985
|
+
<a id="post-api-u1-v1-douyin-search-fetch-image-search-v3"></a>
|
|
1986
|
+
### `POST /api/u1/v1/douyin/search/fetch_image_search_v3`
|
|
1987
|
+
|
|
1988
|
+
- Summary: 获取图文搜索 V3/Fetch image-text search V3
|
|
1989
|
+
- Capabilities: search
|
|
1990
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
1991
|
+
- operationId: `fetch_image_search_v3_api_v1_douyin_search_fetch_image_search_v3_post`
|
|
1992
|
+
|
|
1993
|
+
#### Notes
|
|
1994
|
+
|
|
1995
|
+
> # [中文]
|
|
1996
|
+
> ### 用途:
|
|
1997
|
+
> - 获取抖音 App 中图文内容搜索的结果。
|
|
1998
|
+
> - 返回带有多张图片的帖子(aweme_type=68),适用于图文展示类应用场景。
|
|
1999
|
+
>
|
|
2000
|
+
> ### 备注:
|
|
2001
|
+
> - 该接口与 `fetch_image_search` 使用不同的数据源,返回结果可能有所差异。
|
|
2002
|
+
> - 推荐用于需要高质量图文内容的场景。
|
|
2003
|
+
> - 初次请求时 `cursor` 传 0,`search_id` 传空字符串。
|
|
2004
|
+
> - 翻页请求时,使用上一次响应返回的 `cursor` 和 `search_id`。
|
|
2005
|
+
> - 每页返回约 12 条数据。
|
|
2006
|
+
>
|
|
2007
|
+
> ### 参数:
|
|
2008
|
+
> - keyword: 搜索关键词,如 "美食"
|
|
2009
|
+
> - cursor: 翻页游标(首次请求传 0)
|
|
2010
|
+
> - search_id: 搜索ID(翻页时使用上次响应中的值)
|
|
2011
|
+
>
|
|
2012
|
+
> ### 请求体示例:
|
|
2013
|
+
> ```json
|
|
2014
|
+
> payload = {
|
|
2015
|
+
> "keyword": "美食",
|
|
2016
|
+
> "cursor": 0,
|
|
2017
|
+
> "search_id": ""
|
|
2018
|
+
> }
|
|
2019
|
+
> ```
|
|
2020
|
+
>
|
|
2021
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
2022
|
+
> - `status_code`: 状态码(0=成功)
|
|
2023
|
+
> - `business_data[]`: 图文内容列表
|
|
2024
|
+
> - `data`:
|
|
2025
|
+
> - `aweme_list[]`: 内容列表
|
|
2026
|
+
> - `aweme_id`: 内容ID
|
|
2027
|
+
> - `aweme_type`: 内容类型(68=图文)
|
|
2028
|
+
> - `desc`: 帖子描述文字
|
|
2029
|
+
> - `create_time`: 创建时间戳
|
|
2030
|
+
> - `author`:
|
|
2031
|
+
> - `uid`: 作者ID
|
|
2032
|
+
> - `nickname`: 昵称
|
|
2033
|
+
> - `avatar_thumb.url_list`: 缩略头像URL列表
|
|
2034
|
+
> - `image_post_info`:
|
|
2035
|
+
> - `images[]`: 图片列表
|
|
2036
|
+
> - `url_list`: 图片地址数组
|
|
2037
|
+
> - `width`: 图片宽度(像素)
|
|
2038
|
+
> - `height`: 图片高度(像素)
|
|
2039
|
+
> - `statistics`:
|
|
2040
|
+
> - `comment_count`: 评论数
|
|
2041
|
+
> - `digg_count`: 点赞数
|
|
2042
|
+
> - `share_count`: 分享数
|
|
2043
|
+
> - `collect_count`: 收藏数
|
|
2044
|
+
> - `share_url`: 外部分享链接
|
|
2045
|
+
> - `extra`:
|
|
2046
|
+
> - `now`: 当前服务器时间戳
|
|
2047
|
+
> - `logid`: 请求日志ID
|
|
2048
|
+
>
|
|
2049
|
+
> ---
|
|
2050
|
+
>
|
|
2051
|
+
> # [English]
|
|
2052
|
+
> ### Purpose:
|
|
2053
|
+
> - Fetch image-text content search results from Douyin App.
|
|
2054
|
+
> - Returns posts with multiple images (aweme_type=68), suitable for gallery-style applications.
|
|
2055
|
+
>
|
|
2056
|
+
> ### Notes:
|
|
2057
|
+
> - This endpoint uses a different data source than `fetch_image_search`, results may vary.
|
|
2058
|
+
> - Recommended for scenarios requiring high-quality image-text content.
|
|
2059
|
+
> - For the first request, set `cursor` to 0 and `search_id` to an empty string.
|
|
2060
|
+
> - For pagination, use the `cursor` and `search_id` from the last response.
|
|
2061
|
+
> - Returns approximately 12 items per page.
|
|
2062
|
+
>
|
|
2063
|
+
> ### Parameters:
|
|
2064
|
+
> - keyword: Search keyword, e.g., "food"
|
|
2065
|
+
> - cursor: Pagination cursor (0 for first request)
|
|
2066
|
+
> - search_id: Search ID for pagination (use value from previous response)
|
|
2067
|
+
>
|
|
2068
|
+
> ### Request Body Example:
|
|
2069
|
+
> ```json
|
|
2070
|
+
> payload = {
|
|
2071
|
+
> "keyword": "food",
|
|
2072
|
+
> "cursor": 0,
|
|
2073
|
+
> "search_id": ""
|
|
2074
|
+
> }
|
|
2075
|
+
> ```
|
|
2076
|
+
>
|
|
2077
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
2078
|
+
> - `status_code`: Status code (0=success)
|
|
2079
|
+
> - `business_data[]`: Image-text content list
|
|
2080
|
+
> - `data`:
|
|
2081
|
+
> - `aweme_list[]`: Content list
|
|
2082
|
+
> - `aweme_id`: Content ID
|
|
2083
|
+
> - `aweme_type`: Content type (68=image-text)
|
|
2084
|
+
> - `desc`: Post description
|
|
2085
|
+
> - `create_time`: Creation timestamp
|
|
2086
|
+
> - `author`:
|
|
2087
|
+
> - `uid`: Author ID
|
|
2088
|
+
> - `nickname`: Nickname
|
|
2089
|
+
> - `avatar_thumb.url_list`: Thumbnail avatar URLs
|
|
2090
|
+
> - `image_post_info`:
|
|
2091
|
+
> - `images[]`: Image list
|
|
2092
|
+
> - `url_list`: Image URLs array
|
|
2093
|
+
> - `width`: Width (pixels)
|
|
2094
|
+
> - `height`: Height (pixels)
|
|
2095
|
+
> - `statistics`:
|
|
2096
|
+
> - `comment_count`: Comment count
|
|
2097
|
+
> - `digg_count`: Like count
|
|
2098
|
+
> - `share_count`: Share count
|
|
2099
|
+
> - `collect_count`: Collect count
|
|
2100
|
+
> - `share_url`: Shareable external link
|
|
2101
|
+
> - `extra`:
|
|
2102
|
+
> - `now`: Current server timestamp
|
|
2103
|
+
> - `logid`: Request log ID
|
|
2104
|
+
|
|
2105
|
+
#### Parameters
|
|
2106
|
+
|
|
2107
|
+
None
|
|
2108
|
+
|
|
2109
|
+
#### Request Body
|
|
2110
|
+
|
|
2111
|
+
- required: Yes
|
|
2112
|
+
|
|
2113
|
+
##### `application/json`
|
|
2114
|
+
|
|
2115
|
+
- Schema summary: `keyword*`:string, `cursor`:integer, `search_id`:string
|
|
2116
|
+
|
|
2117
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2118
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2119
|
+
| keyword | string | Yes | 搜索关键词/Search keyword | None | None | None |
|
|
2120
|
+
| cursor | integer | No | 翻页游标/Pagination cursor | 0 | None | None |
|
|
2121
|
+
| search_id | string | No | 搜索ID/Search ID for pagination | None | None | None |
|
|
2122
|
+
|
|
2123
|
+
#### Success Response
|
|
2124
|
+
|
|
2125
|
+
##### `200 application/json`
|
|
2126
|
+
|
|
2127
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
2128
|
+
|
|
2129
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2130
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2131
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
2132
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
2133
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
2134
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
2135
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
2136
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
2137
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
2138
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
2139
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
2140
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
2141
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
2142
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
2143
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
2144
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
2145
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
2146
|
+
|
|
2147
|
+
<a id="post-api-u1-v1-douyin-search-fetch-live-search-v1"></a>
|
|
2148
|
+
### `POST /api/u1/v1/douyin/search/fetch_live_search_v1`
|
|
2149
|
+
|
|
2150
|
+
- Summary: 获取直播搜索 V1/Fetch live search V1
|
|
2151
|
+
- Capabilities: search / livestream
|
|
2152
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
2153
|
+
- operationId: `fetch_live_search_v1_api_v1_douyin_search_fetch_live_search_v1_post`
|
|
2154
|
+
|
|
2155
|
+
#### Notes
|
|
2156
|
+
|
|
2157
|
+
> # [中文]
|
|
2158
|
+
> ### 用途:
|
|
2159
|
+
> - 获取抖音 App 中直播搜索结果。
|
|
2160
|
+
> - 返回正在直播的房间信息,包括主播资料、直播间封面、观众人数、拉流地址等。
|
|
2161
|
+
>
|
|
2162
|
+
> ### 备注:
|
|
2163
|
+
> - 仅返回直播类型内容。
|
|
2164
|
+
> - 初次请求时 `cursor` 传0,`search_id` 传空字符串。
|
|
2165
|
+
> - 翻页请求时,使用上一次响应返回的 `cursor` 和 `search_id`。
|
|
2166
|
+
>
|
|
2167
|
+
> ### 参数:
|
|
2168
|
+
> - keyword: 搜索关键词,如 "游戏"
|
|
2169
|
+
> - cursor: 翻页游标(首次请求传0)
|
|
2170
|
+
> - sort_type: 排序方式
|
|
2171
|
+
> - `0`: 综合排序
|
|
2172
|
+
> - `1`: 最多点赞
|
|
2173
|
+
> - `2`: 最新发布
|
|
2174
|
+
> - publish_time: 发布时间筛选
|
|
2175
|
+
> - `0`: 不限
|
|
2176
|
+
> - `1`: 最近一天
|
|
2177
|
+
> - `7`: 最近一周
|
|
2178
|
+
> - `180`: 最近半年
|
|
2179
|
+
> - filter_duration: 视频时长过滤
|
|
2180
|
+
> - `0`: 不限
|
|
2181
|
+
> - content_type: 内容类型(固定传直播类型)
|
|
2182
|
+
> - search_id: 搜索ID(翻页时使用)
|
|
2183
|
+
>
|
|
2184
|
+
> ### 请求体示例:
|
|
2185
|
+
> ```json
|
|
2186
|
+
> payload = {
|
|
2187
|
+
> "keyword": "游戏",
|
|
2188
|
+
> "cursor": 0,
|
|
2189
|
+
> "sort_type": "0",
|
|
2190
|
+
> "publish_time": "0",
|
|
2191
|
+
> "filter_duration": "0",
|
|
2192
|
+
> "content_type": "1",
|
|
2193
|
+
> "search_id": ""
|
|
2194
|
+
> }
|
|
2195
|
+
> ```
|
|
2196
|
+
>
|
|
2197
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
2198
|
+
> - `cursor`: 下一页游标
|
|
2199
|
+
> - `has_more`: 是否有更多数据(1=有,0=无)
|
|
2200
|
+
> - `data[]`: 直播房间列表
|
|
2201
|
+
> - `type`: 返回内容类型(固定为1)
|
|
2202
|
+
> - `lives`:
|
|
2203
|
+
> - `aweme_id`: 直播对应的内容ID
|
|
2204
|
+
> - `group_id`: 群组ID(与aweme_id类似,可用于跳转)
|
|
2205
|
+
> - `author`:
|
|
2206
|
+
> - `uid`: 主播用户ID
|
|
2207
|
+
> - `nickname`: 主播昵称
|
|
2208
|
+
> - `short_id`: 主播短ID
|
|
2209
|
+
> - `avatar_thumb.url_list`: 缩略头像URL列表
|
|
2210
|
+
> - `avatar_medium.url_list`: 中等头像URL列表
|
|
2211
|
+
> - `avatar_larger.url_list`: 高清头像URL列表
|
|
2212
|
+
> - `room_id`: 当前直播间ID
|
|
2213
|
+
> - `room_cover.url_list`: 直播封面图URL列表
|
|
2214
|
+
> - `video`:
|
|
2215
|
+
> - `tags[]`: 直播标签(如“游戏”、“聊天”等)
|
|
2216
|
+
> - `title`: 标签标题
|
|
2217
|
+
> - `url.url_list`: 标签图标URL列表
|
|
2218
|
+
> - `rawdata`: 直播详细数据(结构化JSON字符串,可解析得到以下信息)
|
|
2219
|
+
> - `title`: 直播标题
|
|
2220
|
+
> - `user_count`: 当前在线观众数
|
|
2221
|
+
> - `stream_url`: 拉流信息
|
|
2222
|
+
> - `flv_pull_url`: 拉流地址列表(不同清晰度)
|
|
2223
|
+
> - `SD1`: 标清
|
|
2224
|
+
> - `SD2`: 高清
|
|
2225
|
+
> - `HD1`: 超清
|
|
2226
|
+
> - `FULL_HD1`: 蓝光
|
|
2227
|
+
> - `ORIGION`: 原画
|
|
2228
|
+
> - `hls_pull_url`: HLS播放地址(部分直播间可能存在)
|
|
2229
|
+
> - `cover.url_list`: 直播间封面图
|
|
2230
|
+
> - `size`: 分辨率(如1920x1080)
|
|
2231
|
+
> - `stats.total_user`: 在线观众数
|
|
2232
|
+
>
|
|
2233
|
+
> - `extra`:
|
|
2234
|
+
> - `now`: 当前服务器时间戳
|
|
2235
|
+
> - `logid`: 请求日志ID
|
|
2236
|
+
> - `search_request_id`: 搜索请求唯一ID
|
|
2237
|
+
>
|
|
2238
|
+
> # [English]
|
|
2239
|
+
> ### Purpose:
|
|
2240
|
+
> - Fetch live stream search results from Douyin App.
|
|
2241
|
+
> - Returns information about live rooms including streamer profile, cover image, viewer count, and stream URLs.
|
|
2242
|
+
>
|
|
2243
|
+
> ### Notes:
|
|
2244
|
+
> - Only live streaming content is returned.
|
|
2245
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
2246
|
+
> - Use the last response's `cursor` and `search_id` for pagination.
|
|
2247
|
+
>
|
|
2248
|
+
> ### Parameters:
|
|
2249
|
+
> - keyword: Search keyword, e.g., "games"
|
|
2250
|
+
> - cursor: Pagination cursor (0 for first request)
|
|
2251
|
+
> - sort_type: Sorting method
|
|
2252
|
+
> - `0`: Comprehensive
|
|
2253
|
+
> - `1`: Most likes
|
|
2254
|
+
> - `2`: Latest
|
|
2255
|
+
> - publish_time: Publish time filter
|
|
2256
|
+
> - `0`: Unlimited
|
|
2257
|
+
> - `1`: Last day
|
|
2258
|
+
> - `7`: Last week
|
|
2259
|
+
> - `180`: Last half year
|
|
2260
|
+
> - filter_duration: Video duration filter
|
|
2261
|
+
> - `0`: Unlimited
|
|
2262
|
+
> - content_type: Content type (fixed for live stream)
|
|
2263
|
+
> - search_id: Search ID for pagination
|
|
2264
|
+
>
|
|
2265
|
+
> ### Request Body Example:
|
|
2266
|
+
> ```json
|
|
2267
|
+
> payload = {
|
|
2268
|
+
> "keyword": "games",
|
|
2269
|
+
> "cursor": 0,
|
|
2270
|
+
> "sort_type": "0",
|
|
2271
|
+
> "publish_time": "0",
|
|
2272
|
+
> "filter_duration": "0",
|
|
2273
|
+
> "content_type": "1",
|
|
2274
|
+
> "search_id": ""
|
|
2275
|
+
> }
|
|
2276
|
+
> ```
|
|
2277
|
+
>
|
|
2278
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
2279
|
+
> - `cursor`: Cursor for next page
|
|
2280
|
+
> - `has_more`: Whether there are more results (1=Yes, 0=No)
|
|
2281
|
+
> - `data[]`: List of live stream rooms
|
|
2282
|
+
> - `type`: Result type (fixed to 1)
|
|
2283
|
+
> - `lives`:
|
|
2284
|
+
> - `aweme_id`: Related content ID
|
|
2285
|
+
> - `group_id`: Group ID
|
|
2286
|
+
> - `author`:
|
|
2287
|
+
> - `uid`: Streamer's user ID
|
|
2288
|
+
> - `nickname`: Streamer's nickname
|
|
2289
|
+
> - `short_id`: Streamer's short ID
|
|
2290
|
+
> - `avatar_thumb.url_list`: Thumbnail avatar URLs
|
|
2291
|
+
> - `avatar_medium.url_list`: Medium avatar URLs
|
|
2292
|
+
> - `avatar_larger.url_list`: Large avatar URLs
|
|
2293
|
+
> - `room_id`: Room ID
|
|
2294
|
+
> - `room_cover.url_list`: Room cover image URLs
|
|
2295
|
+
> - `video`:
|
|
2296
|
+
> - `tags[]`: Live tags (e.g., "Gaming", "Chatting")
|
|
2297
|
+
> - `title`: Tag title
|
|
2298
|
+
> - `url.url_list`: Tag icon URLs
|
|
2299
|
+
> - `rawdata`: Raw live room data (as JSON string)
|
|
2300
|
+
> - `title`: Live title
|
|
2301
|
+
> - `user_count`: Current viewer count
|
|
2302
|
+
> - `stream_url`: Stream URLs
|
|
2303
|
+
> - `flv_pull_url`: FLV stream URLs by resolution
|
|
2304
|
+
> - `hls_pull_url`: HLS stream URL (optional)
|
|
2305
|
+
> - `cover.url_list`: Room cover image
|
|
2306
|
+
> - `size`: Resolution (e.g., 1920x1080)
|
|
2307
|
+
> - `stats.total_user`: Viewer count
|
|
2308
|
+
> - `extra`:
|
|
2309
|
+
> - `now`: Current server timestamp
|
|
2310
|
+
> - `logid`: Request log ID
|
|
2311
|
+
> - `search_request_id`: Unique search session ID
|
|
2312
|
+
|
|
2313
|
+
#### Parameters
|
|
2314
|
+
|
|
2315
|
+
None
|
|
2316
|
+
|
|
2317
|
+
#### Request Body
|
|
2318
|
+
|
|
2319
|
+
- required: Yes
|
|
2320
|
+
|
|
2321
|
+
##### `application/json`
|
|
2322
|
+
|
|
2323
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
2324
|
+
|
|
2325
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2326
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2327
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
2328
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
2329
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
2330
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
2331
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
2332
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
2333
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
2334
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
2335
|
+
|
|
2336
|
+
#### Success Response
|
|
2337
|
+
|
|
2338
|
+
##### `200 application/json`
|
|
2339
|
+
|
|
2340
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
2341
|
+
|
|
2342
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2343
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2344
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
2345
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
2346
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
2347
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
2348
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
2349
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
2350
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
2351
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
2352
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
2353
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
2354
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
2355
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
2356
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
2357
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
2358
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
2359
|
+
|
|
2360
|
+
<a id="post-api-u1-v1-douyin-search-fetch-multi-search"></a>
|
|
2361
|
+
### `POST /api/u1/v1/douyin/search/fetch_multi_search`
|
|
2362
|
+
|
|
2363
|
+
- Summary: 获取多重搜索/Fetch multi-type search
|
|
2364
|
+
- Capabilities: search
|
|
2365
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
2366
|
+
- operationId: `fetch_multi_search_api_v1_douyin_search_fetch_multi_search_post`
|
|
2367
|
+
|
|
2368
|
+
#### Notes
|
|
2369
|
+
|
|
2370
|
+
> # [中文]
|
|
2371
|
+
> ### 用途:
|
|
2372
|
+
> - 获取抖音 App 中多种类型(视频、用户、音乐、话题等)的综合搜索结果。
|
|
2373
|
+
>
|
|
2374
|
+
> ### 备注:
|
|
2375
|
+
> - 初次请求 `cursor` 传 0,`search_id` 传空字符串。
|
|
2376
|
+
> - 返回内容丰富,适合搭建搜索聚合页、推荐页等场景。
|
|
2377
|
+
>
|
|
2378
|
+
> ### 参数:
|
|
2379
|
+
> - keyword: 搜索关键词,如 "人工智能"
|
|
2380
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
2381
|
+
> - sort_type: 排序方式
|
|
2382
|
+
> - `0`: 综合排序
|
|
2383
|
+
> - `1`: 最多点赞
|
|
2384
|
+
> - `2`: 最新发布
|
|
2385
|
+
> - publish_time: 发布时间筛选
|
|
2386
|
+
> - `0`: 不限
|
|
2387
|
+
> - `1`: 最近一天
|
|
2388
|
+
> - `7`: 最近一周
|
|
2389
|
+
> - `180`: 最近半年
|
|
2390
|
+
> - filter_duration: 视频时长筛选
|
|
2391
|
+
> - `0`: 不限
|
|
2392
|
+
> - `0-1`: 1 分钟以内
|
|
2393
|
+
> - `1-5`: 1-5 分钟
|
|
2394
|
+
> - `5-10000`: 5 分钟以上
|
|
2395
|
+
> - content_type: 内容类型筛选
|
|
2396
|
+
> - `0`: 不限
|
|
2397
|
+
> - `1`: 视频
|
|
2398
|
+
> - `2`: 图片
|
|
2399
|
+
> - `3`: 文章
|
|
2400
|
+
> - search_id: 搜索ID(分页时使用)
|
|
2401
|
+
>
|
|
2402
|
+
> ### 请求体示例:
|
|
2403
|
+
> ```json
|
|
2404
|
+
> payload = {
|
|
2405
|
+
> "keyword": "人工智能",
|
|
2406
|
+
> "cursor": 0,
|
|
2407
|
+
> "sort_type": "0",
|
|
2408
|
+
> "publish_time": "0",
|
|
2409
|
+
> "filter_duration": "0",
|
|
2410
|
+
> "content_type": "0",
|
|
2411
|
+
> "search_id": ""
|
|
2412
|
+
> }
|
|
2413
|
+
> ```
|
|
2414
|
+
>
|
|
2415
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
2416
|
+
> - `cursor`: 下一页翻页游标
|
|
2417
|
+
> - `has_more`: 是否还有更多数据(1=有,0=无)
|
|
2418
|
+
> - `business_data[]`: 搜索结果列表
|
|
2419
|
+
> - `data_id`: 结果数据编号
|
|
2420
|
+
> - `type`: 结果类型
|
|
2421
|
+
> - `1`: 视频(aweme_info)
|
|
2422
|
+
> - `2`: 用户(user_info)
|
|
2423
|
+
> - `4`: 音乐(music_info)
|
|
2424
|
+
> - `6`: 话题(cha_info)
|
|
2425
|
+
> - `data`: 具体数据内容,按type类型解析
|
|
2426
|
+
> - 如果 type = 1(视频):
|
|
2427
|
+
> - `aweme_info`:
|
|
2428
|
+
> - `aweme_id`: 视频ID
|
|
2429
|
+
> - `desc`: 视频描述
|
|
2430
|
+
> - `author`: 作者信息
|
|
2431
|
+
> - `uid`: 用户ID
|
|
2432
|
+
> - `nickname`: 用户昵称
|
|
2433
|
+
> - `avatar_thumb.url_list`: 小头像
|
|
2434
|
+
> - `is_verified`: 是否认证
|
|
2435
|
+
> - `region`: 地区
|
|
2436
|
+
> - `music`: 音乐信息
|
|
2437
|
+
> - `id_str`: 音乐ID
|
|
2438
|
+
> - `title`: 音乐标题
|
|
2439
|
+
> - `video`: 视频播放与封面信息
|
|
2440
|
+
> - `play_addr.url_list`: 播放地址
|
|
2441
|
+
> - `cover.url_list`: 封面
|
|
2442
|
+
> - `duration`: 视频时长(毫秒)
|
|
2443
|
+
> - `statistics`:
|
|
2444
|
+
> - `comment_count`: 评论数
|
|
2445
|
+
> - `digg_count`: 点赞数
|
|
2446
|
+
> - `share_count`: 分享数
|
|
2447
|
+
> - `play_count`: 播放数
|
|
2448
|
+
> - `status`:
|
|
2449
|
+
> - `is_delete`: 是否被删除
|
|
2450
|
+
> - `is_private`: 是否私密
|
|
2451
|
+
> - `share_url`: 视频外链
|
|
2452
|
+
> - 如果 type = 2(用户):
|
|
2453
|
+
> - `user_info`:
|
|
2454
|
+
> - `uid`: 用户ID
|
|
2455
|
+
> - `nickname`: 用户昵称
|
|
2456
|
+
> - `signature`: 个人签名
|
|
2457
|
+
> - `follower_count`: 粉丝数
|
|
2458
|
+
> - `avatar_thumb.url_list`: 小头像
|
|
2459
|
+
> - `region`: 地区
|
|
2460
|
+
> - `is_verified`: 是否认证
|
|
2461
|
+
> - 如果 type = 4(音乐):
|
|
2462
|
+
> - `music_info`:
|
|
2463
|
+
> - `id_str`: 音乐ID
|
|
2464
|
+
> - `title`: 音乐标题
|
|
2465
|
+
> - `author`: 作者名
|
|
2466
|
+
> - `play_url.url_list`: 播放地址
|
|
2467
|
+
> - 如果 type = 6(话题):
|
|
2468
|
+
> - `cha_info`:
|
|
2469
|
+
> - `cha_name`: 话题名
|
|
2470
|
+
> - `desc`: 话题描述
|
|
2471
|
+
> - `share_url`: 话题分享链接
|
|
2472
|
+
> - `user_count`: 话题参与人数
|
|
2473
|
+
> - `view_count`: 话题浏览次数
|
|
2474
|
+
>
|
|
2475
|
+
> - `extra`:
|
|
2476
|
+
> - `now`: 当前服务器时间戳
|
|
2477
|
+
> - `logid`: 请求日志ID
|
|
2478
|
+
>
|
|
2479
|
+
> # [English]
|
|
2480
|
+
> ### Purpose:
|
|
2481
|
+
> - Fetch multiple types of search results (videos, users, music, hashtags, etc.) from Douyin App.
|
|
2482
|
+
>
|
|
2483
|
+
> ### Notes:
|
|
2484
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
2485
|
+
> - Suitable for search aggregation pages, discovery modules, and recommendations.
|
|
2486
|
+
>
|
|
2487
|
+
> ### Parameters:
|
|
2488
|
+
> - keyword: Search keyword, e.g., "Artificial Intelligence"
|
|
2489
|
+
> - cursor: Pagination cursor (0 for the first page, use the last response cursor for subsequent pages)
|
|
2490
|
+
> - sort_type: Sorting method
|
|
2491
|
+
> - `0`: Comprehensive
|
|
2492
|
+
> - `1`: Most likes
|
|
2493
|
+
> - `2`: Latest
|
|
2494
|
+
> - publish_time: Publish time filter
|
|
2495
|
+
> - `0`: Unlimited
|
|
2496
|
+
> - `1`: Last day
|
|
2497
|
+
> - `7`: Last week
|
|
2498
|
+
> - `180`: Last half year
|
|
2499
|
+
> - filter_duration: Video duration filter
|
|
2500
|
+
> - `0`: Unlimited
|
|
2501
|
+
> - `0-1`: Within 1 minute
|
|
2502
|
+
> - `1-5`: 1 to 5 minutes
|
|
2503
|
+
> - `5-10000`: More than 5 minutes
|
|
2504
|
+
> - content_type: Content type filter
|
|
2505
|
+
> - `0`: Unlimited
|
|
2506
|
+
> - `1`: Video
|
|
2507
|
+
> - `2`: Picture
|
|
2508
|
+
> - `3`: Article
|
|
2509
|
+
> - search_id: Search ID used for pagination
|
|
2510
|
+
>
|
|
2511
|
+
> ### Request Body Example:
|
|
2512
|
+
> ```json
|
|
2513
|
+
> payload = {
|
|
2514
|
+
> "keyword": "Artificial Intelligence",
|
|
2515
|
+
> "cursor": 0,
|
|
2516
|
+
> "sort_type": "0",
|
|
2517
|
+
> "publish_time": "0",
|
|
2518
|
+
> "filter_duration": "0",
|
|
2519
|
+
> "content_type": "0",
|
|
2520
|
+
> "search_id": ""
|
|
2521
|
+
> }
|
|
2522
|
+
> ```
|
|
2523
|
+
>
|
|
2524
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
2525
|
+
> - `cursor`: Cursor for the next page
|
|
2526
|
+
> - `has_more`: Whether there are more results (1=Yes, 0=No)
|
|
2527
|
+
> - `business_data[]`: List of search result items
|
|
2528
|
+
> - `data_id`: Data ID
|
|
2529
|
+
> - `type`: Result type
|
|
2530
|
+
> - `1`: Video (aweme_info)
|
|
2531
|
+
> - `2`: User (user_info)
|
|
2532
|
+
> - `4`: Music (music_info)
|
|
2533
|
+
> - `6`: Hashtag (cha_info)
|
|
2534
|
+
> - `data`: Content depending on `type`
|
|
2535
|
+
> - if type = 1 (video):
|
|
2536
|
+
> - `aweme_info`: Detailed video info
|
|
2537
|
+
> - if type = 2 (user):
|
|
2538
|
+
> - `user_info`: Detailed user info
|
|
2539
|
+
> - if type = 4 (music):
|
|
2540
|
+
> - `music_info`: Music details
|
|
2541
|
+
> - if type = 6 (hashtag):
|
|
2542
|
+
> - `cha_info`: Hashtag details
|
|
2543
|
+
>
|
|
2544
|
+
> - `extra`:
|
|
2545
|
+
> - `now`: Current server timestamp
|
|
2546
|
+
> - `logid`: Request log ID
|
|
2547
|
+
|
|
2548
|
+
#### Parameters
|
|
2549
|
+
|
|
2550
|
+
None
|
|
2551
|
+
|
|
2552
|
+
#### Request Body
|
|
2553
|
+
|
|
2554
|
+
- required: Yes
|
|
2555
|
+
|
|
2556
|
+
##### `application/json`
|
|
2557
|
+
|
|
2558
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
2559
|
+
|
|
2560
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2561
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2562
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
2563
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
2564
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
2565
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
2566
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
2567
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
2568
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
2569
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
2570
|
+
|
|
2571
|
+
#### Success Response
|
|
2572
|
+
|
|
2573
|
+
##### `200 application/json`
|
|
2574
|
+
|
|
2575
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
2576
|
+
|
|
2577
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2578
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2579
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
2580
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
2581
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
2582
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
2583
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
2584
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
2585
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
2586
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
2587
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
2588
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
2589
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
2590
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
2591
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
2592
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
2593
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
2594
|
+
|
|
2595
|
+
<a id="post-api-u1-v1-douyin-search-fetch-music-search"></a>
|
|
2596
|
+
### `POST /api/u1/v1/douyin/search/fetch_music_search`
|
|
2597
|
+
|
|
2598
|
+
- Summary: 获取音乐搜索/Fetch music search
|
|
2599
|
+
- Capabilities: search / music / audio
|
|
2600
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
2601
|
+
- operationId: `fetch_music_search_api_v1_douyin_search_fetch_music_search_post`
|
|
2602
|
+
|
|
2603
|
+
#### Notes
|
|
2604
|
+
|
|
2605
|
+
> # [中文]
|
|
2606
|
+
> ### 用途:
|
|
2607
|
+
> - 获取抖音 App 中音乐内容的搜索结果。
|
|
2608
|
+
> - 支持关键词、排序方式、筛选条件等。
|
|
2609
|
+
>
|
|
2610
|
+
> ### 备注:
|
|
2611
|
+
> - 本接口专注于音乐类内容搜索,不包含其他类型内容。
|
|
2612
|
+
> - 初次请求时 `cursor` 传 0,`search_id` 传空字符串。
|
|
2613
|
+
> - 返回内容包含音乐基本信息、作者信息、封面、播放地址、标签等。
|
|
2614
|
+
>
|
|
2615
|
+
> ### 参数:
|
|
2616
|
+
> - keyword: 搜索关键词,例如 "游戏背景音乐"
|
|
2617
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
2618
|
+
> - sort_type: 排序方式
|
|
2619
|
+
> - `0`: 综合排序
|
|
2620
|
+
> - `1`: 最多点赞
|
|
2621
|
+
> - `2`: 最新发布
|
|
2622
|
+
> - publish_time: 发布时间筛选
|
|
2623
|
+
> - `0`: 不限
|
|
2624
|
+
> - `1`: 最近一天
|
|
2625
|
+
> - `7`: 最近一周
|
|
2626
|
+
> - `180`: 最近半年
|
|
2627
|
+
> - filter_duration: 视频时长筛选
|
|
2628
|
+
> - `0`: 不限
|
|
2629
|
+
> - `0-1`: 1 分钟以内
|
|
2630
|
+
> - `1-5`: 1-5 分钟
|
|
2631
|
+
> - `5-10000`: 5 分钟以上
|
|
2632
|
+
> - content_type: 内容类型筛选
|
|
2633
|
+
> - `0`: 不限
|
|
2634
|
+
> - `1`: 视频
|
|
2635
|
+
> - `2`: 图片
|
|
2636
|
+
> - `3`: 文章
|
|
2637
|
+
> - search_id: 搜索ID(分页时使用)
|
|
2638
|
+
>
|
|
2639
|
+
> ### 请求体示例:
|
|
2640
|
+
> ```json
|
|
2641
|
+
> payload = {
|
|
2642
|
+
> "keyword": "游戏背景音乐",
|
|
2643
|
+
> "cursor": 0,
|
|
2644
|
+
> "sort_type": "0",
|
|
2645
|
+
> "publish_time": "0",
|
|
2646
|
+
> "filter_duration": "0",
|
|
2647
|
+
> "content_type": "0",
|
|
2648
|
+
> "search_id": ""
|
|
2649
|
+
> }
|
|
2650
|
+
> ```
|
|
2651
|
+
>
|
|
2652
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
2653
|
+
> - `music`: 音乐结果列表
|
|
2654
|
+
> - `id_str`: 音乐ID(字符串格式)
|
|
2655
|
+
> - `title`: 音乐标题
|
|
2656
|
+
> - `author`: 音乐作者昵称
|
|
2657
|
+
> - `album`: 所属专辑(如果有)
|
|
2658
|
+
> - `play_url.url_list`: 音乐播放地址列表
|
|
2659
|
+
> - `duration`: 音乐时长(秒)
|
|
2660
|
+
> - `cover_thumb.url_list`: 缩略封面图片列表
|
|
2661
|
+
> - `cover_medium.url_list`: 中尺寸封面图片列表
|
|
2662
|
+
> - `cover_large.url_list`: 高清封面图片列表
|
|
2663
|
+
> - `user_count`: 使用该音乐的作品数量
|
|
2664
|
+
> - `is_original`: 是否原创音乐
|
|
2665
|
+
> - `is_commerce_music`: 是否为商业授权音乐
|
|
2666
|
+
> - `lyric_url`: 歌词文件链接(如果有)
|
|
2667
|
+
> - `strong_beat_url.url_list`: 音乐节奏点文件链接
|
|
2668
|
+
> - `tags`: 音乐标签
|
|
2669
|
+
> - 如:主题(如游戏、Vlog)、情绪(如Funny)、风格(如8-bit, Electronic)
|
|
2670
|
+
> - `artists`: 音乐关联的创作者列表(如果有)
|
|
2671
|
+
> - `artist_name`: 艺人昵称
|
|
2672
|
+
> - `uid`: 艺人UID
|
|
2673
|
+
> - `cover_color_hsv`: 封面主色调HSV值
|
|
2674
|
+
> - `can_background_play`: 是否支持后台播放
|
|
2675
|
+
>
|
|
2676
|
+
> # [English]
|
|
2677
|
+
> ### Purpose:
|
|
2678
|
+
> - Fetch music content search results from Douyin App.
|
|
2679
|
+
> - Supports filtering by keyword, sort type, etc.
|
|
2680
|
+
>
|
|
2681
|
+
> ### Notes:
|
|
2682
|
+
> - This API focuses on music content search, excluding other types.
|
|
2683
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
2684
|
+
> - Response includes music basic info, artist info, covers, play URLs, tags, etc.
|
|
2685
|
+
>
|
|
2686
|
+
> ### Parameters:
|
|
2687
|
+
> - keyword: Search keyword, e.g., "game background music"
|
|
2688
|
+
> - cursor: Pagination cursor (0 for first request)
|
|
2689
|
+
> - sort_type: Sorting method
|
|
2690
|
+
> - `0`: Comprehensive
|
|
2691
|
+
> - `1`: Most likes
|
|
2692
|
+
> - `2`: Latest
|
|
2693
|
+
> - publish_time: Publish time filter
|
|
2694
|
+
> - `0`: Unlimited
|
|
2695
|
+
> - `1`: Last day
|
|
2696
|
+
> - `7`: Last week
|
|
2697
|
+
> - `180`: Last half year
|
|
2698
|
+
> - filter_duration: Video duration filter
|
|
2699
|
+
> - `0`: Unlimited
|
|
2700
|
+
> - `0-1`: Under 1 minute
|
|
2701
|
+
> - `1-5`: 1 to 5 minutes
|
|
2702
|
+
> - `5-10000`: Over 5 minutes
|
|
2703
|
+
> - content_type: Content type filter
|
|
2704
|
+
> - `0`: Unlimited
|
|
2705
|
+
> - `1`: Video
|
|
2706
|
+
> - `2`: Image
|
|
2707
|
+
> - `3`: Article
|
|
2708
|
+
> - search_id: Search ID for pagination
|
|
2709
|
+
>
|
|
2710
|
+
> ### Request Body Example:
|
|
2711
|
+
> ```json
|
|
2712
|
+
> payload = {
|
|
2713
|
+
> "keyword": "game background music",
|
|
2714
|
+
> "cursor": 0,
|
|
2715
|
+
> "sort_type": "0",
|
|
2716
|
+
> "publish_time": "0",
|
|
2717
|
+
> "filter_duration": "0",
|
|
2718
|
+
> "content_type": "0",
|
|
2719
|
+
> "search_id": ""
|
|
2720
|
+
> }
|
|
2721
|
+
> ```
|
|
2722
|
+
>
|
|
2723
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
2724
|
+
> - `music`: List of music search results
|
|
2725
|
+
> - `id_str`: Music ID (as string)
|
|
2726
|
+
> - `title`: Music title
|
|
2727
|
+
> - `author`: Music author's nickname
|
|
2728
|
+
> - `album`: Album name (if any)
|
|
2729
|
+
> - `play_url.url_list`: List of music play URLs
|
|
2730
|
+
> - `duration`: Duration in seconds
|
|
2731
|
+
> - `cover_thumb.url_list`: List of thumbnail cover URLs
|
|
2732
|
+
> - `cover_medium.url_list`: List of medium-sized cover URLs
|
|
2733
|
+
> - `cover_large.url_list`: List of large-sized cover URLs
|
|
2734
|
+
> - `user_count`: Number of videos using this music
|
|
2735
|
+
> - `is_original`: Whether it is original music
|
|
2736
|
+
> - `is_commerce_music`: Whether it is commercial music
|
|
2737
|
+
> - `lyric_url`: Lyrics file URL (if available)
|
|
2738
|
+
> - `strong_beat_url.url_list`: Beat timing file URLs
|
|
2739
|
+
> - `tags`: Music tags
|
|
2740
|
+
> - Themes (e.g., Game, Vlog), Moods (e.g., Funny), Genres (e.g., 8-bit, Electronic)
|
|
2741
|
+
> - `artists`: List of associated artists (if any)
|
|
2742
|
+
> - `artist_name`: Artist name
|
|
2743
|
+
> - `uid`: Artist UID
|
|
2744
|
+
> - `cover_color_hsv`: Dominant HSV color of the cover
|
|
2745
|
+
> - `can_background_play`: Whether background playback is supported
|
|
2746
|
+
|
|
2747
|
+
#### Parameters
|
|
2748
|
+
|
|
2749
|
+
None
|
|
2750
|
+
|
|
2751
|
+
#### Request Body
|
|
2752
|
+
|
|
2753
|
+
- required: Yes
|
|
2754
|
+
|
|
2755
|
+
##### `application/json`
|
|
2756
|
+
|
|
2757
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
2758
|
+
|
|
2759
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2760
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2761
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
2762
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
2763
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
2764
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
2765
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
2766
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
2767
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
2768
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
2769
|
+
|
|
2770
|
+
#### Success Response
|
|
2771
|
+
|
|
2772
|
+
##### `200 application/json`
|
|
2773
|
+
|
|
2774
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
2775
|
+
|
|
2776
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2777
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2778
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
2779
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
2780
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
2781
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
2782
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
2783
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
2784
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
2785
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
2786
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
2787
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
2788
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
2789
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
2790
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
2791
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
2792
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
2793
|
+
|
|
2794
|
+
<a id="post-api-u1-v1-douyin-search-fetch-school-search"></a>
|
|
2795
|
+
### `POST /api/u1/v1/douyin/search/fetch_school_search`
|
|
2796
|
+
|
|
2797
|
+
- Summary: 获取学校搜索/Fetch school search
|
|
2798
|
+
- Capabilities: search
|
|
2799
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
2800
|
+
- operationId: `fetch_school_search_api_v1_douyin_search_fetch_school_search_post`
|
|
2801
|
+
|
|
2802
|
+
#### Notes
|
|
2803
|
+
|
|
2804
|
+
> # [中文]
|
|
2805
|
+
> ### 用途:
|
|
2806
|
+
> - 获取抖音 App 中学校信息的搜索结果。
|
|
2807
|
+
> - 根据关键词返回学校名称列表,常用于用户设置学校资料、兴趣推荐等场景。
|
|
2808
|
+
>
|
|
2809
|
+
> ### 备注:
|
|
2810
|
+
> - 本接口专注于学校信息搜索,仅返回学校的名称字段。
|
|
2811
|
+
> - 初次请求时 `cursor` 应传 0,分页时使用上一次返回的 `cursor`。
|
|
2812
|
+
> - 本接口响应体较简单,适合快速检索学校数据。
|
|
2813
|
+
>
|
|
2814
|
+
> ### 参数:
|
|
2815
|
+
> - keyword: 搜索关键词,如学校名称 "北京大学"、地区名 "北京"
|
|
2816
|
+
>
|
|
2817
|
+
> ### 请求体示例:
|
|
2818
|
+
> ```json
|
|
2819
|
+
> payload = {
|
|
2820
|
+
> "keyword": "北京大学"
|
|
2821
|
+
> }
|
|
2822
|
+
> ```
|
|
2823
|
+
>
|
|
2824
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
2825
|
+
> - `schools[]`: 学校列表
|
|
2826
|
+
> - `name`: 学校名称(如 "北京大学"、"北京四中")
|
|
2827
|
+
> - `extra`:
|
|
2828
|
+
> - `now`: 当前服务器时间戳(毫秒)
|
|
2829
|
+
> - `logid`: 请求日志ID
|
|
2830
|
+
> - `fatal_item_ids`: 错误项目ID列表(通常为空)
|
|
2831
|
+
> - `log_pb`:
|
|
2832
|
+
> - `impr_id`: 曝光追踪ID(用于链路追踪)
|
|
2833
|
+
> - `status_code`: 状态码(0=成功)
|
|
2834
|
+
> - `status_msg`: 状态信息(通常为空)
|
|
2835
|
+
>
|
|
2836
|
+
> # [English]
|
|
2837
|
+
> ### Purpose:
|
|
2838
|
+
> - Fetch school information search results from Douyin App.
|
|
2839
|
+
> - Returns a list of school names based on the input keyword, useful for user profile settings, school recommendations, etc.
|
|
2840
|
+
>
|
|
2841
|
+
> ### Notes:
|
|
2842
|
+
> - This API focuses on school information search, and only returns school names.
|
|
2843
|
+
> - Set `cursor` to 0 for the first request; for pagination, use the cursor from the last response.
|
|
2844
|
+
> - The response structure is simple and lightweight for fast lookup.
|
|
2845
|
+
>
|
|
2846
|
+
> ### Parameters:
|
|
2847
|
+
> - keyword: Search keyword, e.g., school name "Peking University" or city "Beijing"
|
|
2848
|
+
>
|
|
2849
|
+
> ### Example Request Body:
|
|
2850
|
+
> ```json
|
|
2851
|
+
> payload = {
|
|
2852
|
+
> "keyword": "Peking University"
|
|
2853
|
+
> }
|
|
2854
|
+
> ```
|
|
2855
|
+
>
|
|
2856
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
2857
|
+
> - `schools[]`: List of schools
|
|
2858
|
+
> - `name`: School name (e.g., "Peking University", "Beijing No.4 High School")
|
|
2859
|
+
> - `extra`:
|
|
2860
|
+
> - `now`: Server timestamp in milliseconds
|
|
2861
|
+
> - `logid`: Log ID for request tracing
|
|
2862
|
+
> - `fatal_item_ids`: List of fatal item IDs (usually empty)
|
|
2863
|
+
> - `log_pb`:
|
|
2864
|
+
> - `impr_id`: Impression ID for tracking
|
|
2865
|
+
> - `status_code`: Status code (0=success)
|
|
2866
|
+
> - `status_msg`: Status message (usually empty)
|
|
2867
|
+
|
|
2868
|
+
#### Parameters
|
|
2869
|
+
|
|
2870
|
+
None
|
|
2871
|
+
|
|
2872
|
+
#### Request Body
|
|
2873
|
+
|
|
2874
|
+
- required: Yes
|
|
2875
|
+
|
|
2876
|
+
##### `application/json`
|
|
2877
|
+
|
|
2878
|
+
- Schema summary: `keyword`:string
|
|
2879
|
+
|
|
2880
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2881
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2882
|
+
| keyword | string | No | 关键词,如学校名称或所在地区 / Keyword, such as school name or location | 北京 | None | None |
|
|
2883
|
+
|
|
2884
|
+
#### Success Response
|
|
2885
|
+
|
|
2886
|
+
##### `200 application/json`
|
|
2887
|
+
|
|
2888
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
2889
|
+
|
|
2890
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
2891
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
2892
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
2893
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
2894
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
2895
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
2896
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
2897
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
2898
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
2899
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
2900
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
2901
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
2902
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
2903
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
2904
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
2905
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
2906
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
2907
|
+
|
|
2908
|
+
<a id="post-api-u1-v1-douyin-search-fetch-search-suggest"></a>
|
|
2909
|
+
### `POST /api/u1/v1/douyin/search/fetch_search_suggest`
|
|
2910
|
+
|
|
2911
|
+
- Summary: 获取搜索关键词推荐/Fetch search keyword suggestions
|
|
2912
|
+
- Capabilities: search
|
|
2913
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
2914
|
+
- operationId: `fetch_search_suggest_api_v1_douyin_search_fetch_search_suggest_post`
|
|
2915
|
+
|
|
2916
|
+
#### Notes
|
|
2917
|
+
|
|
2918
|
+
> # [中文]
|
|
2919
|
+
> ### 用途:
|
|
2920
|
+
> - 获取抖音 App 中搜索关键词的联想推荐结果。
|
|
2921
|
+
> - 根据用户输入的关键词,返回相关搜索词建议,用于提升搜索体验。
|
|
2922
|
+
>
|
|
2923
|
+
> ### 备注:
|
|
2924
|
+
> - 通常用于实现搜索框实时推荐(如输入时下拉补全)。
|
|
2925
|
+
> - 返回的推荐词经过抖音推荐系统内部打分排序。
|
|
2926
|
+
>
|
|
2927
|
+
> ### 参数:
|
|
2928
|
+
> - keyword: 输入的关键词,如 "人工智能"
|
|
2929
|
+
>
|
|
2930
|
+
> ### 请求体示例:
|
|
2931
|
+
> ```json
|
|
2932
|
+
> payload = {
|
|
2933
|
+
> "keyword": "人工智能"
|
|
2934
|
+
> }
|
|
2935
|
+
> ```
|
|
2936
|
+
>
|
|
2937
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
2938
|
+
> - `status_code`: 状态码(0 表示成功)
|
|
2939
|
+
> - `status_msg`: 返回信息(一般为空)
|
|
2940
|
+
> - `rid`: 请求ID
|
|
2941
|
+
> - `sug_list[]`: 搜索建议列表
|
|
2942
|
+
> - `content`: 推荐的搜索关键词(如 "人工智能ai软件免费版下载")
|
|
2943
|
+
> - `sug_type`: 建议类型(一般为空,预留字段)
|
|
2944
|
+
> - `pos[]`: 匹配位置(标记关键词在原搜索词中的起止位置)
|
|
2945
|
+
> - `begin`: 开始字符位置
|
|
2946
|
+
> - `end`: 结束字符位置
|
|
2947
|
+
> - `word_record`:
|
|
2948
|
+
> - `group_id`: 推荐词组ID
|
|
2949
|
+
> - `words_position`: 在本次推荐列表中的位置
|
|
2950
|
+
> - `words_content`: 词内容(同 `content`)
|
|
2951
|
+
> - `words_source`: 词来源(通常为 "sug")
|
|
2952
|
+
> - `extra_info`:
|
|
2953
|
+
> - `client_server_extra`: 附加配置信息(JSON字符串)
|
|
2954
|
+
> - `poi_id`: 关联POI ID(通常为空)
|
|
2955
|
+
> - `search_params`: 搜索参数(带内部推荐得分)
|
|
2956
|
+
> - `words_query_record`:
|
|
2957
|
+
> - `info`: 附加信息(通常为空)
|
|
2958
|
+
> - `words_source`: 推荐来源
|
|
2959
|
+
> - `query_id`: 推荐查询ID
|
|
2960
|
+
> - `extra`:
|
|
2961
|
+
> - `now`: 当前服务器时间戳(毫秒)
|
|
2962
|
+
> - `logid`: 日志ID
|
|
2963
|
+
> - `fatal_item_ids`: 错误项列表(通常为空)
|
|
2964
|
+
> - `search_request_id`: 搜索请求ID(通常为空)
|
|
2965
|
+
> - `log_pb`:
|
|
2966
|
+
> - `impr_id`: 曝光日志ID
|
|
2967
|
+
> - `time_cost`:
|
|
2968
|
+
> - `stream_inner`: 内部处理耗时(毫秒)
|
|
2969
|
+
> - `server_engine_cost`: 搜索引擎处理耗时(毫秒)
|
|
2970
|
+
> - `cache_conf`:
|
|
2971
|
+
> - `enable`: 是否命中缓存(布尔值)
|
|
2972
|
+
>
|
|
2973
|
+
> # [English]
|
|
2974
|
+
> ### Purpose:
|
|
2975
|
+
> - Fetch keyword suggestion results from Douyin App.
|
|
2976
|
+
> - Based on the user's input, returns a list of recommended search keywords to improve search experience.
|
|
2977
|
+
>
|
|
2978
|
+
> ### Notes:
|
|
2979
|
+
> - Typically used for real-time keyword suggestions in the search box.
|
|
2980
|
+
> - The returned suggestions are scored and sorted internally by Douyin's recommendation system.
|
|
2981
|
+
>
|
|
2982
|
+
> ### Parameters:
|
|
2983
|
+
> - keyword: Input keyword, e.g., "Artificial Intelligence"
|
|
2984
|
+
>
|
|
2985
|
+
> ### Request Body Example:
|
|
2986
|
+
> ```json
|
|
2987
|
+
> payload = {
|
|
2988
|
+
> "keyword": "Artificial Intelligence"
|
|
2989
|
+
> }
|
|
2990
|
+
> ```
|
|
2991
|
+
>
|
|
2992
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
2993
|
+
> - `status_code`: Status code (0 means success)
|
|
2994
|
+
> - `status_msg`: Response message (usually empty)
|
|
2995
|
+
> - `rid`: Request ID
|
|
2996
|
+
> - `sug_list[]`: List of suggested search keywords
|
|
2997
|
+
> - `content`: Suggested keyword (e.g., "AI software free download")
|
|
2998
|
+
> - `sug_type`: Suggestion type (usually empty, reserved field)
|
|
2999
|
+
> - `pos[]`: Position marking
|
|
3000
|
+
> - `begin`: Begin character position
|
|
3001
|
+
> - `end`: End character position
|
|
3002
|
+
> - `word_record`:
|
|
3003
|
+
> - `group_id`: Suggestion group ID
|
|
3004
|
+
> - `words_position`: Position in the current suggestion list
|
|
3005
|
+
> - `words_content`: The word content (same as `content`)
|
|
3006
|
+
> - `words_source`: Word source (typically "sug")
|
|
3007
|
+
> - `extra_info`:
|
|
3008
|
+
> - `client_server_extra`: Extra client-server config (JSON string)
|
|
3009
|
+
> - `poi_id`: Related POI ID (usually empty)
|
|
3010
|
+
> - `search_params`: Search parameters (with recommendation scores)
|
|
3011
|
+
> - `words_query_record`:
|
|
3012
|
+
> - `info`: Additional info (usually empty)
|
|
3013
|
+
> - `words_source`: Source of suggestions
|
|
3014
|
+
> - `query_id`: Suggestion query ID
|
|
3015
|
+
> - `extra`:
|
|
3016
|
+
> - `now`: Current server timestamp (milliseconds)
|
|
3017
|
+
> - `logid`: Log ID
|
|
3018
|
+
> - `fatal_item_ids`: List of fatal error items (usually empty)
|
|
3019
|
+
> - `search_request_id`: Search request ID (usually empty)
|
|
3020
|
+
> - `log_pb`:
|
|
3021
|
+
> - `impr_id`: Impression log ID
|
|
3022
|
+
> - `time_cost`:
|
|
3023
|
+
> - `stream_inner`: Internal stream processing time (milliseconds)
|
|
3024
|
+
> - `server_engine_cost`: Server search engine processing time (milliseconds)
|
|
3025
|
+
> - `cache_conf`:
|
|
3026
|
+
> - `enable`: Whether cache was hit (boolean)
|
|
3027
|
+
|
|
3028
|
+
#### Parameters
|
|
3029
|
+
|
|
3030
|
+
None
|
|
3031
|
+
|
|
3032
|
+
#### Request Body
|
|
3033
|
+
|
|
3034
|
+
- required: Yes
|
|
3035
|
+
|
|
3036
|
+
##### `application/json`
|
|
3037
|
+
|
|
3038
|
+
- Schema summary: `keyword`:string
|
|
3039
|
+
|
|
3040
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3041
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3042
|
+
| keyword | string | No | 需要联想的关键词/The keyword to be suggested | 人工智能 | None | None |
|
|
3043
|
+
|
|
3044
|
+
#### Success Response
|
|
3045
|
+
|
|
3046
|
+
##### `200 application/json`
|
|
3047
|
+
|
|
3048
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
3049
|
+
|
|
3050
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3051
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3052
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
3053
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
3054
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
3055
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
3056
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
3057
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
3058
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
3059
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
3060
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
3061
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
3062
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
3063
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
3064
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
3065
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
3066
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
3067
|
+
|
|
3068
|
+
<a id="post-api-u1-v1-douyin-search-fetch-user-search"></a>
|
|
3069
|
+
### `POST /api/u1/v1/douyin/search/fetch_user_search`
|
|
3070
|
+
|
|
3071
|
+
- Summary: 获取用户搜索/Fetch user search
|
|
3072
|
+
- Capabilities: search / profiles / accounts
|
|
3073
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
3074
|
+
- operationId: `fetch_user_search_api_v1_douyin_search_fetch_user_search_post`
|
|
3075
|
+
|
|
3076
|
+
#### Notes
|
|
3077
|
+
|
|
3078
|
+
> # [中文]
|
|
3079
|
+
> ### 用途:
|
|
3080
|
+
> - 获取抖音 App 中根据关键词搜索到的用户列表。
|
|
3081
|
+
> - 支持通过粉丝数量、用户类型进行筛选查询。
|
|
3082
|
+
>
|
|
3083
|
+
> ### 备注:
|
|
3084
|
+
> - 初次请求 `cursor` 传 0,`search_id` 传空字符串。
|
|
3085
|
+
> - 返回的数据仅包含「用户信息」,不包括视频、话题、音乐等内容。
|
|
3086
|
+
>
|
|
3087
|
+
> ### 参数:
|
|
3088
|
+
> - keyword: 搜索关键词,如 "人工智能"
|
|
3089
|
+
> - cursor: 翻页游标(首次请求传0)
|
|
3090
|
+
> - douyin_user_fans: 粉丝数量筛选
|
|
3091
|
+
> - 为空: 不限
|
|
3092
|
+
> - "0_1k": 1000以下
|
|
3093
|
+
> - "1k_1w": 1000到1万
|
|
3094
|
+
> - "1w_10w": 1万到10万
|
|
3095
|
+
> - "10w_100w": 10万到100万
|
|
3096
|
+
> - "100w_": 100万以上
|
|
3097
|
+
> - douyin_user_type: 用户类型筛选
|
|
3098
|
+
> - 为空: 不限
|
|
3099
|
+
> - "common_user": 普通用户
|
|
3100
|
+
> - "enterprise_user": 企业认证用户
|
|
3101
|
+
> - "personal_user": 个人认证用户
|
|
3102
|
+
> - search_id: 搜索ID(翻页使用)
|
|
3103
|
+
>
|
|
3104
|
+
> ### 请求体示例:
|
|
3105
|
+
> ```json
|
|
3106
|
+
> payload = {
|
|
3107
|
+
> "keyword": "人工智能",
|
|
3108
|
+
> "cursor": 0,
|
|
3109
|
+
> "douyin_user_fans": "",
|
|
3110
|
+
> "douyin_user_type": "",
|
|
3111
|
+
> "search_id": ""
|
|
3112
|
+
> }
|
|
3113
|
+
> ```
|
|
3114
|
+
>
|
|
3115
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
3116
|
+
> - `cursor`: 下一页游标
|
|
3117
|
+
> - `has_more`: 是否还有更多数据(1=有,0=无)
|
|
3118
|
+
> - `user_list[]`: 用户列表
|
|
3119
|
+
> - `user_info`:
|
|
3120
|
+
> - `uid`: 用户ID
|
|
3121
|
+
> - `nickname`: 用户昵称
|
|
3122
|
+
> - `gender`: 性别(0=未知,1=男,2=女)
|
|
3123
|
+
> - `unique_id`: 抖音号
|
|
3124
|
+
> - `sec_uid`: 安全UID
|
|
3125
|
+
> - `signature`: 个性签名
|
|
3126
|
+
> - `follower_count`: 粉丝数量
|
|
3127
|
+
> - `avatar_thumb.url_list`: 小头像地址
|
|
3128
|
+
> - `avatar_medium.url_list`: 中头像地址
|
|
3129
|
+
> - `avatar_larger.url_list`: 大头像地址
|
|
3130
|
+
> - `follow_status`: 是否已关注
|
|
3131
|
+
> - `live_status`: 是否正在直播(0=否,1=是)
|
|
3132
|
+
> - `enterprise_verify_reason`: 企业认证信息(若有)
|
|
3133
|
+
> - `versatile_display`: 抖音号展示文案(例如"抖音号:xxx")
|
|
3134
|
+
> - `extra`:
|
|
3135
|
+
> - `now`: 当前服务器时间戳
|
|
3136
|
+
> - `logid`: 请求日志ID
|
|
3137
|
+
> - `search_request_id`: 搜索请求ID
|
|
3138
|
+
>
|
|
3139
|
+
> # [English]
|
|
3140
|
+
> ### Purpose:
|
|
3141
|
+
> - Fetch a list of users from Douyin App based on search keywords.
|
|
3142
|
+
> - Supports filtering by fan count and user type.
|
|
3143
|
+
>
|
|
3144
|
+
> ### Notes:
|
|
3145
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
3146
|
+
> - Only user information is returned. No videos, music, or hashtags.
|
|
3147
|
+
>
|
|
3148
|
+
> ### Parameters:
|
|
3149
|
+
> - keyword: Search keyword, e.g., "AI"
|
|
3150
|
+
> - cursor: Pagination cursor (0 for first page)
|
|
3151
|
+
> - douyin_user_fans: Fan count filter
|
|
3152
|
+
> - Empty: No limit
|
|
3153
|
+
> - "0_1k": Below 1000 fans
|
|
3154
|
+
> - "1k_1w": 1,000 to 10,000 fans
|
|
3155
|
+
> - "1w_10w": 10,000 to 100,000 fans
|
|
3156
|
+
> - "10w_100w": 100,000 to 1,000,000 fans
|
|
3157
|
+
> - "100w_": Above 1,000,000 fans
|
|
3158
|
+
> - douyin_user_type: User type filter
|
|
3159
|
+
> - Empty: No limit
|
|
3160
|
+
> - "common_user": Regular user
|
|
3161
|
+
> - "enterprise_user": Enterprise-verified user
|
|
3162
|
+
> - "personal_user": Personal-verified user
|
|
3163
|
+
> - search_id: Search session ID for pagination
|
|
3164
|
+
>
|
|
3165
|
+
> ### Request Body Example:
|
|
3166
|
+
> ```json
|
|
3167
|
+
> payload = {
|
|
3168
|
+
> "keyword": "AI",
|
|
3169
|
+
> "cursor": 0,
|
|
3170
|
+
> "douyin_user_fans": "",
|
|
3171
|
+
> "douyin_user_type": "",
|
|
3172
|
+
> "search_id": ""
|
|
3173
|
+
> }
|
|
3174
|
+
> ```
|
|
3175
|
+
>
|
|
3176
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
3177
|
+
> - `cursor`: Cursor for next page
|
|
3178
|
+
> - `has_more`: Whether more data is available (1=Yes, 0=No)
|
|
3179
|
+
> - `user_list[]`: List of users
|
|
3180
|
+
> - `user_info`:
|
|
3181
|
+
> - `uid`: User ID
|
|
3182
|
+
> - `nickname`: Nickname
|
|
3183
|
+
> - `gender`: Gender (0=Unknown, 1=Male, 2=Female)
|
|
3184
|
+
> - `unique_id`: Douyin ID
|
|
3185
|
+
> - `sec_uid`: Secured UID
|
|
3186
|
+
> - `signature`: Personal bio
|
|
3187
|
+
> - `follower_count`: Number of followers
|
|
3188
|
+
> - `avatar_thumb.url_list`: List of thumbnail avatar URLs
|
|
3189
|
+
> - `avatar_medium.url_list`: List of medium avatar URLs
|
|
3190
|
+
> - `avatar_larger.url_list`: List of large avatar URLs
|
|
3191
|
+
> - `follow_status`: Whether followed
|
|
3192
|
+
> - `live_status`: Whether live
|
|
3193
|
+
> - `enterprise_verify_reason`: Enterprise verification info (if any)
|
|
3194
|
+
> - `versatile_display`: Display text (e.g., "Douyin ID: xxx")
|
|
3195
|
+
> - `extra`:
|
|
3196
|
+
> - `now`: Current server timestamp
|
|
3197
|
+
> - `logid`: Request log ID
|
|
3198
|
+
> - `search_request_id`: Search request ID
|
|
3199
|
+
|
|
3200
|
+
#### Parameters
|
|
3201
|
+
|
|
3202
|
+
None
|
|
3203
|
+
|
|
3204
|
+
#### Request Body
|
|
3205
|
+
|
|
3206
|
+
- required: Yes
|
|
3207
|
+
|
|
3208
|
+
##### `application/json`
|
|
3209
|
+
|
|
3210
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `douyin_user_fans`:string, `douyin_user_type`:string, `search_id`:string
|
|
3211
|
+
|
|
3212
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3213
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3214
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
3215
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
3216
|
+
| douyin_user_fans | string | No | 粉丝数过滤:空=不限 0_1k=1千以下 1k_5k=1千到5千 5k_10k=5千到1万 10k_100k=1万到10万 100k_1M=10万到100万 1M_=100万以上 / Fans filter: empty=No limit, 0_1k=Under 1k, etc. | None | None | None |
|
|
3217
|
+
| douyin_user_type | string | No | 用户类型过滤:空=不限 300=创作者 900=小店 700=音乐人 800=明星 / User type filter: empty=No limit, 300=Creator, 900=Shop, 700=Musician, 800=Celebrity | None | None | None |
|
|
3218
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
3219
|
+
|
|
3220
|
+
#### Success Response
|
|
3221
|
+
|
|
3222
|
+
##### `200 application/json`
|
|
3223
|
+
|
|
3224
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
3225
|
+
|
|
3226
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3227
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3228
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
3229
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
3230
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
3231
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
3232
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
3233
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
3234
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
3235
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
3236
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
3237
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
3238
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
3239
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
3240
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
3241
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
3242
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
3243
|
+
|
|
3244
|
+
<a id="post-api-u1-v1-douyin-search-fetch-user-search-v2"></a>
|
|
3245
|
+
### `POST /api/u1/v1/douyin/search/fetch_user_search_v2`
|
|
3246
|
+
|
|
3247
|
+
- Summary: 获取用户搜索 V2/Fetch user search V2
|
|
3248
|
+
- Capabilities: search / profiles / accounts
|
|
3249
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
3250
|
+
- operationId: `fetch_user_search_v2_api_v1_douyin_search_fetch_user_search_v2_post`
|
|
3251
|
+
|
|
3252
|
+
#### Notes
|
|
3253
|
+
|
|
3254
|
+
> # [中文]
|
|
3255
|
+
> ### 用途:
|
|
3256
|
+
> - 获取抖音 App 中根据关键词搜索到的用户列表。
|
|
3257
|
+
> - 不支持粉丝数量、用户类型筛选查询。
|
|
3258
|
+
>
|
|
3259
|
+
> ### 备注:
|
|
3260
|
+
> - 初次请求 `cursor` 传 0。
|
|
3261
|
+
> - 返回的数据仅包含「用户信息」,不包括视频、话题、音乐等内容。
|
|
3262
|
+
>
|
|
3263
|
+
> ### 参数:
|
|
3264
|
+
> - keyword: 搜索关键词,如 "人工智能"
|
|
3265
|
+
> - cursor: 翻页游标(首次请求传0)
|
|
3266
|
+
>
|
|
3267
|
+
> ### 请求体示例:
|
|
3268
|
+
> ```json
|
|
3269
|
+
> payload = {
|
|
3270
|
+
> "keyword": "人工智能",
|
|
3271
|
+
> "cursor": 0
|
|
3272
|
+
> }
|
|
3273
|
+
> ```
|
|
3274
|
+
>
|
|
3275
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
3276
|
+
> - `cursor`: 下一页游标
|
|
3277
|
+
> - `has_more`: 是否还有更多数据(1=有,0=无)
|
|
3278
|
+
> - `user_list[]`: 用户列表
|
|
3279
|
+
> - `user_info`:
|
|
3280
|
+
> - `uid`: 用户ID
|
|
3281
|
+
> - `nickname`: 用户昵称
|
|
3282
|
+
> - `gender`: 性别(0=未知,1=男,2=女)
|
|
3283
|
+
> - `unique_id`: 抖音号
|
|
3284
|
+
> - `sec_uid`: 安全UID
|
|
3285
|
+
> - `signature`: 个性签名
|
|
3286
|
+
> - `follower_count`: 粉丝数量
|
|
3287
|
+
> - `avatar_thumb.url_list`: 小头像地址
|
|
3288
|
+
> - `avatar_medium.url_list`: 中头像地址
|
|
3289
|
+
> - `avatar_larger.url_list`: 大头像地址
|
|
3290
|
+
> - `follow_status`: 是否已关注
|
|
3291
|
+
> - `live_status`: 是否正在直播(0=否,1=是)
|
|
3292
|
+
> - `enterprise_verify_reason`: 企业认证信息(若有)
|
|
3293
|
+
> - `versatile_display`: 抖音号展示文案(例如"抖音号:xxx")
|
|
3294
|
+
> - `extra`:
|
|
3295
|
+
> - `now`: 当前服务器时间戳
|
|
3296
|
+
> - `logid`: 请求日志ID
|
|
3297
|
+
> - `search_request_id`: 搜索请求ID
|
|
3298
|
+
>
|
|
3299
|
+
> # [English]
|
|
3300
|
+
> ### Purpose:
|
|
3301
|
+
> - Fetch a list of users from Douyin App based on search keywords.
|
|
3302
|
+
> - Supports filtering by fan count and user type.
|
|
3303
|
+
>
|
|
3304
|
+
> ### Notes:
|
|
3305
|
+
> - Set `cursor` to 0.
|
|
3306
|
+
> - Only user information is returned. No videos, music, or hashtags.
|
|
3307
|
+
>
|
|
3308
|
+
> ### Parameters:
|
|
3309
|
+
> - keyword: Search keyword, e.g., "AI"
|
|
3310
|
+
> - cursor: Pagination cursor (0 for first page)
|
|
3311
|
+
>
|
|
3312
|
+
> ### Request Body Example:
|
|
3313
|
+
> ```json
|
|
3314
|
+
> payload = {
|
|
3315
|
+
> "keyword": "AI",
|
|
3316
|
+
> "cursor": 0
|
|
3317
|
+
> }
|
|
3318
|
+
> ```
|
|
3319
|
+
>
|
|
3320
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
3321
|
+
> - `cursor`: Cursor for next page
|
|
3322
|
+
> - `has_more`: Whether more data is available (1=Yes, 0=No)
|
|
3323
|
+
> - `user_list[]`: List of users
|
|
3324
|
+
> - `user_info`:
|
|
3325
|
+
> - `uid`: User ID
|
|
3326
|
+
> - `nickname`: Nickname
|
|
3327
|
+
> - `gender`: Gender (0=Unknown, 1=Male, 2=Female)
|
|
3328
|
+
> - `unique_id`: Douyin ID
|
|
3329
|
+
> - `sec_uid`: Secured UID
|
|
3330
|
+
> - `signature`: Personal bio
|
|
3331
|
+
> - `follower_count`: Number of followers
|
|
3332
|
+
> - `avatar_thumb.url_list`: List of thumbnail avatar URLs
|
|
3333
|
+
> - `avatar_medium.url_list`: List of medium avatar URLs
|
|
3334
|
+
> - `avatar_larger.url_list`: List of large avatar URLs
|
|
3335
|
+
> - `follow_status`: Whether followed
|
|
3336
|
+
> - `live_status`: Whether live
|
|
3337
|
+
> - `enterprise_verify_reason`: Enterprise verification info (if any)
|
|
3338
|
+
> - `versatile_display`: Display text (e.g., "Douyin ID: xxx")
|
|
3339
|
+
> - `extra`:
|
|
3340
|
+
> - `now`: Current server timestamp
|
|
3341
|
+
> - `logid`: Request log ID
|
|
3342
|
+
> - `search_request_id`: Search request ID
|
|
3343
|
+
|
|
3344
|
+
#### Parameters
|
|
3345
|
+
|
|
3346
|
+
None
|
|
3347
|
+
|
|
3348
|
+
#### Request Body
|
|
3349
|
+
|
|
3350
|
+
- required: Yes
|
|
3351
|
+
|
|
3352
|
+
##### `application/json`
|
|
3353
|
+
|
|
3354
|
+
- Schema summary: `keyword`:string, `cursor`:integer
|
|
3355
|
+
|
|
3356
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3357
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3358
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
3359
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
3360
|
+
|
|
3361
|
+
#### Success Response
|
|
3362
|
+
|
|
3363
|
+
##### `200 application/json`
|
|
3364
|
+
|
|
3365
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
3366
|
+
|
|
3367
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3368
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3369
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
3370
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
3371
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
3372
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
3373
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
3374
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
3375
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
3376
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
3377
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
3378
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
3379
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
3380
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
3381
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
3382
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
3383
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
3384
|
+
|
|
3385
|
+
<a id="post-api-u1-v1-douyin-search-fetch-video-search-v1"></a>
|
|
3386
|
+
### `POST /api/u1/v1/douyin/search/fetch_video_search_v1`
|
|
3387
|
+
|
|
3388
|
+
- Summary: 获取视频搜索 V1/Fetch video search V1
|
|
3389
|
+
- Capabilities: search / content details
|
|
3390
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
3391
|
+
- operationId: `fetch_video_search_v1_api_v1_douyin_search_fetch_video_search_v1_post`
|
|
3392
|
+
|
|
3393
|
+
#### Notes
|
|
3394
|
+
|
|
3395
|
+
> # [中文]
|
|
3396
|
+
> ### 用途:
|
|
3397
|
+
> - 获取抖音 App 中通过关键词搜索到的视频内容。
|
|
3398
|
+
> - 专注于视频内容的搜索结果,不包含其他类型。
|
|
3399
|
+
>
|
|
3400
|
+
> ### 备注:
|
|
3401
|
+
> - 初次请求时 `cursor` 传 0,`search_id` 传空字符串。
|
|
3402
|
+
> - 返回的视频包含作者信息、播放地址、封面、互动数据等。
|
|
3403
|
+
> - 同时返回一组关键词推荐 (`guide_search_words`) 用于引导用户继续搜索。
|
|
3404
|
+
>
|
|
3405
|
+
> ### 参数:
|
|
3406
|
+
> - keyword: 搜索关键词,例如 "人工智能"
|
|
3407
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
3408
|
+
> - sort_type: 排序方式
|
|
3409
|
+
> - `0`: 综合排序
|
|
3410
|
+
> - `1`: 最多点赞
|
|
3411
|
+
> - `2`: 最新发布
|
|
3412
|
+
> - publish_time: 发布时间筛选
|
|
3413
|
+
> - `0`: 不限
|
|
3414
|
+
> - `1`: 最近一天
|
|
3415
|
+
> - `7`: 最近一周
|
|
3416
|
+
> - `180`: 最近半年
|
|
3417
|
+
> - filter_duration: 视频时长筛选
|
|
3418
|
+
> - `0`: 不限
|
|
3419
|
+
> - `0-1`: 1 分钟以内
|
|
3420
|
+
> - `1-5`: 1-5 分钟
|
|
3421
|
+
> - `5-10000`: 5 分钟以上
|
|
3422
|
+
> - content_type: 内容类型筛选
|
|
3423
|
+
> - `0`: 不限
|
|
3424
|
+
> - `1`: 视频
|
|
3425
|
+
> - `2`: 图片
|
|
3426
|
+
> - `3`: 文章
|
|
3427
|
+
> - search_id: 搜索ID(分页时使用,从上一次响应获取)
|
|
3428
|
+
> - backtrace: 翻页回溯标识(分页时使用,从上一次响应获取)
|
|
3429
|
+
>
|
|
3430
|
+
> #### 请求体示例:
|
|
3431
|
+
> ```json
|
|
3432
|
+
> payload = {
|
|
3433
|
+
> "keyword": "人工智能",
|
|
3434
|
+
> "cursor": 0,
|
|
3435
|
+
> "sort_type": "0",
|
|
3436
|
+
> "publish_time": "0",
|
|
3437
|
+
> "filter_duration": "0",
|
|
3438
|
+
> "content_type": "0",
|
|
3439
|
+
> "search_id": "",
|
|
3440
|
+
> "backtrace": ""
|
|
3441
|
+
> }
|
|
3442
|
+
> ```
|
|
3443
|
+
>
|
|
3444
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
3445
|
+
> - `status_code`: 响应状态码(0表示成功)
|
|
3446
|
+
> - `cursor`: 下一页的游标
|
|
3447
|
+
> - `has_more`: 是否还有更多数据(1=有,0=没有)
|
|
3448
|
+
> - `data[]`: 搜索到的视频内容列表
|
|
3449
|
+
> - `type`: 结果类型(通常为 `1`)
|
|
3450
|
+
> - `aweme_info`: 视频详细信息
|
|
3451
|
+
> - 基本信息:
|
|
3452
|
+
> - `aweme_id`: 视频ID
|
|
3453
|
+
> - `desc`: 视频描述文字
|
|
3454
|
+
> - `create_time`: 发布时间(时间戳)
|
|
3455
|
+
> - 作者信息 (`author`):
|
|
3456
|
+
> - `uid`: 用户ID
|
|
3457
|
+
> - `nickname`: 昵称
|
|
3458
|
+
> - `is_verified`: 是否认证
|
|
3459
|
+
> - `region`: 地区,如 "CN"
|
|
3460
|
+
> - `avatar_thumb.url_list`: 缩略头像列表
|
|
3461
|
+
> - `follower_count`: 粉丝数
|
|
3462
|
+
> - `enterprise_verify_reason`: 企业认证信息(如"央视新闻")
|
|
3463
|
+
> - 音乐信息 (`music`):
|
|
3464
|
+
> - `id_str`: 音乐ID
|
|
3465
|
+
> - `title`: 音乐标题
|
|
3466
|
+
> - `author`: 音乐作者
|
|
3467
|
+
> - `play_url.url_list`: 音乐播放链接
|
|
3468
|
+
> - 视频播放信息 (`video`):
|
|
3469
|
+
> - `play_addr.url_list`: 视频播放地址(高清)
|
|
3470
|
+
> - `cover.url_list`: 视频封面
|
|
3471
|
+
> - `dynamic_cover.url_list`: 动态封面
|
|
3472
|
+
> - `origin_cover.url_list`: 原始封面
|
|
3473
|
+
> - `ratio`: 视频分辨率,如 "720p"
|
|
3474
|
+
> - `duration`: 视频时长(单位:毫秒)
|
|
3475
|
+
> - `bit_rate[]`: 不同清晰度播放源
|
|
3476
|
+
> - `gear_name`: 清晰度名称(如"540_2_2")
|
|
3477
|
+
> - `bit_rate`: 比特率
|
|
3478
|
+
> - `play_addr.url_list`: 对应播放地址
|
|
3479
|
+
> - 互动数据 (`statistics`):
|
|
3480
|
+
> - `comment_count`: 评论数
|
|
3481
|
+
> - `digg_count`: 点赞数
|
|
3482
|
+
> - `share_count`: 分享数
|
|
3483
|
+
> - `play_count`: 播放次数
|
|
3484
|
+
> - 视频状态 (`status`):
|
|
3485
|
+
> - `is_delete`: 是否删除
|
|
3486
|
+
> - `is_private`: 是否私密
|
|
3487
|
+
> - `allow_share`: 是否允许分享
|
|
3488
|
+
> - `allow_comment`: 是否允许评论
|
|
3489
|
+
> - 其他字段:
|
|
3490
|
+
> - `share_url`: 视频分享外链
|
|
3491
|
+
> - `user_digged`: 用户是否点赞(0=未点赞,1=已点赞)
|
|
3492
|
+
>
|
|
3493
|
+
> - `guide_search_words[]`: 推荐的搜索关键词
|
|
3494
|
+
> - `id`: 推荐词ID
|
|
3495
|
+
> - `word`: 推荐的关键词内容
|
|
3496
|
+
> - `type`: 推荐类型(通常为 `recom`)
|
|
3497
|
+
> - `query_id`: 推荐请求ID
|
|
3498
|
+
>
|
|
3499
|
+
> - `extra`:
|
|
3500
|
+
> - `now`: 当前服务器时间戳(毫秒)
|
|
3501
|
+
> - `logid`: 日志ID
|
|
3502
|
+
>
|
|
3503
|
+
> # [English]
|
|
3504
|
+
> ### Purpose:
|
|
3505
|
+
> - Fetch video content search results from Douyin App based on a keyword.
|
|
3506
|
+
> - This API is focused on video search results only.
|
|
3507
|
+
>
|
|
3508
|
+
> ### Notes:
|
|
3509
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
3510
|
+
> - Each returned video includes rich details: author, video info, music, statistics, etc.
|
|
3511
|
+
> - Also returns a set of suggested keywords (`guide_search_words`) for user guidance.
|
|
3512
|
+
>
|
|
3513
|
+
> ### Parameters:
|
|
3514
|
+
> - keyword: Search keyword, e.g., "Artificial Intelligence"
|
|
3515
|
+
> - cursor: Pagination cursor (0 for the first page, use the last response cursor for subsequent pages)
|
|
3516
|
+
> - sort_type: Sorting method
|
|
3517
|
+
> - `0`: Comprehensive
|
|
3518
|
+
> - `1`: Most likes
|
|
3519
|
+
> - `2`: Latest
|
|
3520
|
+
> - publish_time: Publish time filter
|
|
3521
|
+
> - `0`: Unlimited
|
|
3522
|
+
> - `1`: Last day
|
|
3523
|
+
> - `7`: Last week
|
|
3524
|
+
> - `180`: Last half year
|
|
3525
|
+
> - filter_duration: Video duration filter
|
|
3526
|
+
> - `0`: Unlimited
|
|
3527
|
+
> - `0-1`: Within 1 minute
|
|
3528
|
+
> - `1-5`: 1 to 5 minutes
|
|
3529
|
+
> - `5-10000`: More than 5 minutes
|
|
3530
|
+
> - content_type: Content type filter
|
|
3531
|
+
> - `0`: Unlimited
|
|
3532
|
+
> - `1`: Video
|
|
3533
|
+
> - `2`: Picture
|
|
3534
|
+
> - `3`: Article
|
|
3535
|
+
> - search_id: Search ID used for pagination(obtained from the last response)
|
|
3536
|
+
> - backtrace: Backtrace identifier used for pagination(obtained from the last response)
|
|
3537
|
+
>
|
|
3538
|
+
> ### Request Body Example:
|
|
3539
|
+
> ```json
|
|
3540
|
+
> payload = {
|
|
3541
|
+
> "keyword": "Artificial Intelligence",
|
|
3542
|
+
> "cursor": 0,
|
|
3543
|
+
> "sort_type": "0",
|
|
3544
|
+
> "publish_time": "0",
|
|
3545
|
+
> "filter_duration": "0",
|
|
3546
|
+
> "content_type": "0",
|
|
3547
|
+
> "search_id": "",
|
|
3548
|
+
> "backtrace": ""
|
|
3549
|
+
> }
|
|
3550
|
+
> ```
|
|
3551
|
+
>
|
|
3552
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
3553
|
+
> - `status_code`: Response status code (0 = success)
|
|
3554
|
+
> - `cursor`: Cursor for the next page
|
|
3555
|
+
> - `has_more`: Whether more data is available (1=Yes, 0=No)
|
|
3556
|
+
> - `data[]`: List of video search results
|
|
3557
|
+
> - `type`: Result type (usually `1`)
|
|
3558
|
+
> - `aweme_info`: Detailed video information
|
|
3559
|
+
> - Basic info:
|
|
3560
|
+
> - `aweme_id`: Video ID
|
|
3561
|
+
> - `desc`: Description
|
|
3562
|
+
> - `create_time`: Publish timestamp
|
|
3563
|
+
> - Author (`author`):
|
|
3564
|
+
> - `uid`: User ID
|
|
3565
|
+
> - `nickname`: Nickname
|
|
3566
|
+
> - `is_verified`: Whether verified
|
|
3567
|
+
> - `region`: Region
|
|
3568
|
+
> - `avatar_thumb.url_list`: Thumbnail avatars
|
|
3569
|
+
> - `follower_count`: Follower count
|
|
3570
|
+
> - `enterprise_verify_reason`: Enterprise verification reason
|
|
3571
|
+
> - Music (`music`):
|
|
3572
|
+
> - `id_str`: Music ID
|
|
3573
|
+
> - `title`: Music title
|
|
3574
|
+
> - `author`: Music creator
|
|
3575
|
+
> - `play_url.url_list`: Music play URLs
|
|
3576
|
+
> - Video (`video`):
|
|
3577
|
+
> - `play_addr.url_list`: Play URLs
|
|
3578
|
+
> - `cover.url_list`: Cover images
|
|
3579
|
+
> - `dynamic_cover.url_list`: Dynamic covers
|
|
3580
|
+
> - `origin_cover.url_list`: Original covers
|
|
3581
|
+
> - `ratio`: Resolution, e.g., "720p"
|
|
3582
|
+
> - `duration`: Video duration (ms)
|
|
3583
|
+
> - `bit_rate[]`: Multiple resolution sources
|
|
3584
|
+
> - `gear_name`: Gear name
|
|
3585
|
+
> - `bit_rate`: Bit rate
|
|
3586
|
+
> - `play_addr.url_list`: Play URLs
|
|
3587
|
+
> - Statistics (`statistics`):
|
|
3588
|
+
> - `comment_count`: Number of comments
|
|
3589
|
+
> - `digg_count`: Number of likes
|
|
3590
|
+
> - `share_count`: Number of shares
|
|
3591
|
+
> - `play_count`: Number of plays
|
|
3592
|
+
> - Status (`status`):
|
|
3593
|
+
> - `is_delete`: Whether deleted
|
|
3594
|
+
> - `is_private`: Whether private
|
|
3595
|
+
> - `allow_share`: Whether sharing is allowed
|
|
3596
|
+
> - `allow_comment`: Whether commenting is allowed
|
|
3597
|
+
> - Other fields:
|
|
3598
|
+
> - `share_url`: External share link
|
|
3599
|
+
> - `user_digged`: Whether liked (0=No, 1=Yes)
|
|
3600
|
+
>
|
|
3601
|
+
> - `guide_search_words[]`: Suggested keywords
|
|
3602
|
+
> - `id`: Suggestion ID
|
|
3603
|
+
> - `word`: Suggested keyword
|
|
3604
|
+
> - `type`: Suggestion type (usually `recom`)
|
|
3605
|
+
> - `query_id`: Suggestion query ID
|
|
3606
|
+
>
|
|
3607
|
+
> - `extra`:
|
|
3608
|
+
> - `now`: Current server timestamp
|
|
3609
|
+
> - `logid`: Log ID
|
|
3610
|
+
|
|
3611
|
+
#### Parameters
|
|
3612
|
+
|
|
3613
|
+
None
|
|
3614
|
+
|
|
3615
|
+
#### Request Body
|
|
3616
|
+
|
|
3617
|
+
- required: Yes
|
|
3618
|
+
|
|
3619
|
+
##### `application/json`
|
|
3620
|
+
|
|
3621
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
3622
|
+
|
|
3623
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3624
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3625
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
3626
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
3627
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
3628
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
3629
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
3630
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
3631
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
3632
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
3633
|
+
|
|
3634
|
+
#### Success Response
|
|
3635
|
+
|
|
3636
|
+
##### `200 application/json`
|
|
3637
|
+
|
|
3638
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
3639
|
+
|
|
3640
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3641
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3642
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
3643
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
3644
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
3645
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
3646
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
3647
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
3648
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
3649
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
3650
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
3651
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
3652
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
3653
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
3654
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
3655
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
3656
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
3657
|
+
|
|
3658
|
+
<a id="post-api-u1-v1-douyin-search-fetch-video-search-v2"></a>
|
|
3659
|
+
### `POST /api/u1/v1/douyin/search/fetch_video_search_v2`
|
|
3660
|
+
|
|
3661
|
+
- Summary: 获取视频搜索 V2/Fetch video search V2
|
|
3662
|
+
- Capabilities: search / content details
|
|
3663
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
3664
|
+
- operationId: `fetch_video_search_v2_api_v1_douyin_search_fetch_video_search_v2_post`
|
|
3665
|
+
|
|
3666
|
+
#### Notes
|
|
3667
|
+
|
|
3668
|
+
> # [中文]
|
|
3669
|
+
> ### 用途:
|
|
3670
|
+
> - 获取抖音 App 中通过关键词搜索到的视频内容(V2版本接口)。
|
|
3671
|
+
> - 相较于 V1,返回字段更加详细,包括作者资料、视频多清晰度播放源、标签列表等。
|
|
3672
|
+
>
|
|
3673
|
+
> ### 备注:
|
|
3674
|
+
> - 初次请求时 `cursor` 传入0,`search_id`传空字符串。
|
|
3675
|
+
> - 返回的视频内容丰富,可用于推荐展示、内容抓取、智能分析等应用场景。
|
|
3676
|
+
>
|
|
3677
|
+
> ### 参数:
|
|
3678
|
+
> - keyword: 搜索关键词,如 "机器人"
|
|
3679
|
+
> - cursor: 翻页游标(首次请求传 0,翻页时使用上次响应的 cursor)
|
|
3680
|
+
> - sort_type: 排序方式
|
|
3681
|
+
> - `0`: 综合排序
|
|
3682
|
+
> - `1`: 最多点赞
|
|
3683
|
+
> - `2`: 最新发布
|
|
3684
|
+
> - publish_time: 发布时间筛选
|
|
3685
|
+
> - `0`: 不限
|
|
3686
|
+
> - `1`: 最近一天
|
|
3687
|
+
> - `7`: 最近一周
|
|
3688
|
+
> - `180`: 最近半年
|
|
3689
|
+
> - filter_duration: 视频时长筛选
|
|
3690
|
+
> - `0`: 不限
|
|
3691
|
+
> - `0-1`: 1 分钟以内
|
|
3692
|
+
> - `1-5`: 1-5 分钟
|
|
3693
|
+
> - `5-10000`: 5 分钟以上
|
|
3694
|
+
> - content_type: 内容类型筛选
|
|
3695
|
+
> - `0`: 不限
|
|
3696
|
+
> - `1`: 视频
|
|
3697
|
+
> - `2`: 图片
|
|
3698
|
+
> - `3`: 文章
|
|
3699
|
+
> - search_id: 搜索ID(分页时使用,从上一次响应获取)
|
|
3700
|
+
> - backtrace: 翻页回溯标识(分页时使用,从上一次响应获取)
|
|
3701
|
+
>
|
|
3702
|
+
> ### 请求体示例:
|
|
3703
|
+
> ```json
|
|
3704
|
+
> payload = {
|
|
3705
|
+
> "keyword": "机器人",
|
|
3706
|
+
> "cursor": 0,
|
|
3707
|
+
> "sort_type": "0",
|
|
3708
|
+
> "publish_time": "0",
|
|
3709
|
+
> "filter_duration": "0",
|
|
3710
|
+
> "content_type": "0",
|
|
3711
|
+
> "search_id": "",
|
|
3712
|
+
> "backtrace": ""
|
|
3713
|
+
> }
|
|
3714
|
+
> ```
|
|
3715
|
+
>
|
|
3716
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
3717
|
+
> - `business_data[]`: 搜索返回的数据列表
|
|
3718
|
+
> - `data_id`: 数据编号(字符串,如 "0")
|
|
3719
|
+
> - `type`: 数据类型(1=视频)
|
|
3720
|
+
> - `data`:
|
|
3721
|
+
> - `type`: 同上(1)
|
|
3722
|
+
> - `aweme_info`: 视频详细信息
|
|
3723
|
+
> - 基础信息:
|
|
3724
|
+
> - `aweme_id`: 视频ID
|
|
3725
|
+
> - `desc`: 视频描述
|
|
3726
|
+
> - `create_time`: 发布时间(时间戳)
|
|
3727
|
+
> - 作者信息 (`author`):
|
|
3728
|
+
> - `uid`: 用户唯一ID
|
|
3729
|
+
> - `short_id`: 用户短ID
|
|
3730
|
+
> - `nickname`: 用户昵称
|
|
3731
|
+
> - `signature`: 个性签名
|
|
3732
|
+
> - `follower_count`: 粉丝数
|
|
3733
|
+
> - `is_verified`: 是否认证
|
|
3734
|
+
> - `region`: 地区,如 "CN"
|
|
3735
|
+
> - `avatar_thumb.url_list`: 小头像URL列表
|
|
3736
|
+
> - `avatar_medium.url_list`: 中头像URL列表
|
|
3737
|
+
> - `avatar_larger.url_list`: 大头像URL列表
|
|
3738
|
+
> - `enterprise_verify_reason`: 企业认证信息(如"店铺账号")
|
|
3739
|
+
> - 背景音乐 (`music`):
|
|
3740
|
+
> - `id_str`: 音乐ID
|
|
3741
|
+
> - `title`: 音乐标题
|
|
3742
|
+
> - `author`: 音乐创作者昵称
|
|
3743
|
+
> - `play_url.url_list`: 音乐播放链接列表
|
|
3744
|
+
> - 视频播放信息 (`video`):
|
|
3745
|
+
> - `play_addr.url_list`: 播放地址列表(支持高清播放)
|
|
3746
|
+
> - `cover.url_list`: 封面图片列表
|
|
3747
|
+
> - `dynamic_cover.url_list`: 动态封面列表
|
|
3748
|
+
> - `origin_cover.url_list`: 原始封面列表
|
|
3749
|
+
> - `duration`: 时长(毫秒)
|
|
3750
|
+
> - `ratio`: 分辨率(如"720p")
|
|
3751
|
+
> - `bit_rate[]`: 多码率播放信息
|
|
3752
|
+
> - `gear_name`: 清晰度名称(如"540_2_2")
|
|
3753
|
+
> - `bit_rate`: 码率(单位bps)
|
|
3754
|
+
> - `play_addr.url_list`: 对应清晰度播放地址列表
|
|
3755
|
+
> - 标签列表 (`cha_list[]`):
|
|
3756
|
+
> - `cha_name`: 话题名(如 "#宇树科技")
|
|
3757
|
+
> - `cid`: 话题ID
|
|
3758
|
+
> - `share_url`: 话题分享链接
|
|
3759
|
+
> - 统计信息 (`statistics`):
|
|
3760
|
+
> - `comment_count`: 评论数
|
|
3761
|
+
> - `digg_count`: 点赞数
|
|
3762
|
+
> - `share_count`: 分享数
|
|
3763
|
+
> - `play_count`: 播放次数
|
|
3764
|
+
> - `collect_count`: 收藏次数
|
|
3765
|
+
> - 状态信息 (`status`):
|
|
3766
|
+
> - `is_delete`: 是否被删除
|
|
3767
|
+
> - `is_private`: 是否私密
|
|
3768
|
+
> - `allow_share`: 是否允许分享
|
|
3769
|
+
> - `allow_comment`: 是否允许评论
|
|
3770
|
+
> - 其他字段:
|
|
3771
|
+
> - `share_url`: 视频外链
|
|
3772
|
+
> - `user_digged`: 当前用户是否点赞(0=否,1=是)
|
|
3773
|
+
>
|
|
3774
|
+
> - `cursor`: 翻页游标(用于下次请求)
|
|
3775
|
+
> - `has_more`: 是否还有更多数据(1=有,0=无)
|
|
3776
|
+
>
|
|
3777
|
+
> # [English]
|
|
3778
|
+
> ### Purpose:
|
|
3779
|
+
> - Fetch video search results from Douyin App using V2 API version.
|
|
3780
|
+
> - Compared to V1, returns more detailed information including author details, multi-resolution video sources, and hashtags.
|
|
3781
|
+
>
|
|
3782
|
+
> ### Notes:
|
|
3783
|
+
> - Set `cursor` to 0 and `search_id` to an empty string for the first request.
|
|
3784
|
+
> - The response contains rich video data, suitable for display, content scraping, or intelligent analysis.
|
|
3785
|
+
>
|
|
3786
|
+
> ### Parameters:
|
|
3787
|
+
> - keyword: Search keyword, e.g., "robot"
|
|
3788
|
+
> - cursor: Pagination cursor (0 for the first page, use the last response cursor for subsequent pages)
|
|
3789
|
+
> - sort_type: Sorting method
|
|
3790
|
+
> - `0`: Comprehensive
|
|
3791
|
+
> - `1`: Most likes
|
|
3792
|
+
> - `2`: Latest
|
|
3793
|
+
> - publish_time: Publish time filter
|
|
3794
|
+
> - `0`: Unlimited
|
|
3795
|
+
> - `1`: Last day
|
|
3796
|
+
> - `7`: Last week
|
|
3797
|
+
> - `180`: Last half year
|
|
3798
|
+
> - filter_duration: Video duration filter
|
|
3799
|
+
> - `0`: Unlimited
|
|
3800
|
+
> - `0-1`: Within 1 minute
|
|
3801
|
+
> - `1-5`: 1 to 5 minutes
|
|
3802
|
+
> - `5-10000`: More than 5 minutes
|
|
3803
|
+
> - content_type: Content type filter
|
|
3804
|
+
> - `0`: Unlimited
|
|
3805
|
+
> - `1`: Video
|
|
3806
|
+
> - `2`: Picture
|
|
3807
|
+
> - `3`: Article
|
|
3808
|
+
> - search_id: Search ID used for pagination(obtained from the last response)
|
|
3809
|
+
> - backtrace: Backtrace identifier used for pagination(obtained from the last response)
|
|
3810
|
+
>
|
|
3811
|
+
> ### Request Body Example:
|
|
3812
|
+
> ```json
|
|
3813
|
+
> payload = {
|
|
3814
|
+
> "keyword": "robot",
|
|
3815
|
+
> "cursor": 0,
|
|
3816
|
+
> "sort_type": "0",
|
|
3817
|
+
> "publish_time": "0",
|
|
3818
|
+
> "filter_duration": "0",
|
|
3819
|
+
> "content_type": "0",
|
|
3820
|
+
> "search_id": "",
|
|
3821
|
+
> "backtrace": ""
|
|
3822
|
+
> }
|
|
3823
|
+
> ```
|
|
3824
|
+
>
|
|
3825
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
3826
|
+
> - `business_data[]`: List of returned data items
|
|
3827
|
+
> - `data_id`: Data ID (string, e.g., "0")
|
|
3828
|
+
> - `type`: Data type (1=Video)
|
|
3829
|
+
> - `data`:
|
|
3830
|
+
> - `type`: Same as above (1)
|
|
3831
|
+
> - `aweme_info`: Detailed video information
|
|
3832
|
+
> - Basic Info:
|
|
3833
|
+
> - `aweme_id`: Video ID
|
|
3834
|
+
> - `desc`: Video description
|
|
3835
|
+
> - `create_time`: Creation timestamp
|
|
3836
|
+
> - Author Info (`author`):
|
|
3837
|
+
> - `uid`: Unique User ID
|
|
3838
|
+
> - `short_id`: Short ID
|
|
3839
|
+
> - `nickname`: Nickname
|
|
3840
|
+
> - `signature`: Bio
|
|
3841
|
+
> - `follower_count`: Follower count
|
|
3842
|
+
> - `is_verified`: Whether verified
|
|
3843
|
+
> - `region`: Region, e.g., "CN"
|
|
3844
|
+
> - `avatar_thumb.url_list`: Thumbnail avatar URLs
|
|
3845
|
+
> - `avatar_medium.url_list`: Medium avatar URLs
|
|
3846
|
+
> - `avatar_larger.url_list`: Large avatar URLs
|
|
3847
|
+
> - `enterprise_verify_reason`: Enterprise verification info
|
|
3848
|
+
> - Music (`music`):
|
|
3849
|
+
> - `id_str`: Music ID
|
|
3850
|
+
> - `title`: Music title
|
|
3851
|
+
> - `author`: Music creator nickname
|
|
3852
|
+
> - `play_url.url_list`: List of play URLs
|
|
3853
|
+
> - Video (`video`):
|
|
3854
|
+
> - `play_addr.url_list`: Play URLs (supports HD)
|
|
3855
|
+
> - `cover.url_list`: Cover images
|
|
3856
|
+
> - `dynamic_cover.url_list`: Dynamic covers
|
|
3857
|
+
> - `origin_cover.url_list`: Original covers
|
|
3858
|
+
> - `duration`: Duration (milliseconds)
|
|
3859
|
+
> - `ratio`: Resolution (e.g., "720p")
|
|
3860
|
+
> - `bit_rate[]`: Multiple bitrates
|
|
3861
|
+
> - `gear_name`: Gear name
|
|
3862
|
+
> - `bit_rate`: Bitrate (bps)
|
|
3863
|
+
> - `play_addr.url_list`: Play URLs
|
|
3864
|
+
> - Hashtags (`cha_list[]`):
|
|
3865
|
+
> - `cha_name`: Hashtag name (e.g., "#UnitreeRobot")
|
|
3866
|
+
> - `cid`: Hashtag ID
|
|
3867
|
+
> - `share_url`: Hashtag share link
|
|
3868
|
+
> - Statistics (`statistics`):
|
|
3869
|
+
> - `comment_count`: Number of comments
|
|
3870
|
+
> - `digg_count`: Number of likes
|
|
3871
|
+
> - `share_count`: Number of shares
|
|
3872
|
+
> - `play_count`: Number of plays
|
|
3873
|
+
> - `collect_count`: Number of collects
|
|
3874
|
+
> - Status (`status`):
|
|
3875
|
+
> - `is_delete`: Whether deleted
|
|
3876
|
+
> - `is_private`: Whether private
|
|
3877
|
+
> - `allow_share`: Whether sharing is allowed
|
|
3878
|
+
> - `allow_comment`: Whether commenting is allowed
|
|
3879
|
+
> - Other fields:
|
|
3880
|
+
> - `share_url`: Video external share link
|
|
3881
|
+
> - `user_digged`: Whether the user has liked (0=No, 1=Yes)
|
|
3882
|
+
>
|
|
3883
|
+
> - `cursor`: Cursor for next page
|
|
3884
|
+
> - `has_more`: Whether more data is available (1=Yes, 0=No)
|
|
3885
|
+
|
|
3886
|
+
#### Parameters
|
|
3887
|
+
|
|
3888
|
+
None
|
|
3889
|
+
|
|
3890
|
+
#### Request Body
|
|
3891
|
+
|
|
3892
|
+
- required: Yes
|
|
3893
|
+
|
|
3894
|
+
##### `application/json`
|
|
3895
|
+
|
|
3896
|
+
- Schema summary: `keyword`:string, `cursor`:integer, `sort_type`:string, `publish_time`:string, `filter_duration`:string, `content_type`:string, `search_id`:string, `backtrace`:string
|
|
3897
|
+
|
|
3898
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3899
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3900
|
+
| keyword | string | No | 关键词 / Keyword | 猫咪 | None | None |
|
|
3901
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
3902
|
+
| sort_type | string | No | 排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest | 0 | None | None |
|
|
3903
|
+
| publish_time | string | No | 发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year | 0 | None | None |
|
|
3904
|
+
| filter_duration | string | No | 视频时长过滤:0=不限 0-1=一分钟以内 1-5=一到五分钟 5-10000=五分钟以上 / Video duration filter: 0=Unlimited, 0-1=Within 1 minute, 1-5=1 to 5 minutes, 5-10000=More than 5 minutes | 0 | None | None |
|
|
3905
|
+
| content_type | string | No | 内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article | 0 | None | None |
|
|
3906
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
3907
|
+
| backtrace | string | No | 翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response | None | None | None |
|
|
3908
|
+
|
|
3909
|
+
#### Success Response
|
|
3910
|
+
|
|
3911
|
+
##### `200 application/json`
|
|
3912
|
+
|
|
3913
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
3914
|
+
|
|
3915
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
3916
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
3917
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
3918
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
3919
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
3920
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
3921
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
3922
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
3923
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
3924
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
3925
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
3926
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
3927
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
3928
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
3929
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
3930
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
3931
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|
|
3932
|
+
|
|
3933
|
+
<a id="post-api-u1-v1-douyin-search-fetch-vision-search"></a>
|
|
3934
|
+
### `POST /api/u1/v1/douyin/search/fetch_vision_search`
|
|
3935
|
+
|
|
3936
|
+
- Summary: 获取图像识别搜索/Fetch vision search (image-based search)
|
|
3937
|
+
- Capabilities: search
|
|
3938
|
+
- Auth: Header `Authorization: Bearer {token}`; docs also allow Cookie `Authorization` as fallback (`HTTPBearer`)
|
|
3939
|
+
- operationId: `fetch_vision_search_api_v1_douyin_search_fetch_vision_search_post`
|
|
3940
|
+
|
|
3941
|
+
#### Notes
|
|
3942
|
+
|
|
3943
|
+
> # [中文]
|
|
3944
|
+
> ### 用途:
|
|
3945
|
+
> - 抖音APP图像识别搜索(以图搜图/视觉搜索)。
|
|
3946
|
+
> - 通过图片进行视觉搜索,返回相似的视频/图文内容。
|
|
3947
|
+
> - `image_uri` 可从抖音其他接口的返回数据中获取(如视频详情、搜索结果、用户主页等接口的图片uri字段)。
|
|
3948
|
+
>
|
|
3949
|
+
> ### 备注:
|
|
3950
|
+
> - 初次请求时 `cursor` 传入 0,`search_id` 传空字符串。
|
|
3951
|
+
> - 翻页时需从上一次响应中获取 `cursor` 和 `search_id` 字段值。
|
|
3952
|
+
> - `image_uri` 是必填参数,需要先通过抖音图片上传接口获取,或在单一视频接口中获取,其他途径如各类搜索接口返回的图片URI均可使用。
|
|
3953
|
+
> - `detection` 表示图片中需要识别的区域,格式为 "x1,y1,x2,y2",默认 "0.1,0.1,0.9,0.9" 表示全图。
|
|
3954
|
+
>
|
|
3955
|
+
> ### 参数:
|
|
3956
|
+
> - image_uri: 图片URI,通过图片上传接口获取,或在单一视频接口中获取,其他途径如各类搜索接口返回的图片URI均可使用。(必填)
|
|
3957
|
+
> - cursor: 翻页游标(首次请求传 0)
|
|
3958
|
+
> - search_id: 搜索ID(首次请求传空,翻页时从上次响应获取)
|
|
3959
|
+
> - search_source: 搜索来源
|
|
3960
|
+
> - `graphic_detail`: 图片详情页搜索(默认)
|
|
3961
|
+
> - `visual_normal_search`: 带关键词追加搜索(需要传入 user_query)
|
|
3962
|
+
> - detection: 检测区域坐标,格式为 "x1,y1,x2,y2"
|
|
3963
|
+
> - detection_index: 检测索引,默认 0
|
|
3964
|
+
> - user_query: 搜索关键词,仅当 search_source="visual_normal_search" 时使用
|
|
3965
|
+
> - aweme_id: 原视频ID,仅当 search_source="visual_normal_search" 时使用
|
|
3966
|
+
>
|
|
3967
|
+
> ### 请求体示例:
|
|
3968
|
+
> 基础图片搜索:
|
|
3969
|
+
> ```json
|
|
3970
|
+
> payload = {
|
|
3971
|
+
> "image_uri": "20251221204239F0C21D7645F172B6085C",
|
|
3972
|
+
> "cursor": 0,
|
|
3973
|
+
> "search_id": "",
|
|
3974
|
+
> "search_source": "graphic_detail",
|
|
3975
|
+
> "detection": "0.1,0.1,0.9,0.9",
|
|
3976
|
+
> "detection_index": 0
|
|
3977
|
+
> }
|
|
3978
|
+
> ```
|
|
3979
|
+
>
|
|
3980
|
+
> 带关键词的追加搜索:
|
|
3981
|
+
> ```json
|
|
3982
|
+
> payload = {
|
|
3983
|
+
> "image_uri": "20251221204239F0C21D7645F172B6085C",
|
|
3984
|
+
> "cursor": 0,
|
|
3985
|
+
> "search_id": "2025122120452038252994F25A4BAEB043",
|
|
3986
|
+
> "search_source": "visual_normal_search",
|
|
3987
|
+
> "detection": "0.1,0.1,0.9,0.9",
|
|
3988
|
+
> "detection_index": 0,
|
|
3989
|
+
> "user_query": "游戏",
|
|
3990
|
+
> "aweme_id": "7523532488087817529"
|
|
3991
|
+
> }
|
|
3992
|
+
> ```
|
|
3993
|
+
>
|
|
3994
|
+
> ### 返回(部分常用字段,实际返回字段更多,一切以实际响应为准):
|
|
3995
|
+
> - `status_code`: 响应状态码(0为成功)
|
|
3996
|
+
> - `cursor`: 下一页游标
|
|
3997
|
+
> - `has_more`: 是否还有更多数据(1=有,0=无)
|
|
3998
|
+
> - `search_id`: 搜索ID,翻页时使用
|
|
3999
|
+
> - `data[]`: 搜索结果列表
|
|
4000
|
+
> - `type`: 结果类型
|
|
4001
|
+
> - `aweme_info`: 视频/图文详细信息
|
|
4002
|
+
> - `aweme_id`: 视频ID
|
|
4003
|
+
> - `desc`: 视频描述
|
|
4004
|
+
> - `author`: 作者信息
|
|
4005
|
+
> - `video`: 视频播放信息
|
|
4006
|
+
> - `statistics`: 互动统计
|
|
4007
|
+
>
|
|
4008
|
+
> # [English]
|
|
4009
|
+
> ### Purpose:
|
|
4010
|
+
> - Douyin APP vision search (image-based search / reverse image search).
|
|
4011
|
+
> - Search for similar videos/images using an image.
|
|
4012
|
+
> - The `image_uri` can be obtained from other Douyin API responses (such as video details, search results, user profile, etc.), and used directly for vision search.
|
|
4013
|
+
>
|
|
4014
|
+
> ### Notes:
|
|
4015
|
+
> - Set `cursor` to 0 and `search_id` to empty string for the first request.
|
|
4016
|
+
> - For pagination, obtain `cursor` and `search_id` values from the previous response.
|
|
4017
|
+
> - `image_uri` is a required parameter. It can be obtained from Douyin API responses that contain image information, such as video details API, general search API, user profile API, etc. These responses typically include image URIs that can be used directly for vision search.
|
|
4018
|
+
> - `detection` represents the area to be recognized in the image, format "x1,y1,x2,y2", default "0.1,0.1,0.9,0.9" means the whole image.
|
|
4019
|
+
>
|
|
4020
|
+
> ### Parameters:
|
|
4021
|
+
> - image_uri: Image URI obtained from other Douyin API responses (e.g., video details, search results, user profile) (required)
|
|
4022
|
+
> - cursor: Pagination cursor (0 for the first page)
|
|
4023
|
+
> - search_id: Search ID (empty for first request, obtained from previous response for pagination)
|
|
4024
|
+
> - search_source: Search source
|
|
4025
|
+
> - `graphic_detail`: Image detail page search (default)
|
|
4026
|
+
> - `visual_normal_search`: Search with keyword append (requires user_query)
|
|
4027
|
+
> - detection: Detection area coordinates, format "x1,y1,x2,y2"
|
|
4028
|
+
> - detection_index: Detection index, default 0
|
|
4029
|
+
> - user_query: Search keyword, only used when search_source="visual_normal_search"
|
|
4030
|
+
> - aweme_id: Original video ID, only used when search_source="visual_normal_search"
|
|
4031
|
+
>
|
|
4032
|
+
> ### Request Body Example:
|
|
4033
|
+
> Basic image search:
|
|
4034
|
+
> ```json
|
|
4035
|
+
> payload = {
|
|
4036
|
+
> "image_uri": "20251221204239F0C21D7645F172B6085C",
|
|
4037
|
+
> "cursor": 0,
|
|
4038
|
+
> "search_id": "",
|
|
4039
|
+
> "search_source": "graphic_detail",
|
|
4040
|
+
> "detection": "0.1,0.1,0.9,0.9",
|
|
4041
|
+
> "detection_index": 0
|
|
4042
|
+
> }
|
|
4043
|
+
> ```
|
|
4044
|
+
>
|
|
4045
|
+
> Search with keyword append:
|
|
4046
|
+
> ```json
|
|
4047
|
+
> payload = {
|
|
4048
|
+
> "image_uri": "20251221204239F0C21D7645F172B6085C",
|
|
4049
|
+
> "cursor": 0,
|
|
4050
|
+
> "search_id": "2025122120452038252994F25A4BAEB043",
|
|
4051
|
+
> "search_source": "visual_normal_search",
|
|
4052
|
+
> "detection": "0.1,0.1,0.9,0.9",
|
|
4053
|
+
> "detection_index": 0,
|
|
4054
|
+
> "user_query": "game",
|
|
4055
|
+
> "aweme_id": "7523532488087817529"
|
|
4056
|
+
> }
|
|
4057
|
+
> ```
|
|
4058
|
+
>
|
|
4059
|
+
> ### Response (common fields, actual response may contain more fields):
|
|
4060
|
+
> - `status_code`: Response status code (0 means success)
|
|
4061
|
+
> - `cursor`: Cursor for next page
|
|
4062
|
+
> - `has_more`: Whether more data is available (1=Yes, 0=No)
|
|
4063
|
+
> - `search_id`: Search ID for pagination
|
|
4064
|
+
> - `data[]`: List of search results
|
|
4065
|
+
> - `type`: Result type
|
|
4066
|
+
> - `aweme_info`: Video/image post details
|
|
4067
|
+
> - `aweme_id`: Video ID
|
|
4068
|
+
> - `desc`: Video description
|
|
4069
|
+
> - `author`: Author information
|
|
4070
|
+
> - `video`: Video playback information
|
|
4071
|
+
> - `statistics`: Interaction statistics
|
|
4072
|
+
|
|
4073
|
+
#### Parameters
|
|
4074
|
+
|
|
4075
|
+
None
|
|
4076
|
+
|
|
4077
|
+
#### Request Body
|
|
4078
|
+
|
|
4079
|
+
- required: Yes
|
|
4080
|
+
|
|
4081
|
+
##### `application/json`
|
|
4082
|
+
|
|
4083
|
+
- Schema summary: `image_uri*`:string, `cursor`:integer, `search_id`:string, `search_source`:string, `detection`:string, `detection_index`:integer, `user_query`:string, `aweme_id`:string
|
|
4084
|
+
|
|
4085
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
4086
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
4087
|
+
| image_uri | string | Yes | 图片URI,从抖音其他接口返回中获取(如视频详情、搜索结果、用户主页等接口的图片uri字段)/ Image URI obtained from other Douyin API responses (e.g., video details, search results, user profile - look for image uri fields) | None | None | None |
|
|
4088
|
+
| cursor | integer | No | 偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response | 0 | None | None |
|
|
4089
|
+
| search_id | string | No | 搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response | None | None | None |
|
|
4090
|
+
| search_source | string | No | 搜索来源:graphic_detail=图片详情页搜索, visual_normal_search=带关键词追加搜索 / Search source: graphic_detail=Image detail page search, visual_normal_search=Search with keyword append | graphic_detail | None | None |
|
|
4091
|
+
| detection | string | No | 检测区域坐标,格式为 x1,y1,x2,y2 / Detection area coordinates in format x1,y1,x2,y2 | 0.1,0.1,0.9,0.9 | None | None |
|
|
4092
|
+
| detection_index | integer | No | 检测索引 / Detection index | 0 | None | None |
|
|
4093
|
+
| user_query | string | No | 搜索关键词,仅当search_source=visual_normal_search时使用 / Search keyword, only used when search_source=visual_normal_search | None | None | None |
|
|
4094
|
+
| aweme_id | string | No | 原视频ID,仅当search_source=visual_normal_search时使用 / Original video ID, only used when search_source=visual_normal_search | None | None | None |
|
|
4095
|
+
|
|
4096
|
+
#### Success Response
|
|
4097
|
+
|
|
4098
|
+
##### `200 application/json`
|
|
4099
|
+
|
|
4100
|
+
- Schema summary: `code`:integer, `request_id`:string, `message`:string, `message_zh`:string, `support`:string, `time`:string, `time_stamp`:integer, `time_zone`:string, ...
|
|
4101
|
+
|
|
4102
|
+
| Field | Type | Required | Description | Default | Example | Enum |
|
|
4103
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
4104
|
+
| code | integer | No | HTTP status code \| HTTP状态码 | 200 | None | None |
|
|
4105
|
+
| request_id | string | No | Unique request identifier \| 唯一请求标识符 | None | None | None |
|
|
4106
|
+
| message | string | No | Response message (EN-US) \| 响应消息 (English) | Request successful. This request will incur a charge. | None | None |
|
|
4107
|
+
| message_zh | string | No | Response message (ZH-CN) \| 响应消息 (中文) | 请求成功,本次请求将被计费。 | None | None |
|
|
4108
|
+
| support | string | No | Support message \| 支持消息 | Discord: https://discord.gg/aMEAS8Xsvz | None | None |
|
|
4109
|
+
| time | string | No | The time the response was generated \| 生成响应的时间 | None | None | None |
|
|
4110
|
+
| time_stamp | integer | No | The timestamp the response was generated \| 生成响应的时间戳 | None | None | None |
|
|
4111
|
+
| time_zone | string | No | The timezone of the response time \| 响应时间的时区 | America/Los_Angeles | None | None |
|
|
4112
|
+
| docs | string | No | Link to the API Swagger documentation for this endpoint \| 此端点的 API Swagger 文档链接 | None | None | None |
|
|
4113
|
+
| cache_message | string | No | Cache message (EN-US) \| 缓存消息 (English) | This request will be cached. You can access the cached result directly using th… | None | None |
|
|
4114
|
+
| cache_message_zh | string | No | Cache message (ZH-CN) \| 缓存消息 (中文) | 本次请求将被缓存,你可以使用下面的 URL 直接访问缓存结果,有效期为 24 小时,访问缓存不会产生额外费用。 | None | None |
|
|
4115
|
+
| cache_url | string | No | The URL to access the cached result \| 访问缓存结果的 URL | None | None | None |
|
|
4116
|
+
| router | string | No | The endpoint that generated this response \| 生成此响应的端点 | None | None | None |
|
|
4117
|
+
| params | dynamic object | No | The parameters used in the request \| 请求中使用的参数 | None | None | None |
|
|
4118
|
+
| data | null | No | The response data \| 响应数据 | None | None | None |
|