Bilibili (哔哩哔哩) Danmaku Scraper - Bullet Comments with Timeline
Pricing
from $0.15 / 1,000 danmakus
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Bilibili Danmaku Scraper (哔哩哔哩 / B站) | Bullet Comments with Timeline, Color & Sender (2026)

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 |
Keyword video 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 withmaxDanmaku. - 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
| Parameter | Type | Default | Description |
|---|---|---|---|
videoUrls | string[] | ["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. |
maxDanmaku | integer | 0 | Max danmaku per video. 0 = all available. When capped, the most relevant (highest-weight) danmaku are kept, then restored to timeline order. |
startSec | integer | 0 | Only danmaku at or after this many seconds into the video. |
endSec | integer | 0 | Only 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 asmm:ss(videoTimeFormatted). - Appearance: display
modeand a readablemodeLabel(scroll, top, bottom, reverse, advanced, code),coloras hex and decimal, andfontSize. - Origin: send time as ISO date and epoch, an anonymized
senderHash, theweight(Bilibili's relevance / quality score), thepoolandpoolLabel(normal, subtitle, special), and thedanmakuId. - Source video:
videoBvid,videoAid,cid,partIndex, andpartTitle.
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.
| Event | Price | Per 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
Legal Compliance
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
- Bilibili 哔哩哔哩
Douyin 抖音
RedNote 小红书
Xigua 西瓜视频
🛒 E-commerce
Shopee
Taobao 淘宝
JD.com 京东
1688 阿里巴巴
Goofish 闲鱼
🏠 Real estate & autos
Anjuke 安居客
58.com 58同城
Autohome 汽车之家
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.