Skip to content
Eden Engine

Douyin Live Room Search (by Nickname or Douyin ID)

omnial/douyin-douplus-search-live-room

Given a Douyin nickname or Douyin ID (as a single `keyword`), returns a page of matching public accounts -- each with its nickname, handle, follower count, and current live-room status, including the room's title, room ID, and live/offline flag when that account is currently broadcasting. The endpoint matches loosely: an unrecognized or made-up keyword still returns a page of similarly-spelled accounts rather than an empty list.

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": [
    "keyword"
  ],
  "properties": {
    "count": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": 10,
      "example": 10,
      "description": "每页数量/Page size"
    },
    "cursor": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": 0,
      "example": 0,
      "description": "翻页游标,首页传 0,后续传上一页响应里的 cursor/Pagination cursor, 0 for first page"
    },
    "keyword": {
      "type": "string",
      "example": "小耳朵",
      "description": "抖音号 或 抖音昵称/Douyin ID or nickname"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "msg": {
      "type": "string",
      "description": "e.g. 'success'."
    },
    "code": {
      "type": "number",
      "description": "0 on every real call observed."
    },
    "data": {
      "type": "object",
      "properties": {
        "cursor": {
          "type": "number",
          "description": "Pagination cursor to pass back in the next call's `cursor` input."
        },
        "hasMore": {
          "type": "boolean"
        },
        "userList": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "secUid": {
                "type": "string",
                "description": "An opaque platform identifier for the account."
              },
              "shortId": {
                "type": "string",
                "description": "The account's own public numeric short ID."
              },
              "nickname": {
                "type": "string",
                "description": "The account's own public display nickname."
              },
              "uniqueId": {
                "type": "string",
                "description": "The account's own public Douyin handle (its 'Douyin ID')."
              },
              "liveRoomInfo": {
                "type": "object",
                "properties": {
                  "LiveRoomInfoExtra": {
                    "type": "object",
                    "properties": {
                      "HasWindmill": {
                        "type": "boolean"
                      },
                      "IsForO2ORoom": {
                        "type": "boolean"
                      },
                      "HasBisinessComponent": {
                        "type": "boolean",
                        "description": "Vendor's own field name, spelled this way upstream."
                      },
                      "HasClosedShoppingCart": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true
                  },
                  "LiveRoomInfoDetail": {
                    "type": "object",
                    "properties": {
                      "Title": {
                        "type": "string",
                        "description": "The live room's title. Empty string when not currently live."
                      },
                      "RoomId": {
                        "type": "string",
                        "description": "'0' when the account is not currently live; a real room ID (e.g. '7681452107401628425') when it is."
                      },
                      "AnchorNickname": {
                        "type": "string",
                        "description": "The live room anchor's own public nickname. Observed identical to the account's `nickname` on every fixture calibrated."
                      },
                      "LiveRoomCoverUri": {
                        "type": "string",
                        "description": "A relative asset path, not a fetchable URL -- does not parse as a URL on any fixture calibrated, so it is passed through unstripped."
                      }
                    },
                    "additionalProperties": true
                  },
                  "LiveRoomLiveStatus": {
                    "type": "number",
                    "description": "0 = not currently live, 1 = currently live."
                  }
                },
                "additionalProperties": true
              },
              "followerCount": {
                "type": "number"
              },
              "followerCountStr": {
                "type": "string",
                "description": "Observed as an empty string on every real account calibrated; unconfirmed whether it is ever populated with a formatted count."
              }
            },
            "additionalProperties": true
          },
          "description": "The matching accounts. Observed as EMPTY only when `keyword` itself was empty -- a nonsense/unrecognized keyword still returned a full page of loosely-matched accounts, not an empty list."
        }
      },
      "additionalProperties": true
    }
  },
  "description": "The search result page, 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.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 15, 2026