Bilibili (哔哩哔哩) Danmaku Scraper - Bullet Comments with Timeline avatar

Bilibili (哔哩哔哩) Danmaku Scraper - Bullet Comments with Timeline

Pricing

from $0.15 / 1,000 danmakus

Go to Apify Store
Bilibili (哔哩哔哩) Danmaku Scraper - Bullet Comments with Timeline

Bilibili (哔哩哔哩) Danmaku Scraper - Bullet Comments with Timeline

Extract Bilibili (哔哩哔哩) danmaku (bullet comments) by video URL or BV id: comment text, timeline position, color, mode, send time, and sender hash. Export to JSON, CSV, or Excel.

Pricing

from $0.15 / 1,000 danmakus

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

Bilibili Danmaku Scraper (哔哩哔哩 / B站) | Bullet Comments with Timeline, Color & Sender (2026)

Bilibili (哔哩哔哩) danmaku scraper output: bullet comment text, timeline position, color, display mode, send time, and sender as structured JSON

Every danmaku (弹幕) from a Bilibili (哔哩哔哩) video, with its exact timeline position, color, display mode, send time, and sender, in clean structured JSON.
Zen Studio · Chinese-platform suite   •  Bilibili (B站), Douyin (抖音), RedNote (小红书), Xigua (西瓜视频)
▷ Bilibili Danmaku
➤ You are here
▷ Bilibili Video
Videos, comments, creators
 Douyin Search
Keyword video search
 RedNote Search
小红书 note search

Copy to your AI assistant

zen-studio/bilibili-danmaku-scraper on Apify. Scrapes Bilibili (哔哩哔哩) danmaku (bullet comments) from videos, with each comment's timeline position, color, display mode, send time, and sender hash. Call ApifyClient("TOKEN").actor("zen-studio/bilibili-danmaku-scraper").call(run_input={"videoUrls": ["BV1DYjA6KEJ7"]}), then client.dataset(run["defaultDatasetId"]).list_items().items. Optional fields: maxDanmaku (cap per video), startSec / endSec (time window). Full spec: GET https://api.apify.com/v2/acts/zen-studio~bilibili-danmaku-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations

Key Features

  • 22 fields per danmaku: comment text, exact timeline position (seconds and mm:ss), display mode (scroll / top / bottom), color (hex and decimal), font size, send time, sender hash, weight, pool, and the source video's BV / AV / CID and part.
  • Multi-part aware: resolves every part (P1, P2, ...) of a video and tags each danmaku with its part index and part title.
  • Timeline slicing: pull only the danmaku inside a time window with startSec / endSec, or keep the top-N most relevant per video with maxDanmaku.
  • Just paste video URLs or BV ids: no account, no cookies, no login.
  • Free tier: 10 lifetime preview runs, up to 100 danmaku per run. No credit card required.

How to Scrape Bilibili Danmaku

Paste one or more videos into videoUrls and run. Each video can be a full URL, a BV id, or an av number.

Basic: one video

{
"videoUrls": ["https://www.bilibili.com/video/BV1DYjA6KEJ7"]
}

Several videos at once

{
"videoUrls": ["BV1DYjA6KEJ7", "av116770799295304", "https://www.bilibili.com/video/BV16D7T6AEP7"]
}

Cap the danmaku per video

{
"videoUrls": ["BV1DYjA6KEJ7"],
"maxDanmaku": 500
}

Only a time window (e.g. the first two minutes)

{
"videoUrls": ["BV1DYjA6KEJ7"],
"startSec": 0,
"endSec": 120
}

Input Parameters

ParameterTypeDefaultDescription
videoUrlsstring[]["https://www.bilibili.com/video/BV1DYjA6KEJ7"]One or more Bilibili videos. Accepts a full bilibili.com/video/... URL, a BV id, or an av number.
maxDanmakuinteger0Max danmaku per video. 0 = all available. When capped, the most relevant (highest-weight) danmaku are kept, then restored to timeline order.
startSecinteger0Only danmaku at or after this many seconds into the video.
endSecinteger0Only danmaku at or before this many seconds into the video. 0 = no upper limit.

What Data Can You Extract from Bilibili Danmaku?

