Bilibili Scraper (B站 哔哩哔哩) - Videos, Comments, Danmaku
Pricing
from $2.00 / 1,000 results
Bilibili Scraper (B站 哔哩哔哩) - Videos, Comments, Danmaku
Scrape Bilibili (B站 / 哔哩哔哩) without login or cookies: video search beyond the 1,000-result cap, video details, creator videos and profiles, popular feed, full comment threads with replies, danmaku (弹幕) analytics. From $2 per 1,000 results.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Alom Dev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Bilibili Scraper (B站 / 哔哩哔哩)
Scrape Bilibili, China's largest video platform for Gen-Z (300M+ monthly users), into JSON, CSV or Excel: search videos by keyword (past Bilibili's 1,000-result cap), video details, a creator's uploads and profile, the popular/trending feed, comments with full reply threads, and danmaku (弹幕) reaction profiles. You get views, likes, coins, favorites, shares, danmaku and comment counts, tags, category, and author.
✅ No login, no cookies, no browser: pure HTTP, so runs are fast and cheap. ✅ Much cheaper than the alternatives, and platform usage (compute and proxy) is included. ✅ Drop-in compatible with the most-used Bilibili scraper's input and output field names. ✅ Monitoring mode: return only videos you haven't seen yet, on a schedule. ✅ Danmaku profiles: per-video reaction rate, peak minute, unique senders and a timeline sample. ✅ Deep search: thousands of videos per keyword, not just the first ~1,000.
What can you use Bilibili data for?
- Brand & market research in China: how Gen-Z talks about your brand, product or game.
- Creator (KOL/UP主) discovery and vetting: followers, total likes, upload frequency, per-video engagement.
- Trend monitoring: what's popular right now, per category, every hour or day.
- Gaming & entertainment: Chinese reception of launches, trailers, anime and film.
- AI & research datasets: Chinese-language titles, descriptions, tags and comments.
Switching from another Bilibili scraper?
- Keep your input.
mode,searchQuery,sortOrder,durationFilter,pubtimeBegin/pubtimeEnd,videoUrls,userIds,category,maxResults,includeComments,maxComments,sortComments,deltaModeandmonitorNamework the same way. - Change the Actor ID to
alom/bilibili-scraper. - Output rows use the same field names (
bvid,viewCount,likeCount,coinCount,authorMid,type, …), so your pipeline keeps working.
What it costs: 10,000 videos cost $40 on the Free plan and $20 on Business here, compared with about $200 at the $20 per 1,000 that some Bilibili scrapers charge. Platform usage is included.
Modes
| Mode | Input | Output |
|---|---|---|
search | keyword(s), sort, length, date range | videos (up to 5,000 per keyword, see Deep search) |
video_detail | video URLs / BV / av ids / b23.tv links | full stats incl. coins and shares, plus tags |
video_comments | video URLs / BV ids / b23.tv links | comments, 20 per page, plus full reply threads |
user_videos | creator ids, space URLs or b23.tv links | one creator profile row + their videos, newest first |
user_profile | creator ids, space URLs or b23.tv links | followers, following, total likes, videos, level, verification |
popular | optional category | the trending feed, with full stats |
Output example
{"type": "video","bvid": "BV1LraH6qEr5","aid": 117353874593121,"title": "【原神】免费新5星命座!7.2卡池官宣!…","url": "https://www.bilibili.com/video/BV1LraH6qEr5","duration": 140,"durationFormatted": "2:20","viewCount": 7595,"likeCount": 3945,"coinCount": 115,"favoriteCount": 55,"shareCount": 7,"danmakuCount": 108,"replyCount": 44,"authorName": "游戏大猪猪","authorMid": 574115689,"publishDate": "2026-09-29T03:15:55.000Z","category": "手机游戏","tags": ["原神", "手机游戏"],"scrapedAt": "2026-09-29T10:00:00.000Z"}
Creator rows (type: "user") include fans, attention, archiveCount, likeCount, level, isOfficial,
officialDesc. Comment rows (type: "comment") include text, likeCount, replyCount, authorName,
authorLevel, createdAt, videoBvid, and for replies isThreadReply + rootRpid (the comment they answer).
Danmaku profiles (弹幕)
Danmaku are Bilibili's on-screen comments, each tied to a second of the video. Turn on includeDanmaku and
every video also gets one type: "danmaku" row:
| Field | Meaning |
|---|---|
danmakuFetched | danmaku in the pool Bilibili keeps for the video (capped: e.g. 3,600 kept of 128,575) |
danmakuTotal / danmakuPoolCapped | the video's own count (single-part videos; null for multi-part) and whether the pool is smaller |
danmakuUniqueSenders | distinct senders |
danmakuPerMinute, danmakuRateBasisSecs | reaction rate and the duration it was computed over |
danmakuPeakMinute, danmakuPeakMinuteCount | the minute the audience reacted to most |
danmakuByMinute | danmaku per minute of the video (a histogram) |
danmakuFirstAt / danmakuLastAt | first and last position, in seconds |
danmakuSample / danmakuSampleAt | danmakuSampleSize texts (default 25, 0-500) spread evenly over the video, with their positions |
{ "type": "danmaku", "bvid": "BV1LraH6qEr5", "danmakuFetched": 273, "danmakuTotal": 355, "danmakuPoolCapped": true,"danmakuUniqueSenders": 246, "danmakuPerMinute": 117, "danmakuPeakMinute": 0, "danmakuPeakMinuteCount": 125,"danmakuByMinute": [125, 117, 31], "danmakuSample": ["跳过等女皇!", "胡桃胡桃胡桃胡桃胡桃", "…"] }
A profile is one row per video, billed as its own danmaku-profile event (see pricing). Videos with no danmaku,
or whose danmaku could not be fetched, get no profile row and are not charged for one. Works in search,
video_detail, user_videos and popular.
Deep search (past 1,000 results)
Bilibili stops one search at ~1,000 videos. When you set Max results above that, the search continues on its own:
it asks for the same keyword again, one date window at a time (newest first), each window starting at the oldest
video the previous one returned. Duplicates are never returned or charged twice, and videos outside the requested
dates are dropped. It stops at the first of: your Max results, your charge limit, the run timeout, or 25 windows per
keyword. The log (and the SEARCH_COVERAGE record in the run's key-value store) states the published-date span it
covered and what stopped it. In monitoring mode (deltaMode) deep search is off.
Values a given Bilibili endpoint doesn't provide are null, never a made-up 0. For example, search results don't
include coins or shares; use video_detail for those.
How much does it cost?
From $2 per 1,000 results. One result = one video, one comment, or one creator profile.
| Apify plan | Price per 1,000 results |
|---|---|
| Free | $4.00 |
| Starter (Bronze) | $3.00 |
| Scale (Silver) | $2.50 |
| Business (Gold) and above | $2.00 |
- 500 search results: $2.00 on the Free plan, $1.00 on Business
- 50 creators' profiles: $0.20 on the Free plan
You only pay for results you get. Platform usage is included.
Danmaku profiles (only with includeDanmaku on) cost $0.02 per profiled video (a separate danmaku-profile
event), on top of the normal result price for that row. Each profile downloads and analyses the video's whole danmaku
pool, so it is priced separately. Leave it off and you never pay for it.
Monitoring (only new videos)
Turn on "Only new videos since my last run", give it a name (e.g. nike-weekly), and schedule the run in Apify
Console. Each run returns only videos no earlier run with that name returned. It works in search (use
sortOrder: "pubdate"), popular and user_videos.
{ "mode": "search", "searchQuery": "耐克", "sortOrder": "pubdate", "maxResults": 200, "deltaMode": true, "monitorName": "nike-weekly" }
Your own login (optional, at your own risk)
You don't need a Bilibili account: comments page 20 at a time and reply threads load in full without login. If
you still want to, paste the SESSDATA cookie value of your own account in "Your own Bilibili SESSDATA
cookie". It's checked once and then sent only with comment and reply requests. Apify stores it encrypted, and
it never appears in logs or output. ⚠️ This is your account and your risk: Bilibili can rate-limit or restrict
accounts that make automated requests. An expired or wrong value is ignored, the log says so, and the run carries on
without login. Leave the field empty to not use it.
Limitations
- Comments: up to 1,000 per video (
maxComments), replies included. Videos with comments closed return none. - Danmaku: Bilibili keeps a capped pool per video. On busy videos the profile describes that pool, not every
danmaku ever sent (
danmakuPoolCapped: true). Multi-part videos are profiled on their first part. - Deep search moves back one second at a time. If more than one window's worth of videos (~1,000) share the same publish second, it stops and says so.
- Creator video lists include the view count only. For full stats, pass the video URLs to
video_detail. - An invalid or expired input (e.g. a dead
b23.tvlink) is reported by name as "not found". The other inputs still run.
FAQ
Do I need a Bilibili account? No.
Does it work outside China? Yes. It runs on Apify's servers; nothing to configure.
Is it legal? It collects publicly visible data. You are responsible for how you use it, including data protection rules for any personal data (usernames, comments).
More scrapers from the same developer
- Google Trends API & Scraper: interest over time, regions, related queries and Trending Now, a pytrends alternative
- YouTube Scraper: videos, channels, Shorts, comments, subtitles and community posts without the API quota
- Threads Scraper: posts, profiles, replies and keyword search on Meta Threads, no login
- Google Hotels Scraper: hotel prices from every booking site across dates, room rates and reviews
- Google Ads Transparency Scraper: every Google ad a competitor runs, with the real ad copy
- Threads Account Finder: Threads accounts by keyword with followers, bio links and the contacts they list
- Threads Hashtag & Keyword Monitor: only the new posts for your keywords and #hashtags, for scheduled runs
Feedback
Missing a field, found a bug, or need a feature? Open an issue in the Issues tab and I'll take a look. If this Actor saved you time, a short review on the Store page helps other people find it.