Bilibili Scraper (B站 哔哩哔哩) - Videos, Comments, Danmaku avatar

Bilibili Scraper (B站 哔哩哔哩) - Videos, Comments, Danmaku

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Bilibili Scraper (B站 哔哩哔哩) - Videos, Comments, Danmaku

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

Alom Dev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

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?

  1. Keep your input. mode, searchQuery, sortOrder, durationFilter, pubtimeBegin/pubtimeEnd, videoUrls, userIds, category, maxResults, includeComments, maxComments, sortComments, deltaMode and monitorName work the same way.
  2. Change the Actor ID to alom/bilibili-scraper.
  3. 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

ModeInputOutput
searchkeyword(s), sort, length, date rangevideos (up to 5,000 per keyword, see Deep search)
video_detailvideo URLs / BV / av ids / b23.tv linksfull stats incl. coins and shares, plus tags
video_commentsvideo URLs / BV ids / b23.tv linkscomments, 20 per page, plus full reply threads
user_videoscreator ids, space URLs or b23.tv linksone creator profile row + their videos, newest first
user_profilecreator ids, space URLs or b23.tv linksfollowers, following, total likes, videos, level, verification
popularoptional categorythe 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:

FieldMeaning
danmakuFetcheddanmaku in the pool Bilibili keeps for the video (capped: e.g. 3,600 kept of 128,575)
danmakuTotal / danmakuPoolCappedthe video's own count (single-part videos; null for multi-part) and whether the pool is smaller
danmakuUniqueSendersdistinct senders
danmakuPerMinute, danmakuRateBasisSecsreaction rate and the duration it was computed over
danmakuPeakMinute, danmakuPeakMinuteCountthe minute the audience reacted to most
danmakuByMinutedanmaku per minute of the video (a histogram)
danmakuFirstAt / danmakuLastAtfirst and last position, in seconds
danmakuSample / danmakuSampleAtdanmakuSampleSize 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 planPrice 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.tv link) 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

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.