Every danmaku row includes:

  • Content: the comment text (HTML entities decoded).
  • Timeline: exact position in the video as seconds (videoTimeOffset) and as mm:ss (videoTimeFormatted).
  • Appearance: display mode and a readable modeLabel (scroll, top, bottom, reverse, advanced, code), color as hex and decimal, and fontSize.
  • Origin: send time as ISO date and epoch, an anonymized senderHash, the weight (Bilibili's relevance / quality score), the pool and poolLabel (normal, subtitle, special), and the danmakuId.
  • Source video: videoBvid, videoAid, cid, partIndex, and partTitle.

Fields a danmaku does not provide are returned as null rather than dropped, so the column set stays stable across every row.

Output Example

A full danmaku row (every field shown):

{
"type": "danmaku",
"videoBvid": "BV1DYjA6KEJ7",
"videoAid": 116770799295304,
"cid": 39216154197,
"partIndex": 1,
"partTitle": "《原神》「『空月之歌·谐谑』映夏!归乡?千灵节!」前瞻特别节目",
"danmakuId": 2136548701387831040,
"text": "前排提醒:請不要刷cp",
"videoTimeOffset": 0.0,
"videoTimeFormatted": "0:00",
"mode": 5,
"modeLabel": "top",
"fontSize": 25,
"color": "#E70012",
"colorDecimal": 15138834,
"sendTimestamp": 1781787652,
"sendDate": "2026-06-18T13:00:52+00:00",
"pool": 0,
"poolLabel": "normal",
"senderHash": "1c7dbf4b",
"weight": 10,
"scrapedAt": "2026-06-25T08:48:31+00:00"
}

Advanced Usage

Ready-made configurations for content research, sentiment analysis, and highlight detection.

The opening minute of a premiere

{
"videoUrls": ["BV1DYjA6KEJ7"],
"endSec": 60
}

Top 1,000 danmaku across several videos

{
"videoUrls": ["BV1DYjA6KEJ7", "BV16D7T6AEP7"],
"maxDanmaku": 1000
}

Reactions around a key moment (e.g. minute 10 to 12)

{
"videoUrls": ["BV1DYjA6KEJ7"],
"startSec": 600,
"endSec": 720
}

Pricing: Pay Per Event (PPE)

You pay per danmaku returned, plus a small base fee for each video that returns danmaku and a fixed fee when a run starts. A video whose danmaku are all filtered out by your time window is not charged the video fee.

EventPricePer 1,000
Danmaku$0.00015$0.15
Video (base fee, per video with danmaku)$0.00999$9.99

Free tier: 10 lifetime runs, up to 100 danmaku per run. No credit card required.

FAQ

What is danmaku (弹幕)? Danmaku are the user comments that scroll across a Bilibili video as it plays, anchored to a moment in the timeline. They are central to Bilibili's culture. This actor returns each individual danmaku message with its exact position, appearance, and send time.

How is this different from the Bilibili Video Scraper? The Bilibili Video Scraper returns the danmaku count per video as one engagement metric. This actor returns the individual danmaku messages themselves, one row each, with their timeline position and styling.

How many danmaku will I get per video? Bilibili serves a rolling display pool per video, typically up to a few thousand depending on the video's length. This actor returns that current pool. Use maxDanmaku to cap it, or startSec / endSec to slice a window.

Does it support multi-part videos? Yes. Every part (P1, P2, ...) is resolved, and each danmaku row carries its partIndex and partTitle.

Do I need a Bilibili account or cookies? No. Provide video URLs or BV ids and run. No account, cookie export, or QR login is involved.

How fresh is the data? Live. Every run fetches the current danmaku for each video at request time.

How do I export the data? JSON, CSV, Excel, XML, or HTML from the run's Storage tab, or via the Apify API.

What is a BV id, and where do I find it? The BV id is the unique code in a video's URL, for example BV1DYjA6KEJ7 in bilibili.com/video/BV1DYjA6KEJ7. Paste either the full URL, the BV id, or the av number into videoUrls.

Why is the sender shown as a hash? Bilibili identifies danmaku senders by an anonymized hash, not a username. The actor returns that hash as-is; it is not personally identifying on its own.

What's the free tier? 10 runs total per account, up to 100 danmaku each. No credit card required.

Is it legal to scrape Bilibili data? This actor extracts only publicly available data, nothing behind a login. You are responsible for complying with Bilibili's terms of service and applicable data-protection law (GDPR, CCPA, and China's PIPL).

Support

  • Bugs: Issues tab
  • Features: Issues tab

Extracts publicly available data. Users must comply with Bilibili terms and data protection regulations (GDPR, CCPA, PIPL).

More Zen Studio scrapers for Chinese platforms

🎬 Short-video & social

🛒 E-commerce

🏠 Real estate & autos


Scrape Bilibili (哔哩哔哩) danmaku (bullet comments) by video URL or BV id, with each comment's timeline position, color, mode, send time, and sender in structured JSON.