Bilibili Scraper – Videos, Stats, Comments & Danmaku
Pricing
from $2.50 / 1,000 videos
Bilibili Scraper – Videos, Stats, Comments & Danmaku
Extract Bilibili (B站) videos with views, likes, coins, favorites, shares, tags and top comments. Search by keyword, scrape video URLs, creator (UP主) uploads, popular videos and danmaku. No login or cookies. $2.50 per 1,000 videos.
Pricing
from $2.50 / 1,000 videos
Rating
0.0
(0)
Developer
Phantom Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 minutes ago
Last modified
Categories
Share
Bilibili Scraper — videos, stats, comments, creators (UP主) & danmaku (no login)
Bilibili scraper (哔哩哔哩 / B站) for Chinese video data. Search Bilibili videos by keyword, scrape any video URL, all uploads of a creator (UP主) or the popular/trending list, and export full video stats — views, likes, coins, favorites, shares, comments and danmaku counts — plus tags, parts, uploader followers, top comments with replies, creator profiles and danmaku (bullet comments). No Bilibili account, no cookies to paste, no browser: it works like an anonymous visitor of bilibili.com, through Bilibili's own public web API.
- ✅ 4 ways in: keyword search, video URLs / BV / av ids / b23.tv links, creators (UID, space URL or name), popular list
- ✅ Top comments with reply threads: text, likes, date, user name, level and VIP status
- ✅ Complete stats for every video: views, likes, coins, favorites, shares, comments, danmaku, highest rank, honors
- ✅ Creator (UP主) profiles: followers, following, videos, total likes, level, verification, live room status
- ✅ Danmaku (弹幕) with the exact second of the video, color, mode and send date — all parts of multi-part videos
- ✅ Search filters: sort (best match, most viewed, newest, most danmaku, most favorited), video length, date range
- ✅ Clean flat JSON with English field names — export to CSV, Excel, Google Sheets or use it as a Bilibili API from your code
- ✅ $2.50 per 1,000 videos, no start fee — up to 8× cheaper than the most used Bilibili actor
What can this Bilibili scraper do?
| Use case | How |
|---|---|
| Influencer & KOL marketing in China | Find creators for a keyword, compare followers, views, likes and coins per video; build shortlists for campaigns. |
| Brand & product monitoring | Search your brand or product (e.g. iPhone 17 评测, 原神) daily with "Newest" + "Published after: 1 day" and see what Chinese viewers say in the top comments and danmaku. |
| Competitor & content research | Scrape every upload of a creator sorted by views to learn which topics, titles and lengths work on Bilibili. |
| Trend analysis | Track the popular list (热门) and the tags of trending videos over time. |
| Market research & academia | Collect Chinese video metadata and audience reactions for studies on media, gaming, anime and consumer trends. |
| AI / LLM & NLP datasets | Danmaku and comments are a rich source of Chinese short-text sentiment data. |
Quick start (under 1 minute)
- Click Try for free. The pre-filled input searches Bilibili for
lofiand returns 10 videos with their top comments. - Replace the keyword, or add video URLs, creator (UP主) links or numeric ids. Turn on danmaku only when you need it.
- Click Start. The default run takes about 30 seconds. Download JSON, CSV or Excel, or call it through the Apify API.
Input
| Field | What it does |
|---|---|
searchQueries | Keywords to search, like the search box on bilibili.com (any language). |
startUrls | Video URLs, BV/av ids, b23.tv short links, space.bilibili.com/<UID>, search.bilibili.com/all?keyword=..., bilibili.com/v/popular/all. |
creators | UID (946974), space URL, or creator name. |
scrapePopular | Also scrape the popular / trending list. |
maxVideos | Max videos per keyword, per creator and for the popular list (default 20). |
videoDetails | Full stats, tags, parts and uploader followers for every video (default on). |
searchOrder, searchDuration | Sort and length filters of Bilibili search. |
creatorVideoOrder | Creator uploads: newest, most viewed or most favorited first. |
dateFrom / dateTo | 2026-10-01, an ISO date-time, or relative values like 7 days. |
includeComments, maxCommentsPerVideo, commentSort, includeCommentReplies | Pinned + top comments and their reply threads. |
includeDanmaku, maxDanmakuPerVideo | Bullet comments of every part of the video. |
includeCreatorInfo, includeUploaderInfo | Profile rows for the creators you ask for / for every uploader found. |
proxyConfiguration | Apify Proxy (datacenter usually works; residential if you see many blocks). |
Example: search a keyword, newest videos of the last 7 days, with comments
{"searchQueries": ["原神", "honkai star rail"],"searchOrder": "pubdate","dateFrom": "7 days","maxVideos": 100,"includeComments": true,"maxCommentsPerVideo": 20}
Example: a creator's most viewed videos + profile
{"creators": ["946974", "https://space.bilibili.com/546195"],"creatorVideoOrder": "click","maxVideos": 50,"includeComments": false}
Example: danmaku of specific videos
{"startUrls": ["https://www.bilibili.com/video/BV1TxxC6vEo4", "https://b23.tv/xxxxxxx"],"includeDanmaku": true,"maxDanmakuPerVideo": 5000,"includeComments": false}
Output
Every row has a type: video, comment, creator, danmaku or error (errors are free). Real sample (shortened):
{"type": "video","bvid": "BV1sixi6yEFA","aid": 117530270107952,"url": "https://www.bilibili.com/video/BV1sixi6yEFA","title": "Lofi Girl|8小时万圣节歌单Halloween Lofi 🎃...","cover_url": "https://i1.hdslb.com/bfs/archive/dc3b5d6a8bb22f40009fb015dd41363c1a87e2f5.jpg","duration_seconds": 28801,"published_at": "2026-10-30T14:33:40Z","category_id": 2024,"tags": ["万圣节", "歌单", "CHILL", "LOFI"],"views": 6924, "likes": 505, "coins": 88, "favorites": 508, "shares": 27,"comments_count": 19, "danmaku_count": 0,"parts_count": 1,"collection_title": "🎃Halloween Lofi","uploader_mid": 1685650605,"uploader_name": "LofiGirl","uploader_followers": 180549,"uploader_video_count": 281,"uploader_verified": true,"source": "url","scraped_at": "2026-11-02T14:31:40Z"}
{"type": "creator","mid": 1685650605,"url": "https://space.bilibili.com/1685650605","name": "LofiGirl","bio": "网易云音乐/QQ音乐/酷狗音乐/酷我音乐/Apple Music ...","level": 6,"verified": true,"verification_title": "Lofi Girl官方账号","followers": 180549, "following": 12, "video_count": 281, "total_likes": 175098,"is_live": true,"live_room_url": "https://live.bilibili.com/27519423"}
{"type": "comment","video_bvid": "BV1sixi6yEFA","comment_id": "318681668353","root_comment_id": null,"is_pinned": false,"text": "...","likes": 21,"reply_count": 0,"published_at": "2026-10-30T14:49:52Z","user_mid": 372598062, "user_name": "厄沉", "user_level": 6, "user_vip": true,"url": "https://www.bilibili.com/video/BV1sixi6yEFA#reply318681668353"}
{"type": "danmaku","video_bvid": "BV1xx411c7XX","cid": 3661050,"part": 1,"danmaku_id": "903052424","time_seconds": 0.0,"text": "歌词神马的事亮点","mode": "scroll","font_size": 25,"color": "#FFFFFF","sent_at": "2011-08-30T03:11:27Z","user_hash": "f4dbdf21","pool": "normal"}
Video fields: bvid, aid, cid, url, title, description, cover_url, duration_seconds, published_at, uploaded_at, category, category_id, copyright, tags, views, likes, coins, favorites, shares, comments_count, danmaku_count, highest_rank, honors, parts_count, parts, width, height, subtitle_languages, collection_title, is_paid, is_interactive, staff, uploader_mid, uploader_name, uploader_url, uploader_avatar, uploader_followers, uploader_video_count, uploader_total_likes, uploader_level, uploader_verified, uploader_verification, popular_reason, publish_location (popular list), source, source_rank, details_level, scraped_at.
Comment fields: video_bvid, video_aid, video_title, comment_id, root_comment_id, reply_to_comment_id, is_reply, is_pinned, text, pictures, mentions, likes, reply_count, published_at, liked_by_uploader, replied_by_uploader, user_mid, user_name, user_avatar, user_level, user_vip, url.
Creator fields: mid, url, name, avatar_url, bio, level, sex, birthday, verified, verification_title, vip, followers, following, video_count, article_count, total_likes, is_live, live_room_url, live_title, live_viewers_text, banner_url.
Danmaku fields: video_bvid, video_title, cid, part, danmaku_id, time_seconds, text, mode, font_size, color, sent_at, user_hash, weight, pool.
Pricing
Pay per event — you only pay for rows you get, never for errors or for starting the actor:
| Event | Price |
|---|---|
| Video (full stats) | $0.0025 ($2.50 per 1,000) |
| Comment or reply | $0.0005 ($0.50 per 1,000) |
| Creator profile | $0.003 ($3.00 per 1,000) |
| Danmaku | $0.0001 ($0.10 per 1,000) |
| Run start / error rows | free |
Examples: 1,000 videos with full stats ≈ $2.50. 100 videos + 20 comments each ≈ $1.25. The default input (10 videos + their top comments) costs about $0.05 and finishes in under a minute. Set "Max cost per run" in the run options to cap any run — the scraper stops cleanly when it is reached. A video found by two keywords is charged once.
FAQ
Do I need a Bilibili account or cookies? No. The scraper creates a fresh anonymous visitor session (the same cookies bilibili.com gives any browser) and signs requests the way the website does. You never share your account.
Why do I get only some comments per video? Bilibili shows logged-out visitors only the pinned comment, the top (hot) comments and the first replies under each of them; the full thread needs a logged-in account, and this actor never logs in. In our tests that is the pinned comment, about 3 top comments and up to 20 replies under each — up to roughly 80 comments per video, ranked like on the website. comments_count on the video row always gives the real total.
How many search results can I get? Bilibili search returns up to 1,000 videos (50 pages) per keyword. Use several related keywords, the date range or the length filter to go further.
How much danmaku can I get? The full public danmaku of each video part (read in 6-minute segments, the same way the Bilibili player loads it), up to your maxDanmakuPerVideo.
What about blocks? Bilibili has strict rate limits for its creator pages. When a request is blocked, the scraper waits, opens a new visitor session (new cookies and new proxy IP) and retries; for creator uploads it automatically switches to a second public list endpoint. Keep the default delay and use Apify Proxy; switch to residential proxies only if the log shows many blocks.
Why is category sometimes empty? Bilibili's video page API no longer returns the category name for many videos; you always get category_id, and the name when search or the popular list provides it.
Can it download the video files or subtitles? No — this actor focuses on data (metadata, stats, comments, danmaku). subtitle_languages tells you which subtitle tracks exist.
Is it legal? It only reads data that Bilibili shows to any visitor without logging in, without solving captchas or bypassing paywalls. You are responsible for how you use the data (e.g. data-protection rules for personal data such as user names).
Is this an official Bilibili API? No. It is an independent tool — an easy, no-code alternative to the Bilibili API for public video, creator and comment data.
Limits
- Logged-out visitors see roughly 80 comments per video (pinned comment, top comments and their first replies).
comments_countalways has the real total. - Keyword search is capped by Bilibili at 1,000 videos (50 pages) per keyword. Use several keywords or a date range to go further.
- No video or subtitle downloads: the Actor returns data (stats, tags, comments, danmaku).
subtitle_languageslists the tracks that exist. - Bilibili rate-limits creator pages. The Actor waits, rotates sessions and retries, so very large creator crawls take longer.
Use it from code (API)
Every Apify Actor is also an API. Replace <YOUR_API_TOKEN> with the token from your Apify account (Settings, API & Integrations).
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('phantom-x64/bilibili-scraper').call({"searchQueries": ["lofi"],"scrapePopular": false,"maxVideos": 20});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('<YOUR_API_TOKEN>')run = client.actor('phantom-x64/bilibili-scraper').call(run_input={"searchQueries": ["lofi"],"scrapePopular": False,"maxVideos": 20})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
You can also start it from Make, Zapier, n8n or Google Sheets with the Apify integrations, schedule it, or call it as a tool from an AI agent through the Apify MCP server.
Support and feedback
Found a bug, need a new field or another source? Open an issue in the Issues tab of this Actor page. Reports with a run link are fixed fastest. If it saves you time, a short review on the Store page helps other people find it.