Skip to content
Eden Engine

Douyin Video Lookup (by Share Link)

omnial/douyin-web-fetch-one-video-by-share-url

Given a Douyin share link, returns that video's public metadata: caption and its hashtags, the creator's name and follower counts, view/like/comment/share counter, the soundtrack title and whether it is an original sound, resolution and encoding details, and whether play, download, and cover addresses exist. An invalid or unknown share link returns an empty shell rather than 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": [
    "share_url"
  ],
  "properties": {
    "share_url": {
      "type": "string",
      "examples": [
        "https://v.douyin.com/e3x2fjE/"
      ],
      "description": "Share link"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "aweme_detail": {
      "type": "object",
      "properties": {
        "desc": {
          "type": "string",
          "description": "The video's caption text, hashtags inline."
        },
        "rate": {
          "type": "number",
          "description": "Playback quality/rate code on the one real fixture."
        },
        "music": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string",
              "description": "The soundtrack's public title."
            },
            "duration": {
              "type": "number",
              "description": "Soundtrack length in seconds (16 on the one real fixture)."
            },
            "is_original": {
              "type": "boolean"
            },
            "is_original_sound": {
              "type": "boolean"
            }
          },
          "description": "The soundtrack this video uses. Its creator's handle is not included.",
          "additionalProperties": true
        },
        "video": {
          "type": "object",
          "properties": {
            "cover": {
              "type": "object",
              "properties": {
                "url_list": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "description": "Cover image URLs. Value withheld (stripped to `null`) -- only that a cover exists is observable."
                }
              },
              "additionalProperties": true
            },
            "ratio": {
              "type": "string",
              "description": "Aspect label, e.g. '720p' on the one real fixture."
            },
            "width": {
              "type": "number"
            },
            "format": {
              "type": "string",
              "description": "Container, e.g. 'mp4' on the one real fixture."
            },
            "height": {
              "type": "number"
            },
            "bit_rate": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "FPS": {
                    "type": "number"
                  },
                  "format": {
                    "type": "string"
                  },
                  "bit_rate": {
                    "type": "number"
                  },
                  "gear_name": {
                    "type": "string",
                    "description": "The encoding tier's label (e.g. 'normal_720_0') -- a quality tag, not a person."
                  },
                  "play_addr": {
                    "type": "object",
                    "properties": {
                      "url_list": {
                        "type": [
                          "array",
                          "null"
                        ],
                        "description": "Playback URLs for this tier. Value withheld (stripped to `null`)."
                      }
                    },
                    "additionalProperties": true
                  },
                  "quality_type": {
                    "type": "number"
                  }
                },
                "additionalProperties": true
              },
              "description": "One entry per encoding quality tier; a single 720p tier on the one real fixture."
            },
            "duration": {
              "type": "number",
              "description": "Milliseconds, mirrors aweme_detail.duration."
            },
            "play_addr": {
              "type": "object",
              "properties": {
                "url_list": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "description": "Direct playback URLs. Value withheld (stripped to `null`) -- only that a playable address exists is observable."
                }
              },
              "additionalProperties": true
            },
            "download_addr": {
              "type": "object",
              "properties": {
                "url_list": {
                  "type": [
                    "array",
                    "null"
                  ],
                  "description": "Direct download URLs (watermarked on the one real fixture). Value withheld (stripped to `null`)."
                }
              },
              "additionalProperties": true
            },
            "has_watermark": {
              "type": "boolean"
            }
          },
          "description": "Encoding details for the playable video file.",
          "additionalProperties": true
        },
        "author": {
          "type": "object",
          "properties": {
            "uid": {
              "type": "string",
              "description": "The author's numeric Douyin id."
            },
            "sec_uid": {
              "type": "string",
              "description": "The author's secure account id."
            },
            "nickname": {
              "type": "string",
              "description": "The author's public display name -- the subject of this lookup."
            },
            "user_age": {
              "type": "number"
            },
            "unique_id": {
              "type": "string",
              "description": "The author's public handle."
            },
            "follower_count": {
              "type": "number"
            },
            "following_count": {
              "type": "number"
            },
            "total_favorited": {
              "type": "number",
              "description": "Total likes the author's videos have earned."
            },
            "favoriting_count": {
              "type": "number"
            }
          },
          "description": "The queried video's own author (the creator who published this exact video).",
          "additionalProperties": true
        },
        "region": {
          "type": "string",
          "description": "Region code, e.g. 'CN' on the one real fixture."
        },
        "aweme_id": {
          "type": "string",
          "description": "The video's public Douyin id."
        },
        "duration": {
          "type": "number",
          "description": "Video length in milliseconds (18134 on the one real fixture)."
        },
        "share_url": {
          "type": [
            "string",
            "null"
          ],
          "description": "The video's canonical share URL. Value withheld (stripped to `null`) in this tool's output -- only that a share destination exists is observable, not the URL."
        },
        "statistics": {
          "type": "object",
          "properties": {
            "digg_count": {
              "type": "number",
              "description": "Likes."
            },
            "play_count": {
              "type": "number",
              "description": "Plays."
            },
            "share_count": {
              "type": "number",
              "description": "Shares."
            },
            "admire_count": {
              "type": "number"
            },
            "collect_count": {
              "type": "number",
              "description": "Favorites/saves."
            },
            "comment_count": {
              "type": "number",
              "description": "Comments."
            },
            "recommend_count": {
              "type": "number"
            }
          },
          "description": "Engagement counters for this video.",
          "additionalProperties": true
        },
        "text_extra": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "hashtag_id": {
                "type": "string"
              },
              "hashtag_name": {
                "type": "string",
                "description": "The hashtag topic (e.g. a game/theme tag) -- public topic, not a person's name."
              }
            },
            "additionalProperties": true
          },
          "description": "Hashtag mentions parsed out of the caption."
        },
        "create_time": {
          "type": "number",
          "description": "Publish time, Unix seconds."
        }
      },
      "description": "The queried video's own public metadata. Absent entirely on the not-found case (`{}`).",
      "additionalProperties": true
    }
  },
  "description": "The video record, as returned at routing.responseResultPath ($.output) and narrowed by responseShaping to the fields below. Built as `{ aweme_detail: { ... } }` for a video that resolves; an invalid or unknown `share_url` makes the whole document shape to `{}` instead -- confirmed against the `invalid-share-link-not-found` fixture, whose raw output was null (the run still settled COMPLETED, billed 0 units).",
  "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