Bilibili video comments
Read public top-level comments with like and reply counts on a Bilibili video by BV ID and page.
/v1/bilibili/videos/commentsChinese name: B站视频评论 · 视频评论 · 列表 按 BV 号和页码读取 B站公开视频的一级评论和点赞、回复数。bilibili.videos.comments@v1
Price per call
¥0.02/ call
Nonempty complete results are charged; empty, partial, and failed results are not.
Checking live statusTry it
This API is coming soon
We are running launch checks. Once live, you can try it right here at the price shown above; nothing is charged before then. You can already read the parameters and response example.
Sign in and run one real call. The result and charge appear right here.
Security check
Loading the security check…
Checking live execution status…
Execution result
// Result
Request parameters
bvidstringrequiredpattern: "^BV[0-9A-Za-z]{10}$" · minLength: 1 · maxLength: 256
Example:
"BV1M1421t7hT"pageintegeroptionaldefault: 1 · minimum: 1 · maximum: 50
Example:
1
Request JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"bvid": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"pattern": "^BV[0-9A-Za-z]{10}$"
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"bvid"
],
"additionalProperties": false
}Code samples
Install the SDK with npm i @dataxapi/sdk or pip install dataxapi, and put your API key in the DATAXAPI_API_KEY environment variable.
curl -X POST https://api.dataxapi.com/v1/bilibili/videos/comments \
-H "Authorization: Bearer $DATAXAPI_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"bvid":"BV1M1421t7hT","page":1}'import { ExactApiClient } from "@dataxapi/sdk";
const client = new ExactApiClient({
baseUrl: "https://api.dataxapi.com",
apiKey: process.env.DATAXAPI_API_KEY,
});
const result = await client.call("bilibili_videos_comments_v1", {
"bvid": "BV1M1421t7hT",
"page": 1
});
console.log(result.data);import os
from dataxapi import ExactApiClient
client = ExactApiClient("https://api.dataxapi.com", os.environ["DATAXAPI_API_KEY"])
result = client.call("bilibili_videos_comments_v1", {
"bvid": "BV1M1421t7hT",
"page": 1,
})
print(result["data"])[mcp_servers.dataxapi]
url = "https://api.dataxapi.com/mcp"
bearer_token_env_var = "DATAXAPI_API_KEY"Response example
{
"code": 200,
"request_id": "req_example_bilibili_videos_comments",
"message": "success",
"data": {
"items": [
{
"rpid": 237109455120,
"oid": 1156219960,
"mid": 12345678,
"ctime": 1718000000,
"like": 88,
"rcount": 3,
"content": {
"message": "公开评论"
},
"member": {
"mid": "12345678",
"uname": "公开用户"
}
}
]
},
"page": {
"next_cursor": null
},
"warnings": [],
"meta": {
"listing_id": "bilibili.videos.comments",
"version": "v1",
"catalog_release_id": "catalog-production-2026-09-19.b069be57",
"price_book_version": "pricebook-production-2026-09-19.4487e352",
"result_status": "complete",
"charged_amount": "0.02",
"balance_after": "49.98",
"currency": "CNY"
}
}Response fields
codenumber- const: 200
request_idstringmessagestring- const: "success"
dataobjectpageobjectwarningsarraymetaobject
Response JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"type": "number",
"const": 200
},
"request_id": {
"type": "string"
},
"message": {
"type": "string",
"const": "success"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rpid": {},
"oid": {},
"mid": {},
"root": {},
"parent": {},
"ctime": {},
"like": {},
"rcount": {},
"content": {},
"member": {}
},
"additionalProperties": false
}
}
},
"required": [
"items"
],
"additionalProperties": false
},
"page": {
"type": "object",
"properties": {
"next_cursor": {
"type": "null"
}
},
"required": [
"next_cursor"
],
"additionalProperties": false
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"meta": {
"type": "object",
"properties": {
"listing_id": {
"type": "string",
"const": "bilibili.videos.comments"
},
"version": {
"type": "string",
"const": "v1"
},
"catalog_release_id": {
"type": "string",
"minLength": 1
},
"price_book_version": {
"type": "string",
"minLength": 1
},
"result_status": {
"type": "string",
"enum": [
"complete",
"empty",
"partial"
]
},
"charged_amount": {
"type": "string"
},
"balance_after": {
"type": "string"
},
"currency": {
"type": "string",
"const": "CNY"
}
},
"required": [
"listing_id",
"version",
"catalog_release_id",
"price_book_version",
"result_status",
"charged_amount",
"balance_after",
"currency"
],
"additionalProperties": false
}
},
"required": [
"code",
"request_id",
"message",
"data",
"page",
"warnings",
"meta"
],
"additionalProperties": false
}Usage notes
Good for
- Use it to read public comments for audience feedback or sentiment work.
Not for
- Do not use it for nested replies, danmaku, or exhaustive archives.
Known limitations
- Comment text is under content.message and the commenter under member.
- page is capped at 50.
- Page-number paging can repeat or skip items between pages.
- Deleted, private, or restricted content is absent.
Billing
¥0.02 per call. Nonempty complete results are charged; empty, partial, and failed results are not.
See all pricing →