Bilibili Video Comments (App)

https://api.sandbase.ai/v1/api/bilibili/app/video-comments

Returns user comments for a specified Bilibili video by AV or BV identifier. Supports sorting comments by popularity or post time, with cursor-based pagination.

Price
$0.0015USD / callFirst 100 calls per day free (shared per organization)
Method
POST
Response
JSON
Parameters
0 required · 4 optional
Production route

Try the model

Playground

Open playground
Input
AV ID (choose one of av_id or bv_id)
BV ID (choose one of av_id or bv_id)
Sort mode (3=hot, 2=time)
Pagination cursor
OutputExample
Responseoutputs · 387.0 KB · 10,384 lines
[
  {
    "data": {
      "code": 0,
      "data": {
        "assist": 0,
        "blacklist": 0,
        "callbacks": null,
        "config": {
          "read_only": false,
          "show_up_flag": true,
          "showtopic": 1
        },
        "control": {
          "answer_guide_android_url": "https://www.bilibili.com/h5/newbie/entry?navhide=1&re_src=6",
          "answer_guide_icon_url": "http://i0.hdslb.com/bfs/emote/96940d16602cacbbac796245b7bb99fa9b5c970c.png",
          "answer_guide_ios_url": "https://www.bilibili.com/h5/newbie/entry?navhide=1&re_src=12",
          "answer_guide_text": "需要升级成为lv2会员后才可以评论,先去答题转正吧!",
          "bg_text": "",
          "child_input_text": "宫廷玉液酒,评论走一走",
          "disable_jump_emote": false,
          "empty_page": null,
          "enable_charged": true,
          "enable_cm_biz_helper": false,
          "giveup_input_text": "不发没关系,请继续友善哦~",
          "input_disable": false,
          "preload_resources": null,
          "root_input_text": "宫廷玉液酒,评论走一走",
          "screenshot_icon_state": 1,
          "show_text": "",
          "show_type": 1,
          "upload_picture_icon_state": 1,
          "web_selection": false
        },
        "cursor": {
          "all_count": 2199,
          "is_begin": true,
          "is_end": false,
          "mode": 3,
          "mode_text": "",
          "name": "热门评论",
          "next": 4,
          "pagination_reply": {
            "next_offset": "CAEiAggE"
          },
          "prev": 0,
          "session_id": "",
          "support_mode": [
            2,
            3
          ]
        },
        "effects": {
          "preloading": ""
        },
        "note": 1,
        "replies": [
          {
            "action": 0,
            "assist": 0,
            "attr": 0,
            "content": {
              "emote": {
                "[笑哭]": {
                  "attr": 0,
                  "id": 509,
                  "jump_title": "笑哭",
                  "meta": {
                    "size": 1,
                    "suggest": [
                      ""
                    ]
                  },
                  "mtime": 1668688325,
                  "package_id": 1,
                  "state": 0,
                  "text": "[笑哭]",
                  "type": 1,
                  "url": "https://i0.hdslb.com/bfs/emote/c3043ba94babf824dea03ce500d0e73763bf4f40.png"
                }
              },
              "jump_url": {},
              "max_line": 6,
              "members": [],
              "message": "弹幕来一句500g是两斤确实绷不住了[笑哭]"
            },
            "count": 1,
            "ctime": 1790200581,
            "dialog": 0,
            "dialog_str": "0",
            "dynamic_id_str": "0",
            "fansgrade": 0,
            "folder": {
              "has_folded": false,
              "is_folded": false,
              "rule": ""
            },
            "invisible": false,
            "like": 9,
            "member": {
              "avatar": "https://i2.hdslb.com/bfs/face/ba04fabd609e34a7cecc4bd824ab88f0a94eccb9.jpg",
              "avatar_item": {
                "container_size": {
                  "height": 1.8,
                  "width": 1.8
                },
                "fallback_layers": {
                  "is_critical_group": true,
                  "layers": [
                    {
                      "general_spec": {
                        "pos_spec": {
                          "axis_x": 0.9,
                          "axis_y": 0.9,
                          "coordinate_pos": 2
                        },
                        "render_spec": {
                          "opacity": 1
                        },
                        "size_spec": {
                          "height": 1,
                          "width": 1
                        }
                      },
                      "layer_config": {
                        "is_critical": true,
                        "layer_mask": {
                          "general_spec": {
                            "pos_spec": {
                              "axis_x": 0.9,
                              "axis_y": 0.9,
                              "coordinate_pos": 2
                            },
                            "render_spec": {
                              "opacity": 1
                            },
                            "size_spec": {
                              "height": 1,
                              "width": 1
                            }
                          },
                          "mask_src": {
                            "draw": {
                              "color_config": {
                                "day": {
                                  "argb": "#FF000000"
                                }
                              },
                              "draw_type": 1,
                              "fill_mode": 1
                            },
                            "src_type": 3
                          }
                        },
                        "tags": {
                          "AVATAR_LAYER": {}
                        }
                      },
                      "resource": {
                        "res_image": {
                          "image_src": {
                            "placeholder": 6,
                            "remote": {
                              "bfs_style": "widget-layer-avatar",
                              "url": "https://i2.hdslb.com/bfs/face/ba04fabd609e34a7cecc4bd824ab88f0a94eccb9.jpg"
                            },
                            "src_type": 1
                          }
                        },
                        "res_type": 3
                      },
                      "visible": true
                    },
                    {
                      "general_spec": {
                        "pos_spec": {
                          "axis_x": 1.0333333333333332,
                          "axis_y": 1.0333333333333332,
                          "coordinate_pos": 1
                        },
                        "render_spec": {
                          "opacity": 1
                        },
                        "size_spec": {
                          "height": 0.4,
                          "width": 0.4
                        }
                      },
                      "layer_config": {
                        "tags": {
                          "ICON_LAYER": {}
                        }
                      },
                      "resource": {
                        "res_native_draw": {
                          "draw_src": {
                            "draw": {
                              "color_config": {
                                "day": {
                                  "argb": "#FFFFFFFF"
                                },
                                "is_dark_mode_aware": true,
                                "night": {
                                  "argb": "#FF17181A"
                                }
                              },
                              "draw_type": 1,
                              "fill_mode": 1
                            },
                            "src_type": 3
                          }
                        },
                        "res_type": 5
                      },
                      "visible": true
                    },
                    {
                      "general_spec": {
                        "pos_spec": {
                          "axis_x": 1.0666666666666669,
                          "axis_y": 1.0666666666666669,
                          "coordinate_pos": 1
                        },
                        "render_spec": {
                          "opacity": 1
                        },
                        "size_spec": {
                          "height": 0.3333333333333333,
                          "width": 0.3333333333333333
                        }
                      },
                      "layer_config": {
                        "tags": {
                          "ICON_LAYER": {}
                        }
                      },
                      "resource": {
                        "res_image": {
                          "image_src": {
                            "local": 3,
                            "src_type": 2
                          }
                        },
                        "res_type": 3
                      },
                      "visible": true
                    }
                  ]
                },
                "mid": "3398387"
              },
              "contract_desc": "",
              "face_nft_new": 0,
              "fans_detail": null,
              "handle": "",
              "is_contractor": false,
              "is_senior_member": 0,
              "level_info": {
                "current_exp": 0,
                "current_level": 6,
                "current_min": 0,
                "next_exp": 0
              },
              "mid": "3398387",
              "nameplate": {
                "condition": "单个自制视频总播放数>=100万,数据次日更新",
                "image": "https://i0.hdslb.com/bfs/face/82896ff40fcb4e7c7259cb98056975830cb55695.png",
                "image_small": "https://i1.hdslb.com/bfs/face/627e342851dfda6fe7380c2fa0cbd7fae2e61533.png",
                "level": "稀有勋章",
                "name": "黄金殿堂",
                "nid": 1
              },
              "nft_interaction": null,
              "official_verify": {
                "desc": "音乐人尔康",
                "type": 0
              },
              "pendant": {
                "expire": 0,
                "image": "",
                "image_enhance": "",
                "image_enhance_frame": "",
                "n_pid": 0,
                "name": "",
                "pid": 0
              },
              "rank": "10000",
              "senior": {},
              "sex": "男",
              "sign": "技术流博主,超强剑魂,全职业都能玩,不扯犊子只说实话,提问请关注并在评论区或者直播间提问,每晚7点播,四维土龙代斩可以联系,交流群见视频置顶",
              "tribee": null,
              "uname": "DNF手游無限劍刃",
              "user_sailing": {
                "cardbg": null,
                "cardbg_with_focus": null,
                "pendant": null
              },
              "user_sailing_v2": {},
              "vip": {
                "accessStatus": 0,

Examples

Select an example to load its inputs and result into the playground.

Model card

Specifications

Pricing

Base price
$0.0015 / run
Daily free calls
First 100 calls per day free (shared per organization)

Request & response

Method
POST
Request body
application/json
Response
application/json
Execution
sync

Parameters

av_id
string · optional
bv_id
string · optional
mode
integer · optional
next_offset
integer · optional

Access

Provider
Bilibili
API
Platform API
Base URL
https://api.sandbase.ai
Endpoint
/v1/api/bilibili/app/video-comments
Authentication
Bearer API key

API README

Bilibili Video Comments (App) API

Retrieve comments on a Bilibili video using either bv_id or av_id. Configure comment ordering and traverse pages via next_offset.

Use cases

  • Analyze viewer sentiment and reactions across top video comments.
  • Track discussion timelines on videos sorted by post time.
  • Collect popular viewer feedback to measure engagement trends.

Request

curl -X POST "https://api.sandbase.ai/v1/api/bilibili/app/video-comments" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

Parameters

NameTypeRequiredDescription
modeintegerNoSort mode (3=hot, 2=time)
av_idstringNoAV ID (choose one of av_id or bv_id)
bv_idstringNoBV ID (choose one of av_id or bv_id)
next_offsetintegerNoPagination cursor

Notes

  • Specify either av_id or bv_id to identify the target video.
  • Set mode to 3 for top comments or 2 for chronological order.
  • Advance through result pages using next_offset.

Related APIs

  • Bilibili App Bangumi Tab: Returns Bilibili app bangumi tab data, providing curated anime recommendations, feed items, and category listings for mobile clients.
  • Bilibili App Cinema Tab: Returns cinema tab content from the Bilibili app, featuring curated movies, TV shows, and entertainment recommendations without requiring additional query para…
  • Bilibili App Home Feed: Returns recommended video items from the Bilibili app home feed.

Start building

Send your first request

Platform API endpoint with unified authentication and usage tracking.

Production API
Platform API endpoint
https://api.sandbase.ai/v1/api/bilibili/app/video-comments
Authorization header
Authorization: Bearer $SANDBASE_API_KEY
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/api/bilibili/app/video-comments" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "mode": 3,
  "bv_id": "BV19uhb6mEWd",
  "next_offset": 3
}
SANDBASE_JSON
)
printf '%s\n' "$result"

Explore more

Related APIs

All APIs
APIPriceResponseReleased
Bilibili$0.0015 per callJSONJul 31, 2026
Bilibili$0.0015 per callJSONJul 31, 2026
Bilibili$0.0015 per callJSONJul 31, 2026
Bilibili$0.0015 per callJSONJul 31, 2026
Bilibili$0.0015 per callJSONJul 31, 2026
Bilibili$0.0015 per callJSONJul 31, 2026

Questions

FAQ

How do I use the Bilibili Video Comments (App) API?

Send a POST request to https://api.sandbase.ai/v1/api/bilibili/app/video-comments with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

How much does the Bilibili Video Comments (App) API cost?

$0.0015 per call. Every organization gets 100 free calls per UTC day, shared across eligible SandBase APIs including this one; after that each call is billed at this price from your SandBase balance. There is no subscription.

What parameters does the Bilibili Video Comments (App) API accept?

No parameters are required. Optional: av_id (string), bv_id (string), mode (integer) and next_offset (integer). The Parameters table and the Playground on this page list every field.

What does the Bilibili Video Comments (App) API return?

A JSON response returned in the same HTTP request (synchronous).

Do I need a Bilibili developer account or API key?

No. Bilibili Video Comments (App) runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Bilibili API access separately.