Skip to content
Eden Engine

Douyin Live Room Lookup (by Room/Webcast ID)

omnial/douyin-web-fetch-user-live-videos

Given a Douyin live room's webcast_id, returns the room's status, title, viewer count, and like count, plus the room owner's Douyin profile: nickname, account ID, secure UID, and whether the calling account already follows them (avatar image URLs are withheld). Confirmed against two real rooms, including one whose owner account nickname shows it has since been deactivated. A room that is no longer live still resolves, with status 4 and zero viewer and like counts.

activeper callv3

Price

Up to $0.00205 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.

Data source

Douyin

Data from Douyin.

Use it

Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.

Connect once and your AI can find and run this tool, and any other it needs.

For developers: the calls your assistant makes
agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/douyin-web-fetch-user-live-videos" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/douyin-web-fetch-user-live-videos" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/douyin-web-fetch-user-live-videos", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/douyin-web-fetch-user-live-videos", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.00205
Updated
Oct 27, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "webcast_id"
  ],
  "properties": {
    "webcast_id": {
      "type": "string",
      "examples": [
        "376034101029"
      ],
      "description": "Room webcast_id"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "data": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "description": "The room's title."
              },
              "id_str": {
                "type": "string",
                "description": "The room's own id, matching `enter_room_id`."
              },
              "status": {
                "type": "number",
                "description": "Numeric room status code; `4` observed in testing, including the deactivated-owner room -- the vendor does not document this enum, so a caller should not assume `4` universally means 'ended'."
              },
              "like_count": {
                "type": "number",
                "description": "`0` observed in testing."
              },
              "status_str": {
                "type": "string",
                "description": "String copy of `status`."
              },
              "mosaic_status": {
                "type": "number",
                "description": "Whether content-moderation blur/mosaic is applied to the stream. `0` (no mosaic) observed in testing."
              },
              "user_count_str": {
                "type": "string",
                "description": "Current viewer count, as a string. `\"0\"` observed in testing."
              },
              "mosaic_status_str": {
                "type": "string",
                "description": "String copy of `mosaic_status`."
              },
              "owner_user_id_str": {
                "type": "string",
                "description": "Empty string in testing -- the room owner's populated account id is reliably available instead at `data.user.id_str`."
              },
              "has_commerce_goods": {
                "type": "boolean",
                "description": "Whether the room has shoppable goods attached. `false` in testing."
              }
            },
            "additionalProperties": true
          },
          "description": "One entry on both real calls observed, describing the live room itself."
        },
        "user": {
          "type": "object",
          "properties": {
            "id_str": {
              "type": "string",
              "description": "The owner account's numeric Douyin user id."
            },
            "sec_uid": {
              "type": "string",
              "description": "The owner account's opaque, stable secure user id."
            },
            "nickname": {
              "type": "string",
              "description": "The owner account's public display name. Observed as a real handle for one account and the literal string '账号已注销' (account deactivated/canceled) for another -- a real, distinct account state, not a placeholder or error value."
            },
            "follow_info": {
              "type": "object",
              "properties": {
                "follow_status": {
                  "type": "number",
                  "description": "`0` (not following) observed in testing."
                },
                "follow_status_str": {
                  "type": "string",
                  "description": "String copy of `follow_status`."
                }
              },
              "additionalProperties": true
            },
            "avatar_thumb": {
              "type": "object",
              "properties": {
                "url_list": {
                  "type": "array",
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "description": "The owner's avatar image at multiple mirror URLs in the raw response -- withheld here (returned as `null` entries) regardless of what the account has set; only that an avatar exists is observable, not the image itself."
                }
              },
              "additionalProperties": true
            },
            "foreign_user": {
              "type": "number",
              "description": "`0` observed in testing."
            }
          },
          "description": "The room owner's Douyin account.",
          "additionalProperties": true
        },
        "room_status": {
          "type": "number",
          "description": "Numeric room status code; `2` observed in testing."
        },
        "enter_room_id": {
          "type": "string",
          "description": "The resolved room id -- matches `data.data[0].id_str`."
        }
      },
      "additionalProperties": true
    },
    "status_code": {
      "type": "number",
      "description": "The call's own business-level status code. `0` on both real calls observed."
    }
  },
  "description": "The room record.",
  "additionalProperties": true
}