Skip to content
Eden Engine

Douyin Live Room Lookup (by Room ID)

omnial/douyin-web-fetch-user-live-videos-by-room-id

Given a Douyin live room's room_id, returns that room's live-stream metadata: title, viewer and like counts, the room owner's Douyin profile (nickname, account id, follower counts, avatar), and whether the call resolved to an active room at all. A room_id that does not resolve returns the endpoint's own error envelope rather than room data.

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": [
    "room_id"
  ],
  "properties": {
    "room_id": {
      "type": "string",
      "examples": [
        "7462723839303093032"
      ],
      "description": "The Douyin live room ID to look up"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number",
          "description": "The room's numeric Douyin room id."
        },
        "cover": {
          "type": "object",
          "properties": {
            "url_list": {
              "type": "array",
              "items": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "Withheld -- image URLs are not passed through, so only whether a cover exists is observable, not the image itself."
            }
          },
          "description": "The room's cover image.",
          "additionalProperties": true
        },
        "owner": {
          "type": "object",
          "properties": {
            "city": {
              "type": "string",
              "description": "Self-disclosed city, when set."
            },
            "id_str": {
              "type": "string",
              "description": "The owner account's numeric Douyin user id."
            },
            "sec_uid": {
              "type": "string",
              "description": "The owner account's opaque, stable public user id."
            },
            "nickname": {
              "type": "string",
              "description": "The owner account's public display name."
            },
            "verified": {
              "type": "boolean"
            },
            "signature": {
              "type": "string",
              "description": "The owner's self-published bio text; empty when unset."
            },
            "follow_info": {
              "type": "object",
              "properties": {
                "follower_count": {
                  "type": "number"
                },
                "following_count": {
                  "type": "number"
                },
                "follower_count_str": {
                  "type": "string"
                },
                "following_count_str": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            },
            "avatar_large": {
              "type": "object",
              "properties": {
                "url_list": {
                  "type": "array",
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "description": "Withheld -- see usage.md."
                }
              },
              "additionalProperties": true
            },
            "avatar_thumb": {
              "type": "object",
              "properties": {
                "url_list": {
                  "type": "array",
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "description": "Withheld -- see usage.md."
                }
              },
              "additionalProperties": true
            },
            "avatar_medium": {
              "type": "object",
              "properties": {
                "url_list": {
                  "type": "array",
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "description": "Withheld -- see usage.md."
                }
              },
              "additionalProperties": true
            },
            "location_city": {
              "type": "string",
              "description": "Same self-disclosed city, duplicated (identical to `city`)."
            }
          },
          "description": "The room owner's Douyin account.",
          "additionalProperties": true
        },
        "stats": {
          "type": "object",
          "properties": {
            "fan_ticket": {
              "type": "number",
              "description": "0 observed on the one real room."
            },
            "like_count": {
              "type": "number",
              "description": "0 observed on the one real room."
            },
            "total_user": {
              "type": "number",
              "description": "Total viewers; 0 observed."
            },
            "total_user_str": {
              "type": "string",
              "description": "Total viewers as a human-readable string, e.g. \"3万+\"."
            },
            "user_count_str": {
              "type": "string",
              "description": "Current viewer count as a string."
            }
          },
          "description": "The room's live engagement counters.",
          "additionalProperties": true
        },
        "title": {
          "type": "string",
          "description": "The room's current live-stream title."
        },
        "id_str": {
          "type": "string",
          "description": "The same room id, as a string."
        },
        "status": {
          "type": "number",
          "description": "Numeric room status code. 0 observed on the one real room calibrated; the vendor does not document this enum, so a caller should not assume 0 universally means 'live'."
        },
        "message": {
          "type": "string",
          "description": "Only present on the not-found path, e.g. 'Request params error'."
        },
        "prompts": {
          "type": "string",
          "description": "Only present on the not-found path -- a human-readable (Chinese-language) reason the room could not be resolved."
        },
        "user_count": {
          "type": "number",
          "description": "Current viewer count; 0 observed."
        },
        "short_title": {
          "type": "string",
          "description": "Short title variant, when set; empty otherwise."
        }
      },
      "additionalProperties": true
    },
    "status_code": {
      "type": "number",
      "description": "0 on the resolvable-room fixture, 10011 on the not-found fixture."
    }
  },
  "description": "The room record, as returned at routing.responseResultPath ($.output). On a resolvable room_id, `data` carries the room's live-stream fields below. On a room_id that does not resolve, `data` instead carries only `message`/`prompts` (the endpoint's own error envelope, confirmed against the `nonexistent-room-not-found` fixture) and none of the room fields -- a caller should check for the presence of `status_code` / `data.title` rather than assume the room shape.",
  "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 30, 2026