@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.
Files changed (451) hide show
  1. package/.skill-package-allowlist.txt +4 -0
  2. package/LICENSE +21 -0
  3. package/README.md +167 -0
  4. package/README.zh-CN.md +167 -0
  5. package/bin/tikomni-skills.js +127 -0
  6. package/env.example +160 -0
  7. package/lib/installer.js +176 -0
  8. package/package.json +44 -0
  9. package/skills/creator-analysis/SKILL.md +71 -0
  10. package/skills/creator-analysis/agents/openai.yaml +4 -0
  11. package/skills/creator-analysis/env.example +36 -0
  12. package/skills/creator-analysis/references/api-capability-index.md +92 -0
  13. package/skills/creator-analysis/references/api-contracts/asr-api.md +130 -0
  14. package/skills/creator-analysis/references/api-contracts/bilibili-app-api.md +776 -0
  15. package/skills/creator-analysis/references/api-contracts/bilibili-web-api.md +2017 -0
  16. package/skills/creator-analysis/references/api-contracts/demo-api.md +717 -0
  17. package/skills/creator-analysis/references/api-contracts/douyin-app-v3-api.md +3594 -0
  18. package/skills/creator-analysis/references/api-contracts/douyin-billboard-api.md +2274 -0
  19. package/skills/creator-analysis/references/api-contracts/douyin-creator-api.md +1575 -0
  20. package/skills/creator-analysis/references/api-contracts/douyin-creator-v2-api.md +3254 -0
  21. package/skills/creator-analysis/references/api-contracts/douyin-search-api.md +4118 -0
  22. package/skills/creator-analysis/references/api-contracts/douyin-web-api.md +5544 -0
  23. package/skills/creator-analysis/references/api-contracts/douyin-xingtu-api.md +1916 -0
  24. package/skills/creator-analysis/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
  25. package/skills/creator-analysis/references/api-contracts/health-check.md +69 -0
  26. package/skills/creator-analysis/references/api-contracts/hybrid-parsing.md +78 -0
  27. package/skills/creator-analysis/references/api-contracts/instagram-v1-api.md +2256 -0
  28. package/skills/creator-analysis/references/api-contracts/instagram-v2-api.md +2011 -0
  29. package/skills/creator-analysis/references/api-contracts/instagram-v3-api.md +2630 -0
  30. package/skills/creator-analysis/references/api-contracts/ios-shortcut.md +44 -0
  31. package/skills/creator-analysis/references/api-contracts/kuaishou-app-api.md +1518 -0
  32. package/skills/creator-analysis/references/api-contracts/kuaishou-web-api.md +1242 -0
  33. package/skills/creator-analysis/references/api-contracts/lemon8-app-api.md +1088 -0
  34. package/skills/creator-analysis/references/api-contracts/linkedin-web-api.md +1949 -0
  35. package/skills/creator-analysis/references/api-contracts/media-ingest-api.md +126 -0
  36. package/skills/creator-analysis/references/api-contracts/pipixia-app-api.md +1142 -0
  37. package/skills/creator-analysis/references/api-contracts/reddit-app-api.md +2025 -0
  38. package/skills/creator-analysis/references/api-contracts/sora2-api.md +2266 -0
  39. package/skills/creator-analysis/references/api-contracts/temp-mail-api.md +208 -0
  40. package/skills/creator-analysis/references/api-contracts/threads-web-api.md +897 -0
  41. package/skills/creator-analysis/references/api-contracts/tikhub-downloader-api.md +134 -0
  42. package/skills/creator-analysis/references/api-contracts/tikhub-user-api.md +494 -0
  43. package/skills/creator-analysis/references/api-contracts/tiktok-ads-api.md +5947 -0
  44. package/skills/creator-analysis/references/api-contracts/tiktok-analytics-api.md +968 -0
  45. package/skills/creator-analysis/references/api-contracts/tiktok-app-v3-api.md +5735 -0
  46. package/skills/creator-analysis/references/api-contracts/tiktok-creator-api.md +1951 -0
  47. package/skills/creator-analysis/references/api-contracts/tiktok-interaction-api.md +742 -0
  48. package/skills/creator-analysis/references/api-contracts/tiktok-shop-web-api.md +1890 -0
  49. package/skills/creator-analysis/references/api-contracts/tiktok-web-api.md +4448 -0
  50. package/skills/creator-analysis/references/api-contracts/toutiao-app-api.md +342 -0
  51. package/skills/creator-analysis/references/api-contracts/toutiao-web-api.md +143 -0
  52. package/skills/creator-analysis/references/api-contracts/twitter-web-api.md +989 -0
  53. package/skills/creator-analysis/references/api-contracts/wechat-channels-api.md +809 -0
  54. package/skills/creator-analysis/references/api-contracts/wechat-media-platform-web-api.md +677 -0
  55. package/skills/creator-analysis/references/api-contracts/weibo-app-api.md +1547 -0
  56. package/skills/creator-analysis/references/api-contracts/weibo-web-api.md +798 -0
  57. package/skills/creator-analysis/references/api-contracts/weibo-web-v2-api.md +2459 -0
  58. package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-api.md +1291 -0
  59. package/skills/creator-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
  60. package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-api.md +1324 -0
  61. package/skills/creator-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
  62. package/skills/creator-analysis/references/api-contracts/xigua-app-v2-api.md +489 -0
  63. package/skills/creator-analysis/references/api-contracts/youtube-web-api.md +2636 -0
  64. package/skills/creator-analysis/references/api-contracts/youtube-web-v2-api.md +2660 -0
  65. package/skills/creator-analysis/references/api-contracts/zhihu-web-api.md +2315 -0
  66. package/skills/creator-analysis/references/api-tags/asr-api.md +100 -0
  67. package/skills/creator-analysis/references/api-tags/bilibili-app-api.md +482 -0
  68. package/skills/creator-analysis/references/api-tags/bilibili-web-api.md +1267 -0
  69. package/skills/creator-analysis/references/api-tags/demo-api.md +365 -0
  70. package/skills/creator-analysis/references/api-tags/douyin-app-v3-api.md +2012 -0
  71. package/skills/creator-analysis/references/api-tags/douyin-billboard-api.md +1428 -0
  72. package/skills/creator-analysis/references/api-tags/douyin-creator-api.md +694 -0
  73. package/skills/creator-analysis/references/api-tags/douyin-creator-v2-api.md +694 -0
  74. package/skills/creator-analysis/references/api-tags/douyin-search-api.md +1059 -0
  75. package/skills/creator-analysis/references/api-tags/douyin-web-api.md +3314 -0
  76. package/skills/creator-analysis/references/api-tags/douyin-xingtu-api.md +935 -0
  77. package/skills/creator-analysis/references/api-tags/douyin-xingtu-v2-api.md +925 -0
  78. package/skills/creator-analysis/references/api-tags/health-check.md +40 -0
  79. package/skills/creator-analysis/references/api-tags/hybrid-parsing.md +57 -0
  80. package/skills/creator-analysis/references/api-tags/instagram-v1-api.md +1224 -0
  81. package/skills/creator-analysis/references/api-tags/instagram-v2-api.md +1147 -0
  82. package/skills/creator-analysis/references/api-tags/instagram-v3-api.md +1123 -0
  83. package/skills/creator-analysis/references/api-tags/ios-shortcut.md +45 -0
  84. package/skills/creator-analysis/references/api-tags/kuaishou-app-api.md +846 -0
  85. package/skills/creator-analysis/references/api-tags/kuaishou-web-api.md +551 -0
  86. package/skills/creator-analysis/references/api-tags/lemon8-app-api.md +687 -0
  87. package/skills/creator-analysis/references/api-tags/linkedin-web-api.md +1105 -0
  88. package/skills/creator-analysis/references/api-tags/media-ingest-api.md +112 -0
  89. package/skills/creator-analysis/references/api-tags/pipixia-app-api.md +721 -0
  90. package/skills/creator-analysis/references/api-tags/reddit-app-api.md +1057 -0
  91. package/skills/creator-analysis/references/api-tags/sora2-api.md +737 -0
  92. package/skills/creator-analysis/references/api-tags/temp-mail-api.md +136 -0
  93. package/skills/creator-analysis/references/api-tags/threads-web-api.md +472 -0
  94. package/skills/creator-analysis/references/api-tags/tikhub-downloader-api.md +65 -0
  95. package/skills/creator-analysis/references/api-tags/tikhub-user-api.md +253 -0
  96. package/skills/creator-analysis/references/api-tags/tiktok-ads-api.md +1393 -0
  97. package/skills/creator-analysis/references/api-tags/tiktok-analytics-api.md +179 -0
  98. package/skills/creator-analysis/references/api-tags/tiktok-app-v3-api.md +3264 -0
  99. package/skills/creator-analysis/references/api-tags/tiktok-creator-api.md +709 -0
  100. package/skills/creator-analysis/references/api-tags/tiktok-interaction-api.md +366 -0
  101. package/skills/creator-analysis/references/api-tags/tiktok-shop-web-api.md +663 -0
  102. package/skills/creator-analysis/references/api-tags/tiktok-web-api.md +2516 -0
  103. package/skills/creator-analysis/references/api-tags/toutiao-app-api.md +220 -0
  104. package/skills/creator-analysis/references/api-tags/toutiao-web-api.md +96 -0
  105. package/skills/creator-analysis/references/api-tags/twitter-web-api.md +562 -0
  106. package/skills/creator-analysis/references/api-tags/wechat-channels-api.md +405 -0
  107. package/skills/creator-analysis/references/api-tags/wechat-media-platform-web-api.md +431 -0
  108. package/skills/creator-analysis/references/api-tags/weibo-app-api.md +851 -0
  109. package/skills/creator-analysis/references/api-tags/weibo-web-api.md +470 -0
  110. package/skills/creator-analysis/references/api-tags/weibo-web-v2-api.md +1405 -0
  111. package/skills/creator-analysis/references/api-tags/xiaohongshu-app-api.md +534 -0
  112. package/skills/creator-analysis/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
  113. package/skills/creator-analysis/references/api-tags/xiaohongshu-web-api.md +757 -0
  114. package/skills/creator-analysis/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
  115. package/skills/creator-analysis/references/api-tags/xigua-app-v2-api.md +308 -0
  116. package/skills/creator-analysis/references/api-tags/youtube-web-api.md +934 -0
  117. package/skills/creator-analysis/references/api-tags/youtube-web-v2-api.md +717 -0
  118. package/skills/creator-analysis/references/api-tags/zhihu-web-api.md +1384 -0
  119. package/skills/creator-analysis/references/asr-orchestration.md +33 -0
  120. package/skills/creator-analysis/references/config-templates/defaults.yaml +60 -0
  121. package/skills/creator-analysis/references/contracts/creator-card-fields.md +23 -0
  122. package/skills/creator-analysis/references/contracts/work-card-fields.md +32 -0
  123. package/skills/creator-analysis/references/platform-guides/douyin.md +49 -0
  124. package/skills/creator-analysis/references/platform-guides/generic.md +46 -0
  125. package/skills/creator-analysis/references/platform-guides/xiaohongshu.md +54 -0
  126. package/skills/creator-analysis/references/prompt-contracts/asr-clean.md +28 -0
  127. package/skills/creator-analysis/references/prompt-contracts/author-analysis-v2.md +46 -0
  128. package/skills/creator-analysis/references/prompt-contracts/author-analysis.md +49 -0
  129. package/skills/creator-analysis/references/prompt-contracts/cta.md +24 -0
  130. package/skills/creator-analysis/references/prompt-contracts/hook.md +25 -0
  131. package/skills/creator-analysis/references/prompt-contracts/insight.md +47 -0
  132. package/skills/creator-analysis/references/prompt-contracts/sampled-work-batch-explanations.md +30 -0
  133. package/skills/creator-analysis/references/prompt-contracts/structure.md +25 -0
  134. package/skills/creator-analysis/references/prompt-contracts/style.md +27 -0
  135. package/skills/creator-analysis/references/prompt-contracts/summary.md +29 -0
  136. package/skills/creator-analysis/references/prompt-contracts/topic.md +29 -0
  137. package/skills/creator-analysis/references/schemas/author-analysis-input-v1.schema.json +325 -0
  138. package/skills/creator-analysis/references/schemas/author-analysis-v2.schema.json +158 -0
  139. package/skills/creator-analysis/references/schemas/sampled-work-batch-explanations.schema.json +41 -0
  140. package/skills/creator-analysis/references/service-guides/asr-u2-u3-fallback.md +75 -0
  141. package/skills/creator-analysis/references/workflow.md +18 -0
  142. package/skills/creator-analysis/scripts/__init__.py +0 -0
  143. package/skills/creator-analysis/scripts/author_home/__init__.py +0 -0
  144. package/skills/creator-analysis/scripts/author_home/adapters/__init__.py +0 -0
  145. package/skills/creator-analysis/scripts/author_home/adapters/platform_adapters.py +299 -0
  146. package/skills/creator-analysis/scripts/author_home/analyzers/__init__.py +0 -0
  147. package/skills/creator-analysis/scripts/author_home/analyzers/author_analysis_v2_support.py +1122 -0
  148. package/skills/creator-analysis/scripts/author_home/analyzers/prompt_first_analyzers.py +260 -0
  149. package/skills/creator-analysis/scripts/author_home/analyzers/sampled_work_batch_explainer.py +260 -0
  150. package/skills/creator-analysis/scripts/author_home/asr/__init__.py +5 -0
  151. package/skills/creator-analysis/scripts/author_home/asr/home_asr.py +961 -0
  152. package/skills/creator-analysis/scripts/author_home/builders/__init__.py +0 -0
  153. package/skills/creator-analysis/scripts/author_home/builders/home_builders.py +149 -0
  154. package/skills/creator-analysis/scripts/author_home/collectors/__init__.py +0 -0
  155. package/skills/creator-analysis/scripts/author_home/collectors/homepage_collectors.py +636 -0
  156. package/skills/creator-analysis/scripts/author_home/orchestrator/__init__.py +0 -0
  157. package/skills/creator-analysis/scripts/author_home/orchestrator/run_author_analysis.py +491 -0
  158. package/skills/creator-analysis/scripts/author_home/orchestrator/work_analysis_artifacts.py +553 -0
  159. package/skills/creator-analysis/scripts/author_home/schema.py +417 -0
  160. package/skills/creator-analysis/scripts/core/__init__.py +0 -0
  161. package/skills/creator-analysis/scripts/core/analysis_pipeline.py +133 -0
  162. package/skills/creator-analysis/scripts/core/bootstrap_env.py +35 -0
  163. package/skills/creator-analysis/scripts/core/config_loader.py +418 -0
  164. package/skills/creator-analysis/scripts/core/extract_pipeline.py +173 -0
  165. package/skills/creator-analysis/scripts/core/progress_report.py +111 -0
  166. package/skills/creator-analysis/scripts/core/storage_router.py +253 -0
  167. package/skills/creator-analysis/scripts/core/tikomni_common.py +588 -0
  168. package/skills/creator-analysis/scripts/pipeline/__init__.py +0 -0
  169. package/skills/creator-analysis/scripts/pipeline/asr/__init__.py +0 -0
  170. package/skills/creator-analysis/scripts/pipeline/asr/asr_pipeline.py +1189 -0
  171. package/skills/creator-analysis/scripts/pipeline/asr/poll_u2_task.py +95 -0
  172. package/skills/creator-analysis/scripts/platform/__init__.py +0 -0
  173. package/skills/creator-analysis/scripts/platform/douyin/__init__.py +0 -0
  174. package/skills/creator-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +224 -0
  175. package/skills/creator-analysis/scripts/platform/douyin/run_douyin_single_video.py +1208 -0
  176. package/skills/creator-analysis/scripts/platform/douyin/select_low_quality_video_url.py +200 -0
  177. package/skills/creator-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
  178. package/skills/creator-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +2128 -0
  179. package/skills/creator-analysis/scripts/writers/__init__.py +0 -0
  180. package/skills/creator-analysis/scripts/writers/write_author_homepage_samples.py +106 -0
  181. package/skills/creator-analysis/scripts/writers/write_benchmark_card.py +1402 -0
  182. package/skills/meta-capability/SKILL.md +69 -0
  183. package/skills/meta-capability/agents/openai.yaml +4 -0
  184. package/skills/meta-capability/env.example +42 -0
  185. package/skills/meta-capability/references/api-capability-index.md +92 -0
  186. package/skills/meta-capability/references/api-contracts/asr-api.md +130 -0
  187. package/skills/meta-capability/references/api-contracts/bilibili-app-api.md +776 -0
  188. package/skills/meta-capability/references/api-contracts/bilibili-web-api.md +2017 -0
  189. package/skills/meta-capability/references/api-contracts/demo-api.md +717 -0
  190. package/skills/meta-capability/references/api-contracts/douyin-app-v3-api.md +3594 -0
  191. package/skills/meta-capability/references/api-contracts/douyin-billboard-api.md +2274 -0
  192. package/skills/meta-capability/references/api-contracts/douyin-creator-api.md +1575 -0
  193. package/skills/meta-capability/references/api-contracts/douyin-creator-v2-api.md +3254 -0
  194. package/skills/meta-capability/references/api-contracts/douyin-search-api.md +4118 -0
  195. package/skills/meta-capability/references/api-contracts/douyin-web-api.md +5544 -0
  196. package/skills/meta-capability/references/api-contracts/douyin-xingtu-api.md +1916 -0
  197. package/skills/meta-capability/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
  198. package/skills/meta-capability/references/api-contracts/health-check.md +69 -0
  199. package/skills/meta-capability/references/api-contracts/hybrid-parsing.md +78 -0
  200. package/skills/meta-capability/references/api-contracts/instagram-v1-api.md +2256 -0
  201. package/skills/meta-capability/references/api-contracts/instagram-v2-api.md +2011 -0
  202. package/skills/meta-capability/references/api-contracts/instagram-v3-api.md +2630 -0
  203. package/skills/meta-capability/references/api-contracts/ios-shortcut.md +44 -0
  204. package/skills/meta-capability/references/api-contracts/kuaishou-app-api.md +1518 -0
  205. package/skills/meta-capability/references/api-contracts/kuaishou-web-api.md +1242 -0
  206. package/skills/meta-capability/references/api-contracts/lemon8-app-api.md +1088 -0
  207. package/skills/meta-capability/references/api-contracts/linkedin-web-api.md +1949 -0
  208. package/skills/meta-capability/references/api-contracts/media-ingest-api.md +126 -0
  209. package/skills/meta-capability/references/api-contracts/pipixia-app-api.md +1142 -0
  210. package/skills/meta-capability/references/api-contracts/reddit-app-api.md +2025 -0
  211. package/skills/meta-capability/references/api-contracts/sora2-api.md +2266 -0
  212. package/skills/meta-capability/references/api-contracts/temp-mail-api.md +208 -0
  213. package/skills/meta-capability/references/api-contracts/threads-web-api.md +897 -0
  214. package/skills/meta-capability/references/api-contracts/tikhub-downloader-api.md +134 -0
  215. package/skills/meta-capability/references/api-contracts/tikhub-user-api.md +494 -0
  216. package/skills/meta-capability/references/api-contracts/tiktok-ads-api.md +5947 -0
  217. package/skills/meta-capability/references/api-contracts/tiktok-analytics-api.md +968 -0
  218. package/skills/meta-capability/references/api-contracts/tiktok-app-v3-api.md +5735 -0
  219. package/skills/meta-capability/references/api-contracts/tiktok-creator-api.md +1951 -0
  220. package/skills/meta-capability/references/api-contracts/tiktok-interaction-api.md +742 -0
  221. package/skills/meta-capability/references/api-contracts/tiktok-shop-web-api.md +1890 -0
  222. package/skills/meta-capability/references/api-contracts/tiktok-web-api.md +4448 -0
  223. package/skills/meta-capability/references/api-contracts/toutiao-app-api.md +342 -0
  224. package/skills/meta-capability/references/api-contracts/toutiao-web-api.md +143 -0
  225. package/skills/meta-capability/references/api-contracts/twitter-web-api.md +989 -0
  226. package/skills/meta-capability/references/api-contracts/wechat-channels-api.md +809 -0
  227. package/skills/meta-capability/references/api-contracts/wechat-media-platform-web-api.md +677 -0
  228. package/skills/meta-capability/references/api-contracts/weibo-app-api.md +1547 -0
  229. package/skills/meta-capability/references/api-contracts/weibo-web-api.md +798 -0
  230. package/skills/meta-capability/references/api-contracts/weibo-web-v2-api.md +2459 -0
  231. package/skills/meta-capability/references/api-contracts/xiaohongshu-app-api.md +1291 -0
  232. package/skills/meta-capability/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
  233. package/skills/meta-capability/references/api-contracts/xiaohongshu-web-api.md +1324 -0
  234. package/skills/meta-capability/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
  235. package/skills/meta-capability/references/api-contracts/xigua-app-v2-api.md +489 -0
  236. package/skills/meta-capability/references/api-contracts/youtube-web-api.md +2636 -0
  237. package/skills/meta-capability/references/api-contracts/youtube-web-v2-api.md +2660 -0
  238. package/skills/meta-capability/references/api-contracts/zhihu-web-api.md +2315 -0
  239. package/skills/meta-capability/references/api-tags/asr-api.md +100 -0
  240. package/skills/meta-capability/references/api-tags/bilibili-app-api.md +482 -0
  241. package/skills/meta-capability/references/api-tags/bilibili-web-api.md +1267 -0
  242. package/skills/meta-capability/references/api-tags/demo-api.md +365 -0
  243. package/skills/meta-capability/references/api-tags/douyin-app-v3-api.md +2012 -0
  244. package/skills/meta-capability/references/api-tags/douyin-billboard-api.md +1428 -0
  245. package/skills/meta-capability/references/api-tags/douyin-creator-api.md +694 -0
  246. package/skills/meta-capability/references/api-tags/douyin-creator-v2-api.md +694 -0
  247. package/skills/meta-capability/references/api-tags/douyin-search-api.md +1059 -0
  248. package/skills/meta-capability/references/api-tags/douyin-web-api.md +3314 -0
  249. package/skills/meta-capability/references/api-tags/douyin-xingtu-api.md +935 -0
  250. package/skills/meta-capability/references/api-tags/douyin-xingtu-v2-api.md +925 -0
  251. package/skills/meta-capability/references/api-tags/health-check.md +40 -0
  252. package/skills/meta-capability/references/api-tags/hybrid-parsing.md +57 -0
  253. package/skills/meta-capability/references/api-tags/instagram-v1-api.md +1224 -0
  254. package/skills/meta-capability/references/api-tags/instagram-v2-api.md +1147 -0
  255. package/skills/meta-capability/references/api-tags/instagram-v3-api.md +1123 -0
  256. package/skills/meta-capability/references/api-tags/ios-shortcut.md +45 -0
  257. package/skills/meta-capability/references/api-tags/kuaishou-app-api.md +846 -0
  258. package/skills/meta-capability/references/api-tags/kuaishou-web-api.md +551 -0
  259. package/skills/meta-capability/references/api-tags/lemon8-app-api.md +687 -0
  260. package/skills/meta-capability/references/api-tags/linkedin-web-api.md +1105 -0
  261. package/skills/meta-capability/references/api-tags/media-ingest-api.md +112 -0
  262. package/skills/meta-capability/references/api-tags/pipixia-app-api.md +721 -0
  263. package/skills/meta-capability/references/api-tags/reddit-app-api.md +1057 -0
  264. package/skills/meta-capability/references/api-tags/sora2-api.md +737 -0
  265. package/skills/meta-capability/references/api-tags/temp-mail-api.md +136 -0
  266. package/skills/meta-capability/references/api-tags/threads-web-api.md +472 -0
  267. package/skills/meta-capability/references/api-tags/tikhub-downloader-api.md +65 -0
  268. package/skills/meta-capability/references/api-tags/tikhub-user-api.md +253 -0
  269. package/skills/meta-capability/references/api-tags/tiktok-ads-api.md +1393 -0
  270. package/skills/meta-capability/references/api-tags/tiktok-analytics-api.md +179 -0
  271. package/skills/meta-capability/references/api-tags/tiktok-app-v3-api.md +3264 -0
  272. package/skills/meta-capability/references/api-tags/tiktok-creator-api.md +709 -0
  273. package/skills/meta-capability/references/api-tags/tiktok-interaction-api.md +366 -0
  274. package/skills/meta-capability/references/api-tags/tiktok-shop-web-api.md +663 -0
  275. package/skills/meta-capability/references/api-tags/tiktok-web-api.md +2516 -0
  276. package/skills/meta-capability/references/api-tags/toutiao-app-api.md +220 -0
  277. package/skills/meta-capability/references/api-tags/toutiao-web-api.md +96 -0
  278. package/skills/meta-capability/references/api-tags/twitter-web-api.md +562 -0
  279. package/skills/meta-capability/references/api-tags/wechat-channels-api.md +405 -0
  280. package/skills/meta-capability/references/api-tags/wechat-media-platform-web-api.md +431 -0
  281. package/skills/meta-capability/references/api-tags/weibo-app-api.md +851 -0
  282. package/skills/meta-capability/references/api-tags/weibo-web-api.md +470 -0
  283. package/skills/meta-capability/references/api-tags/weibo-web-v2-api.md +1405 -0
  284. package/skills/meta-capability/references/api-tags/xiaohongshu-app-api.md +534 -0
  285. package/skills/meta-capability/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
  286. package/skills/meta-capability/references/api-tags/xiaohongshu-web-api.md +757 -0
  287. package/skills/meta-capability/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
  288. package/skills/meta-capability/references/api-tags/xigua-app-v2-api.md +308 -0
  289. package/skills/meta-capability/references/api-tags/youtube-web-api.md +934 -0
  290. package/skills/meta-capability/references/api-tags/youtube-web-v2-api.md +717 -0
  291. package/skills/meta-capability/references/api-tags/zhihu-web-api.md +1384 -0
  292. package/skills/meta-capability/references/config-templates/defaults.yaml +18 -0
  293. package/skills/meta-capability/references/dispatch.md +27 -0
  294. package/skills/meta-capability/references/execution-guidelines.md +25 -0
  295. package/skills/meta-capability/references/implemented-route-map.md +177 -0
  296. package/skills/meta-capability/references/service-guides/asr-u2-u3-fallback.md +75 -0
  297. package/skills/meta-capability/scripts/__init__.py +1 -0
  298. package/skills/meta-capability/scripts/call_route.py +141 -0
  299. package/skills/meta-capability/scripts/core/__init__.py +1 -0
  300. package/skills/meta-capability/scripts/core/bootstrap_env.py +32 -0
  301. package/skills/meta-capability/scripts/core/config_loader.py +204 -0
  302. package/skills/meta-capability/scripts/core/tikomni_common.py +443 -0
  303. package/skills/meta-capability/scripts/test_auth.py +98 -0
  304. package/skills/single-work-analysis/SKILL.md +62 -0
  305. package/skills/single-work-analysis/agents/openai.yaml +4 -0
  306. package/skills/single-work-analysis/env.example +36 -0
  307. package/skills/single-work-analysis/references/api-capability-index.md +92 -0
  308. package/skills/single-work-analysis/references/api-contracts/asr-api.md +130 -0
  309. package/skills/single-work-analysis/references/api-contracts/bilibili-app-api.md +776 -0
  310. package/skills/single-work-analysis/references/api-contracts/bilibili-web-api.md +2017 -0
  311. package/skills/single-work-analysis/references/api-contracts/demo-api.md +717 -0
  312. package/skills/single-work-analysis/references/api-contracts/douyin-app-v3-api.md +3594 -0
  313. package/skills/single-work-analysis/references/api-contracts/douyin-billboard-api.md +2274 -0
  314. package/skills/single-work-analysis/references/api-contracts/douyin-creator-api.md +1575 -0
  315. package/skills/single-work-analysis/references/api-contracts/douyin-creator-v2-api.md +3254 -0
  316. package/skills/single-work-analysis/references/api-contracts/douyin-search-api.md +4118 -0
  317. package/skills/single-work-analysis/references/api-contracts/douyin-web-api.md +5544 -0
  318. package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-api.md +1916 -0
  319. package/skills/single-work-analysis/references/api-contracts/douyin-xingtu-v2-api.md +1540 -0
  320. package/skills/single-work-analysis/references/api-contracts/health-check.md +69 -0
  321. package/skills/single-work-analysis/references/api-contracts/hybrid-parsing.md +78 -0
  322. package/skills/single-work-analysis/references/api-contracts/instagram-v1-api.md +2256 -0
  323. package/skills/single-work-analysis/references/api-contracts/instagram-v2-api.md +2011 -0
  324. package/skills/single-work-analysis/references/api-contracts/instagram-v3-api.md +2630 -0
  325. package/skills/single-work-analysis/references/api-contracts/ios-shortcut.md +44 -0
  326. package/skills/single-work-analysis/references/api-contracts/kuaishou-app-api.md +1518 -0
  327. package/skills/single-work-analysis/references/api-contracts/kuaishou-web-api.md +1242 -0
  328. package/skills/single-work-analysis/references/api-contracts/lemon8-app-api.md +1088 -0
  329. package/skills/single-work-analysis/references/api-contracts/linkedin-web-api.md +1949 -0
  330. package/skills/single-work-analysis/references/api-contracts/media-ingest-api.md +126 -0
  331. package/skills/single-work-analysis/references/api-contracts/pipixia-app-api.md +1142 -0
  332. package/skills/single-work-analysis/references/api-contracts/reddit-app-api.md +2025 -0
  333. package/skills/single-work-analysis/references/api-contracts/sora2-api.md +2266 -0
  334. package/skills/single-work-analysis/references/api-contracts/temp-mail-api.md +208 -0
  335. package/skills/single-work-analysis/references/api-contracts/threads-web-api.md +897 -0
  336. package/skills/single-work-analysis/references/api-contracts/tikhub-downloader-api.md +134 -0
  337. package/skills/single-work-analysis/references/api-contracts/tikhub-user-api.md +494 -0
  338. package/skills/single-work-analysis/references/api-contracts/tiktok-ads-api.md +5947 -0
  339. package/skills/single-work-analysis/references/api-contracts/tiktok-analytics-api.md +968 -0
  340. package/skills/single-work-analysis/references/api-contracts/tiktok-app-v3-api.md +5735 -0
  341. package/skills/single-work-analysis/references/api-contracts/tiktok-creator-api.md +1951 -0
  342. package/skills/single-work-analysis/references/api-contracts/tiktok-interaction-api.md +742 -0
  343. package/skills/single-work-analysis/references/api-contracts/tiktok-shop-web-api.md +1890 -0
  344. package/skills/single-work-analysis/references/api-contracts/tiktok-web-api.md +4448 -0
  345. package/skills/single-work-analysis/references/api-contracts/toutiao-app-api.md +342 -0
  346. package/skills/single-work-analysis/references/api-contracts/toutiao-web-api.md +143 -0
  347. package/skills/single-work-analysis/references/api-contracts/twitter-web-api.md +989 -0
  348. package/skills/single-work-analysis/references/api-contracts/wechat-channels-api.md +809 -0
  349. package/skills/single-work-analysis/references/api-contracts/wechat-media-platform-web-api.md +677 -0
  350. package/skills/single-work-analysis/references/api-contracts/weibo-app-api.md +1547 -0
  351. package/skills/single-work-analysis/references/api-contracts/weibo-web-api.md +798 -0
  352. package/skills/single-work-analysis/references/api-contracts/weibo-web-v2-api.md +2459 -0
  353. package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-api.md +1291 -0
  354. package/skills/single-work-analysis/references/api-contracts/xiaohongshu-app-v2-api.md +1683 -0
  355. package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-api.md +1324 -0
  356. package/skills/single-work-analysis/references/api-contracts/xiaohongshu-web-v2-api.md +1209 -0
  357. package/skills/single-work-analysis/references/api-contracts/xigua-app-v2-api.md +489 -0
  358. package/skills/single-work-analysis/references/api-contracts/youtube-web-api.md +2636 -0
  359. package/skills/single-work-analysis/references/api-contracts/youtube-web-v2-api.md +2660 -0
  360. package/skills/single-work-analysis/references/api-contracts/zhihu-web-api.md +2315 -0
  361. package/skills/single-work-analysis/references/api-tags/asr-api.md +100 -0
  362. package/skills/single-work-analysis/references/api-tags/bilibili-app-api.md +482 -0
  363. package/skills/single-work-analysis/references/api-tags/bilibili-web-api.md +1267 -0
  364. package/skills/single-work-analysis/references/api-tags/demo-api.md +365 -0
  365. package/skills/single-work-analysis/references/api-tags/douyin-app-v3-api.md +2012 -0
  366. package/skills/single-work-analysis/references/api-tags/douyin-billboard-api.md +1428 -0
  367. package/skills/single-work-analysis/references/api-tags/douyin-creator-api.md +694 -0
  368. package/skills/single-work-analysis/references/api-tags/douyin-creator-v2-api.md +694 -0
  369. package/skills/single-work-analysis/references/api-tags/douyin-search-api.md +1059 -0
  370. package/skills/single-work-analysis/references/api-tags/douyin-web-api.md +3314 -0
  371. package/skills/single-work-analysis/references/api-tags/douyin-xingtu-api.md +935 -0
  372. package/skills/single-work-analysis/references/api-tags/douyin-xingtu-v2-api.md +925 -0
  373. package/skills/single-work-analysis/references/api-tags/health-check.md +40 -0
  374. package/skills/single-work-analysis/references/api-tags/hybrid-parsing.md +57 -0
  375. package/skills/single-work-analysis/references/api-tags/instagram-v1-api.md +1224 -0
  376. package/skills/single-work-analysis/references/api-tags/instagram-v2-api.md +1147 -0
  377. package/skills/single-work-analysis/references/api-tags/instagram-v3-api.md +1123 -0
  378. package/skills/single-work-analysis/references/api-tags/ios-shortcut.md +45 -0
  379. package/skills/single-work-analysis/references/api-tags/kuaishou-app-api.md +846 -0
  380. package/skills/single-work-analysis/references/api-tags/kuaishou-web-api.md +551 -0
  381. package/skills/single-work-analysis/references/api-tags/lemon8-app-api.md +687 -0
  382. package/skills/single-work-analysis/references/api-tags/linkedin-web-api.md +1105 -0
  383. package/skills/single-work-analysis/references/api-tags/media-ingest-api.md +112 -0
  384. package/skills/single-work-analysis/references/api-tags/pipixia-app-api.md +721 -0
  385. package/skills/single-work-analysis/references/api-tags/reddit-app-api.md +1057 -0
  386. package/skills/single-work-analysis/references/api-tags/sora2-api.md +737 -0
  387. package/skills/single-work-analysis/references/api-tags/temp-mail-api.md +136 -0
  388. package/skills/single-work-analysis/references/api-tags/threads-web-api.md +472 -0
  389. package/skills/single-work-analysis/references/api-tags/tikhub-downloader-api.md +65 -0
  390. package/skills/single-work-analysis/references/api-tags/tikhub-user-api.md +253 -0
  391. package/skills/single-work-analysis/references/api-tags/tiktok-ads-api.md +1393 -0
  392. package/skills/single-work-analysis/references/api-tags/tiktok-analytics-api.md +179 -0
  393. package/skills/single-work-analysis/references/api-tags/tiktok-app-v3-api.md +3264 -0
  394. package/skills/single-work-analysis/references/api-tags/tiktok-creator-api.md +709 -0
  395. package/skills/single-work-analysis/references/api-tags/tiktok-interaction-api.md +366 -0
  396. package/skills/single-work-analysis/references/api-tags/tiktok-shop-web-api.md +663 -0
  397. package/skills/single-work-analysis/references/api-tags/tiktok-web-api.md +2516 -0
  398. package/skills/single-work-analysis/references/api-tags/toutiao-app-api.md +220 -0
  399. package/skills/single-work-analysis/references/api-tags/toutiao-web-api.md +96 -0
  400. package/skills/single-work-analysis/references/api-tags/twitter-web-api.md +562 -0
  401. package/skills/single-work-analysis/references/api-tags/wechat-channels-api.md +405 -0
  402. package/skills/single-work-analysis/references/api-tags/wechat-media-platform-web-api.md +431 -0
  403. package/skills/single-work-analysis/references/api-tags/weibo-app-api.md +851 -0
  404. package/skills/single-work-analysis/references/api-tags/weibo-web-api.md +470 -0
  405. package/skills/single-work-analysis/references/api-tags/weibo-web-v2-api.md +1405 -0
  406. package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-api.md +534 -0
  407. package/skills/single-work-analysis/references/api-tags/xiaohongshu-app-v2-api.md +934 -0
  408. package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-api.md +757 -0
  409. package/skills/single-work-analysis/references/api-tags/xiaohongshu-web-v2-api.md +762 -0
  410. package/skills/single-work-analysis/references/api-tags/xigua-app-v2-api.md +308 -0
  411. package/skills/single-work-analysis/references/api-tags/youtube-web-api.md +934 -0
  412. package/skills/single-work-analysis/references/api-tags/youtube-web-v2-api.md +717 -0
  413. package/skills/single-work-analysis/references/api-tags/zhihu-web-api.md +1384 -0
  414. package/skills/single-work-analysis/references/asr-and-fallback.md +20 -0
  415. package/skills/single-work-analysis/references/config-templates/defaults.yaml +58 -0
  416. package/skills/single-work-analysis/references/contracts/work-card-fields.md +41 -0
  417. package/skills/single-work-analysis/references/platform-guides/douyin.md +47 -0
  418. package/skills/single-work-analysis/references/platform-guides/generic.md +43 -0
  419. package/skills/single-work-analysis/references/platform-guides/xiaohongshu.md +54 -0
  420. package/skills/single-work-analysis/references/prompt-contracts/asr-clean.md +28 -0
  421. package/skills/single-work-analysis/references/prompt-contracts/cta.md +24 -0
  422. package/skills/single-work-analysis/references/prompt-contracts/hook.md +25 -0
  423. package/skills/single-work-analysis/references/prompt-contracts/insight.md +47 -0
  424. package/skills/single-work-analysis/references/prompt-contracts/structure.md +25 -0
  425. package/skills/single-work-analysis/references/prompt-contracts/style.md +27 -0
  426. package/skills/single-work-analysis/references/prompt-contracts/summary.md +29 -0
  427. package/skills/single-work-analysis/references/prompt-contracts/topic.md +29 -0
  428. package/skills/single-work-analysis/references/schemas/work-card.schema.json +39 -0
  429. package/skills/single-work-analysis/references/service-guides/asr-u2-u3-fallback.md +75 -0
  430. package/skills/single-work-analysis/scripts/__init__.py +0 -0
  431. package/skills/single-work-analysis/scripts/core/__init__.py +0 -0
  432. package/skills/single-work-analysis/scripts/core/analysis_pipeline.py +133 -0
  433. package/skills/single-work-analysis/scripts/core/bootstrap_env.py +35 -0
  434. package/skills/single-work-analysis/scripts/core/config_loader.py +418 -0
  435. package/skills/single-work-analysis/scripts/core/extract_pipeline.py +173 -0
  436. package/skills/single-work-analysis/scripts/core/progress_report.py +111 -0
  437. package/skills/single-work-analysis/scripts/core/storage_router.py +253 -0
  438. package/skills/single-work-analysis/scripts/core/tikomni_common.py +588 -0
  439. package/skills/single-work-analysis/scripts/pipeline/__init__.py +0 -0
  440. package/skills/single-work-analysis/scripts/pipeline/asr/__init__.py +0 -0
  441. package/skills/single-work-analysis/scripts/pipeline/asr/asr_pipeline.py +1189 -0
  442. package/skills/single-work-analysis/scripts/pipeline/asr/poll_u2_task.py +95 -0
  443. package/skills/single-work-analysis/scripts/platform/__init__.py +0 -0
  444. package/skills/single-work-analysis/scripts/platform/douyin/__init__.py +0 -0
  445. package/skills/single-work-analysis/scripts/platform/douyin/douyin_video_type_matrix.py +224 -0
  446. package/skills/single-work-analysis/scripts/platform/douyin/run_douyin_single_video.py +1233 -0
  447. package/skills/single-work-analysis/scripts/platform/douyin/select_low_quality_video_url.py +200 -0
  448. package/skills/single-work-analysis/scripts/platform/xiaohongshu/__init__.py +0 -0
  449. package/skills/single-work-analysis/scripts/platform/xiaohongshu/run_xiaohongshu_extract.py +2156 -0
  450. package/skills/single-work-analysis/scripts/writers/__init__.py +0 -0
  451. 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 |