Skip to content
Eden Engine

Douyin Trend Report Search (by keyword)

omnial/douyin-index-fetch-report-search

Given a search keyword, returns the matching Douyin Index trend reports: each report's title, publisher, publish date, report type, industry and business tags, synopsis, cover and downloadable-file metadata, plus its visit and download counts. A `report_list` and a `total_num` count the matches; a keyword that matches nothing returns an empty `report_list` with `total_num` "0" as data, not an error.

activeper callv1
Provider
Web & Business Data Network
Category
douyin
Provider price
$0.0020475 per call
Latency p50 / p95
— / —
Success rate
—
Verified
—

Provider list price; Omnial MCP charges provider cost plus a platform markup on top.

Contract

input_schema.json
{
  "type": "object",
  "required": [
    "search"
  ],
  "properties": {
    "type": {
      "enum": [
        "",
        "行业洞察",
        "产品洞察",
        "用户洞察",
        "趋势洞察"
      ],
      "type": "string",
      "description": "报告类型/Report type: 空=全部, 行业洞察=Industry, 产品洞察=Product, 用户洞察=User, 趋势洞察=Trend"
    },
    "search": {
      "type": "string",
      "description": "Search keyword"
    },
    "business": {
      "type": "string",
      "description": "所属产品列表,逗号分隔/Business list, comma separated. Options: 巨量引擎, 今日头条, 抖音, 西瓜视频, 抖音电商, 仕小禄, 其他"
    },
    "category": {
      "type": "string",
      "default": "6",
      "description": "Top category ID (default 6 = Douyin Index trend reports)"
    },
    "page_size": {
      "type": "string",
      "default": "16",
      "description": "Page size"
    },
    "report_time": {
      "type": "string",
      "description": "Year list, comma separated. e.g. 2024,2023"
    },
    "current_page": {
      "type": "string",
      "default": "1",
      "description": "Page number"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "total_num": {
      "type": "string",
      "description": "Total number of matching reports across all pages, as a string -- \"34\" on the beauty search, \"0\" on a keyword matching no reports."
    },
    "report_list": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The report's numeric id, as a string."
          },
          "type": {
            "type": "string",
            "description": "Report type label -- e.g. industry insight, trend insight, or product insight (reports arrive labeled in the endpoint's own taxonomy)."
          },
          "cover": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "width": {
                  "type": "string",
                  "description": "Cover width as a string, e.g. \"600\"."
                },
                "height": {
                  "type": "string",
                  "description": "Cover height as a string, e.g. \"338\"."
                },
                "cover_url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Cover image URL. Withheld (stripped to `null`) in this tool's output -- only whether the field is populated is observable, not the image itself (a URL leaf, see verification.notes)."
                }
              },
              "additionalProperties": true
            },
            "description": "Cover image entry for the report."
          },
          "title": {
            "type": "string",
            "description": "Report title; populated on every report observed."
          },
          "author": {
            "type": "string",
            "description": "Publisher attribution -- organization name(s), e.g. a vendor research institute or its business units, joined in one string. Not a personal name."
          },
          "business": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Business / product-line tags (e.g. the platform's own business units)."
          },
          "category": {
            "type": "string",
            "description": "Category id as a string; \"6\" on every report observed (the trend-report category)."
          },
          "industry": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Industry tags (e.g. beauty/cosmetics, fashion); can be empty."
          },
          "keywords": {
            "type": "string",
            "description": "Space-separated keyword tags as one string, e.g. \"douyin fashion makeup\"."
          },
          "visit_cnt": {
            "type": "string",
            "description": "Visit / view count for the report, as a string (e.g. \"2700\")."
          },
          "post_files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "file_url": {
                  "type": "string",
                  "description": "The attached file's path on the provider's own content CDN (e.g. `lf3-.../obj/ad-count-platform/report.pdf`). Scheme-less -- a path, not a full URL."
                },
                "file_name": {
                  "type": "string",
                  "description": "Attached file name, e.g. \"report.pdf\"."
                },
                "file_image": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Attached file's image URL. Withheld (stripped to `null`) in this tool's output -- a URL leaf, see verification.notes."
                }
              },
              "additionalProperties": true
            },
            "description": "Downloadable file entries for the report (typically one PDF)."
          },
          "result_type": {
            "type": "string",
            "description": "Result-variant tag (e.g. a white-paper-industry marker); empty string on reports without one."
          },
          "display_time": {
            "type": "string",
            "description": "Report publish date as a YYYY-MM-DD string, e.g. \"2026-06-15\". This is a date, not a phone number -- flagged phone-shaped by the capture step's digit-run heuristic."
          },
          "download_cnt": {
            "type": "string",
            "description": "Download count for the report, as a string (e.g. \"398\")."
          },
          "introduction": {
            "type": "string",
            "description": "Report synopsis / summary text. Runs long; the report's own marketing copy."
          },
          "union_result": {
            "type": "boolean",
            "description": "Whether the report is a union / white-paper result."
          },
          "coop_institution": {
            "type": "string",
            "description": "Cooperating institution attribution (an organization), when any; empty string on some reports."
          }
        },
        "additionalProperties": true
      },
      "description": "Matching reports, one entry per report. Confirmed non-empty on a keyword that matched real beauty-industry reports (16 entries in one page); empty on a keyword that matched nothing."
    }
  },
  "description": "The trend-report search document, as returned at routing.responseResultPath ($.output). Observed as `{ report_list: [], total_num: \"0\" }` when the search keyword matches no reports.",
  "additionalProperties": true
}

Pricing

Every real charge, itemised. A model that quietly omits one is a slow financial leak, so nothing here is rolled up, and a charge that only applies to some inputs says so rather than being added in.

Prices in this catalog are the provider's own list price, not your bill: Omnial MCP charges provider cost plus a platform markup on top, so what you are charged is higher than the figure shown. For the exact amount a specific call will cost, run omnial_execute with dry_run: true; that number includes the markup and is what we hold while the call runs. It is a quote, not a cap on the charge.

ChargeRate
Per call
Flat, regardless of what comes back
$0.0020475
Cost basis
Not recorded

This tool's catalog entry does not record how its final bill is determined, so we will not tell you whether its cost is fixed before the call or reported by the provider afterwards. Either way what is held is a quote rather than a cap: you are charged what the call actually costs, bounded at 2x the quote.

Updated
Sep 25, 2026