Skip to content
Eden Engine

Bilibili Video Lookup (by URL)

omnial/bilibili-web-fetch-one-video

Given a Bilibili video URL, returns that video's public metadata: title, description, uploader, duration, publish date, category, page/part breakdown, view/like/coin/share/danmaku counts, and season/collection summary when the video belongs to one. An invalid or nonexistent video URL returns an empty shell rather than an error.

activeper callv1
Provider
Web & Business Data Network
Category
bilibili
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": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "examples": [
        "https://www.bilibili.com/video/BV1S5uKzzE4r"
      ],
      "description": "Video URL"
    }
  },
  "additionalProperties": false
}
output_schema.json
{
  "type": "object",
  "properties": {
    "aid": {
      "type": "number"
    },
    "cid": {
      "type": "number",
      "description": "The default page's content id."
    },
    "pic": {
      "type": [
        "string",
        "null"
      ],
      "description": "The video's cover image URL. Value withheld (stripped to `null`) in this tool's output -- only whether a cover exists is a given (the field is a fixed thumbnail-shaped URL), not the image itself."
    },
    "tid": {
      "type": "number",
      "description": "Category id."
    },
    "bvid": {
      "type": "string"
    },
    "desc": {
      "type": "string"
    },
    "stat": {
      "type": "object",
      "properties": {
        "vt": {
          "type": "number"
        },
        "coin": {
          "type": "number"
        },
        "like": {
          "type": "number"
        },
        "view": {
          "type": "number"
        },
        "reply": {
          "type": "number"
        },
        "share": {
          "type": "number"
        },
        "danmaku": {
          "type": "number"
        },
        "dislike": {
          "type": "number"
        },
        "favorite": {
          "type": "number"
        },
        "his_rank": {
          "type": "number"
        },
        "now_rank": {
          "type": "number"
        },
        "evaluation": {
          "type": "string"
        }
      },
      "description": "Engagement counters. Empty object `{}` on the not-found case.",
      "additionalProperties": true
    },
    "ctime": {
      "type": "number",
      "description": "Unix seconds."
    },
    "owner": {
      "type": "object",
      "properties": {
        "mid": {
          "type": "number",
          "description": "The uploader's numeric Bilibili member id."
        },
        "face": {
          "type": [
            "string",
            "null"
          ],
          "description": "The uploader's public avatar image URL. Value withheld (stripped to `null`) in this tool's output -- only whether the field is populated is observable, not the image itself."
        },
        "name": {
          "type": "string",
          "description": "The uploader's public display name."
        }
      },
      "description": "The video's uploader. Empty object `{}` on the not-found case.",
      "additionalProperties": true
    },
    "pages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "cid": {
            "type": "number"
          },
          "vid": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "page": {
            "type": "number"
          },
          "part": {
            "type": "string"
          },
          "ctime": {
            "type": "number"
          },
          "weblink": {
            "type": "string"
          },
          "duration": {
            "type": "number"
          },
          "dimension": {
            "type": "object",
            "properties": {
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              },
              "rotate": {
                "type": "number"
              }
            },
            "additionalProperties": true
          },
          "first_frame": {
            "type": [
              "string",
              "null"
            ],
            "description": "First-frame thumbnail URL. Value withheld (stripped to `null`) in this tool's output."
          }
        },
        "additionalProperties": true
      },
      "description": "One entry per video part/page."
    },
    "state": {
      "type": "number",
      "description": "Video state code, e.g. 0 for a normal/live video."
    },
    "title": {
      "type": "string"
    },
    "tname": {
      "type": "string",
      "description": "Category name. Empty string observed on one real video."
    },
    "rights": {
      "type": "object",
      "properties": {
        "bp": {
          "type": "number"
        },
        "hd5": {
          "type": "number"
        },
        "pay": {
          "type": "number"
        },
        "elec": {
          "type": "number"
        },
        "movie": {
          "type": "number"
        },
        "is_360": {
          "type": "number"
        },
        "arc_pay": {
          "type": "number"
        },
        "ugc_pay": {
          "type": "number"
        },
        "autoplay": {
          "type": "number"
        },
        "download": {
          "type": "number"
        },
        "no_share": {
          "type": "number"
        },
        "clean_mode": {
          "type": "number"
        },
        "free_watch": {
          "type": "number"
        },
        "no_reprint": {
          "type": "number"
        },
        "is_stein_gate": {
          "type": "number"
        },
        "no_background": {
          "type": "number"
        },
        "is_cooperation": {
          "type": "number"
        },
        "ugc_pay_preview": {
          "type": "number"
        }
      },
      "description": "Boolean permission flags the uploader/platform set for this video.",
      "additionalProperties": true
    },
    "tid_v2": {
      "type": "number",
      "description": "Category id, v2 taxonomy."
    },
    "videos": {
      "type": "number",
      "description": "Number of video parts/pages."
    },
    "dynamic": {
      "type": "string",
      "description": "Attached feed text. Empty string on the one real video observed."
    },
    "pubdate": {
      "type": "number",
      "description": "Unix seconds."
    },
    "duration": {
      "type": "number",
      "description": "Seconds."
    },
    "premiere": {
      "type": [
        "string",
        "null"
      ],
      "description": "Premiere broadcast info, when the video was released as a scheduled premiere. Observed as `null` (not a premiere) on the one real video calibrated -- a populated shape was never observed."
    },
    "subtitle": {
      "type": "object",
      "properties": {
        "list": {
          "type": "array",
          "items": {},
          "description": "Empty on the one real video observed; item shape unconfirmed."
        },
        "allow_submit": {
          "type": "boolean"
        }
      },
      "additionalProperties": true
    },
    "tname_v2": {
      "type": "string",
      "description": "Category name, v2 taxonomy. Empty string observed on one real video."
    },
    "copyright": {
      "type": "number",
      "description": "1 or 2 on the one real video observed."
    },
    "dimension": {
      "type": "object",
      "properties": {
        "width": {
          "type": "number"
        },
        "height": {
          "type": "number"
        },
        "rotate": {
          "type": "number"
        }
      },
      "additionalProperties": true
    },
    "season_id": {
      "type": "number",
      "description": "Present when the video belongs to a season/collection; absent otherwise."
    },
    "argue_info": {
      "type": "object",
      "properties": {
        "argue_msg": {
          "type": "string"
        },
        "argue_link": {
          "type": "string"
        },
        "argue_type": {
          "type": "number"
        }
      },
      "description": "The uploader's own content disclaimer, when set.",
      "additionalProperties": true
    },
    "ugc_season": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "mid": {
          "type": "number",
          "description": "The season owner's numeric Bilibili member id."
        },
        "stat": {
          "type": "object",
          "properties": {
            "vt": {
              "type": "number"
            },
            "vv": {
              "type": "number"
            },
            "fav": {
              "type": "number"
            },
            "coin": {
              "type": "number"
            },
            "like": {
              "type": "number"
            },
            "view": {
              "type": "number"
            },
            "reply": {
              "type": "number"
            },
            "share": {
              "type": "number"
            },
            "danmaku": {
              "type": "number"
            },
            "his_rank": {
              "type": "number"
            },
            "now_rank": {
              "type": "number"
            }
          },
          "additionalProperties": true
        },
        "cover": {
          "type": [
            "string",
            "null"
          ],
          "description": "The season's cover image URL. Value withheld (stripped to `null`) in this tool's output."
        },
        "intro": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "ep_count": {
          "type": "number"
        },
        "season_type": {
          "type": "number"
        },
        "is_pay_season": {
          "type": "boolean"
        }
      },
      "description": "Summary of the season/collection this video belongs to, when it belongs to one -- absent otherwise (including on the not-found case). The season's own full episode list is NOT included here (it can run to dozens of entries per season on a real collection and duplicates each episode's own full video record) -- call this tool again with an episode's own URL to get that episode's own metadata.",
      "additionalProperties": true
    },
    "honor_reply": {
      "type": "object",
      "properties": {
        "honor": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "aid": {
                "type": "number"
              },
              "desc": {
                "type": "string"
              },
              "type": {
                "type": "number"
              },
              "weekly_recommend_num": {
                "type": "number"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "description": "Platform-awarded recognition badges for this video, when any.",
      "additionalProperties": true
    }
  },
  "description": "The video record, as returned at routing.responseResultPath ($.output). Observed as `{ owner: {}, stat: {} }` (no other fields present) when the given `url` does not resolve to an existing video -- confirmed against the `invalid-video-not-found` fixture, which still billed the normal per-call price.",
  "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