Skip to content
Eden Engine

Douyin Music & Sound Search (by Keyword)

omnial/douyin-search-fetch-music-search

Given a search keyword, returns matching Douyin music tracks and sounds: each one's title, publishing user, album, duration, usage counts, availability flags, dominant cover color, and platform tags -- plus the underlying song record (canonical title, numeric id, credited artists, and the chorus segment the platform uses in videos). Supports sort, content-type, and publish-time filters, and paginates via a returned cursor.

activeper callv1
Provider
Web & Business Data Network
Category
douyin
Provider price
$0.020475 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": [
    "keyword"
  ],
  "properties": {
    "cursor": {
      "type": "integer",
      "default": 0,
      "description": "偏移游标,用于翻页,从上一次请求返回的响应中获取 / Offset cursor for pagination, obtained from the last response"
    },
    "keyword": {
      "type": "string",
      "description": "关键词 / Keyword"
    },
    "backtrace": {
      "type": "string",
      "default": "",
      "description": "翻页回溯标识,用于翻页,从上一次请求返回的响应中获取 / Backtrace for pagination, obtained from the last response"
    },
    "search_id": {
      "type": "string",
      "default": "",
      "description": "搜索ID,用于翻页,从上一次请求返回的响应中获取 / Search ID for pagination, obtained from the last response"
    },
    "sort_type": {
      "type": "string",
      "default": "0",
      "description": "排序方式:0=综合排序 1=最多点赞 2=最新发布 / Sort type: 0=Comprehensive, 1=Most Likes, 2=Latest"
    },
    "content_type": {
      "type": "string",
      "default": "0",
      "description": "内容类型:0=不限 1=视频 2=图片 3=文章 / Content type: 0=All, 1=Video, 2=Picture, 3=Article"
    },
    "publish_time": {
      "type": "string",
      "default": "0",
      "description": "发布时间筛选:0=不限 1=最近一天 7=最近一周 180=最近半年 / Publish time filter: 0=Unlimited, 1=Last day, 7=Last week, 180=Last half year"
    },
    "filter_duration": {
      "type": "string",
      "default": "0",
      "description": "视频时长过滤: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"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "music": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "The track/sound's numeric id."
          },
          "song": {
            "type": "object",
            "properties": {
              "id": {
                "type": "number"
              },
              "title": {
                "type": "string",
                "description": "The underlying song's canonical title (often the original, pre-cover version)."
              },
              "chorus": {
                "type": "object",
                "properties": {
                  "start_ms": {
                    "type": "number",
                    "description": "Chorus start offset in milliseconds."
                  },
                  "duration_ms": {
                    "type": "number",
                    "description": "Chorus length in milliseconds."
                  }
                },
                "description": "The chorus within the song the platform highlights for short-video use.",
                "additionalProperties": true
              },
              "id_str": {
                "type": "string",
                "description": "The song's numeric id, as a string."
              },
              "artists": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "type": "object",
                  "properties": {
                    "artist_name": {
                      "type": "string",
                      "description": "The credited artist's public name."
                    }
                  },
                  "additionalProperties": true
                },
                "description": "The song's credited artists. null when no artist list is attached (as on every track in the fallback result set); when present, one entry per artist."
              }
            },
            "description": "The underlying song record behind the platform sound: canonical title, numeric id, credited artists, and the chorus segment the platform uses in videos. Present on every track observed.",
            "additionalProperties": true
          },
          "album": {
            "type": "string",
            "description": "Album name, observed as an empty string on every track calibrated."
          },
          "title": {
            "type": "string",
            "description": "The track/sound's title as shown on the platform."
          },
          "author": {
            "type": "string",
            "description": "The Douyin user who published/uploaded this sound -- public attribution metadata on the search result."
          },
          "id_str": {
            "type": "string",
            "description": "The track/sound's numeric id, as a string."
          },
          "status": {
            "type": "number",
            "description": "Track availability code; 1 (available) on every track observed."
          },
          "duration": {
            "type": "number",
            "description": "Track duration in seconds."
          },
          "tag_list": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tag_type": {
                  "type": "string"
                },
                "tag_title": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            },
            "description": "Platform tags on the track. Empty array on a fallback result set; when populated (as on the rich jay-chou search), each entry carries a text title and a tag-type code (the raw per-tag color/style sub-fields are trimmed to these two)."
          },
          "lyric_type": {
            "type": "number",
            "description": "Lyric format code, present only on tracks that carry lyric metadata (absent from tracks in a fallback result set)."
          },
          "user_count": {
            "type": "number",
            "description": "Number of Douyin videos/shorts that use this sound."
          },
          "is_original": {
            "type": "boolean",
            "description": "Whether the sound is an original (non-cover) track."
          },
          "is_restricted": {
            "type": "boolean",
            "description": "Whether the track is region/availability restricted."
          },
          "cover_color_hsv": {
            "type": "object",
            "properties": {
              "h": {
                "type": "number"
              },
              "s": {
                "type": "number"
              },
              "v": {
                "type": "number"
              }
            },
            "description": "The track cover's dominant color in HSV (h/s/v), so a caller gets the cover's feel without the raw image file.",
            "additionalProperties": true
          },
          "prevent_download": {
            "type": "boolean",
            "description": "Whether downloading the sound is disabled."
          },
          "is_commerce_music": {
            "type": "boolean",
            "description": "Whether the track is tied to commercial/shopping music features."
          },
          "can_background_play": {
            "type": "boolean",
            "description": "Whether the sound can play while the app is in the background."
          },
          "music_collect_count": {
            "type": "number",
            "description": "How many times the sound has been bookmarked/collected; 0 on every track observed."
          }
        },
        "additionalProperties": true
      },
      "description": "Matching tracks. Non-empty on both calibrated searches, including a deliberately nonsense keyword -- the endpoint falls back to example/recommended tracks rather than an empty result."
    },
    "cursor": {
      "type": "number",
      "description": "Pagination cursor for the next page. Pass back as this tool's own `cursor` input to continue paging."
    },
    "has_more": {
      "type": "number",
      "description": "1 when more results remain for this keyword/filter combination, else 0."
    },
    "status_code": {
      "type": "number",
      "description": "The endpoint's own result code; 0 on every real search observed."
    }
  },
  "description": "The Douyin music search result, as returned at routing.responseResultPath ($.output).",
  "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.020475
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