Bilibili Comments Scraper - Full Threads & Replies
Pricing
from $3.50 / 1,000 comment scrapeds
Bilibili Comments Scraper - Full Threads & Replies
Scrape every public Bilibili (B站) video comment and reply by URL, BV ID or keyword. Likes, threads, uploader flags. No login. Export CSV, Excel, JSON or XML.
Pricing
from $3.50 / 1,000 comment scrapeds
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

📺 Bilibili Comments Scraper
🚀 Export every public comment on a Bilibili video in seconds. The whole thread, not the first page: 2,337 top-level comments paged out of a single video in one test, 400 rows in 32 seconds on Apify, 37 fields per row, no login and no cookie.
Paste Bilibili (哔哩哔哩, B站) video links, BV IDs, av IDs or b23.tv short links, or just type a keyword, and get the comment section back as clean structured rows: the comment text, like count, reply count, exact post time, whether it is pinned, whether the uploader liked or replied to it, and the commenter's name, level, VIP status and official verification. Turn on replies and every reply in every thread comes too, each linked to its root and parent comment so you can rebuild the conversation.
Coverage is the point. Bilibili's anonymous comment endpoint shows a logged-out visitor about 3 comments per video, which is where many scrapers stop. This Actor signs its requests the way the Bilibili web player does and pages Bilibili's own hot or newest ranking 20 comments at a time until the thread ends. Each row also carries the video's title, cover, uploader and total comment count, so a run over many videos stays one tidy table.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Brand and social listening teams | Read what Chinese Gen Z audiences actually say about a product, game or campaign |
| Game studios and publishers | Track player reaction to a trailer, patch or event in the comment section |
| Market and academic researchers | Build Chinese-language comment corpora with timestamps and author levels |
| AI and data teams | Collect conversational Chinese text with thread structure for training and evaluation |
📋 What the Bilibili Comments Scraper does
💡 Why it matters: the view count says a video landed. The comments say why, and on Bilibili the comment section is where the audience argues, jokes and asks questions. This Actor turns that conversation into data you can filter, count and read.
- Full comment threads from any public video, paged to the end of the thread or to the cap you set.
- Replies with thread structure. Every reply carries
rootCommentIdandparentCommentId, including replies to replies. - Two orderings: Bilibili's own hot ranking (what viewers see first) or newest first.
- Keyword search mode. Type a term and the Actor takes the top videos for it, ranked by relevance, views, newest, danmaku, favorites or comments, filtered by video length, and scrapes each one.
- Uploader signals: pinned comments, comments written by the uploader, and comments the uploader liked or replied to.
- Commenter profile fields: name, ID, profile link, account level (0 to 6), VIP status, gender where shown, and official verification text.
- Rich content: @-mentions, Bilibili emotes like
[呲牙], and attached comment pictures as direct image URLs. - Any input format: full URLs,
BVIDs,avIDs andb23.tvshare links, deduplicated automatically.
🎬 Full Demo (🚧 Coming soon)
📊 Output
Every row is one comment or one reply. Top-level comments and replies sit in the same dataset, told apart by commentType.
| 🖼 Field | Description |
|---|---|
🖼 imageUrl | Commenter's avatar |
🆔 commentId / 🔗 url | Bilibili comment ID and a direct link to it |
💬 text | Full comment text, emotes included |
👍 likeCount / ↩️ replyCount | Likes on the comment and replies under it |
📅 publishedAt | Exact post time (ISO 8601) |
🧵 commentType | Comment or Reply |
🌳 rootCommentId / 👆 parentCommentId | Thread structure for replies |
📌 isPinned / 🎙 isByUploader | Pinned comment, written by the video's uploader |
❤️ likedByUploader / 💌 repliedByUploader | The uploader liked or replied to it |
👤 authorName / authorId / authorProfileUrl | Who wrote it |
⭐ authorLevel / 💎 authorIsVip / ✔️ authorVerification / ⚧ authorGender | Commenter profile signals |
🎬 videoId / videoAid / videoTitle / videoUrl / videoCoverUrl | The video the comment belongs to |
🎙 videoUploader / videoUploaderId / 🗨️ videoCommentCount / videoPublishedAt | Video context |
🔀 sortOrder / 🔎 searchTerm | How the comment was collected |
🏷 mentionedUsers / 😀 emotes / 🖼 pictures | @-mentions, emotes and attached images |
🕒 scrapedAt / ❌ error | Capture time, and an error message on failed inputs |
Three real rows from a cloud run:
A popular top-level comment (hot order):
{"imageUrl": "https://i0.hdslb.com/bfs/face/4f067791bab25f3c8c8566bdb8f1337602c273a3.webp","commentId": "318454669344","url": "https://www.bilibili.com/video/BV1uPaK62EbF#reply318454669344","text": "官方认为的:大家一起听钢琴曲\n实际:一堆人一直在那跳那个雷霆得吃舞","likeCount": 909,"replyCount": 16,"publishedAt": "2026-09-24T11:45:42.000Z","commentType": "Comment","isPinned": "No","rootCommentId": "N/A","parentCommentId": "N/A","isByUploader": "No","likedByUploader": "No","repliedByUploader": "No","authorName": "Reewax","authorId": "543257838","authorProfileUrl": "https://space.bilibili.com/543257838","authorLevel": 6,"authorGender": "Not Disclosed","authorIsVip": "Yes","authorVerification": "Not Verified","videoId": "BV1uPaK62EbF","videoAid": "117325806179391","videoTitle": "二周年彩蛋全流程!一起见证!二洲年快乐!","videoUrl": "https://www.bilibili.com/video/BV1uPaK62EbF","videoCoverUrl": "https://i2.hdslb.com/bfs/archive/0c63e017b86ade48f5eee96544000b143984d8da.jpg","videoUploader": "Key725","videoUploaderId": "11332884","videoCommentCount": 5263,"videoPublishedAt": "2026-09-24T11:44:00.000Z","sortOrder": "Hot","searchTerm": "N/A","mentionedUsers": [],"emotes": [],"pictures": [],"scrapedAt": "2026-09-24T15:18:49.761Z","error": null}
A fresh comment with an emote (newest order):
{"imageUrl": "https://i0.hdslb.com/bfs/face/e660962f0be6b4873897d2a651226d984e73412b.jpg","commentId": "314943868769","url": "https://www.bilibili.com/video/BV1uPaK62EbF#reply314943868769","text": "今天我生日[呲牙]","likeCount": 0,"replyCount": 0,"publishedAt": "2026-09-24T15:18:24.000Z","commentType": "Comment","authorName": "东零iop","authorLevel": 5,"authorGender": "Male","authorIsVip": "No","videoId": "BV1uPaK62EbF","videoCommentCount": 5266,"sortOrder": "Newest","emotes": ["[呲牙]"],"scrapedAt": "2026-09-24T15:19:07.511Z","error": null}
A reply to a reply, with its thread links:
{"imageUrl": "https://i1.hdslb.com/bfs/face/aa94832b1f30d19131fb182fe449556e8209041e.jpg","commentId": "318457885952","url": "https://www.bilibili.com/video/BV1uPaK62EbF#reply318457885952","text": "回复 @-GG-Bond_ : 请问战场的有什么区别吗?","likeCount": 6,"publishedAt": "2026-09-24T12:15:22.000Z","commentType": "Reply","rootCommentId": "314924160593","parentCommentId": "318457656896","authorName": "主题眼","authorLevel": 5,"authorIsVip": "Yes","videoId": "BV1uPaK62EbF","mentionedUsers": ["-GG-Bond_"],"scrapedAt": "2026-09-24T15:19:05.633Z","error": null}
(The last two rows are shortened for reading. Every row in the dataset carries all 37 fields.)
✨ Why choose this Actor
- The whole thread, without a login. It pages Bilibili's hot or newest ranking until the thread ends. In testing, one video gave 2,337 top-level comments in 117 pages, with no account and no cookie.
- Real thread structure. Replies link to their root and parent comment, so you can rebuild who answered whom, including replies to replies.
- Uploader signals most scrapers skip: pinned, written by the uploader, liked by the uploader, replied to by the uploader.
- Comments by keyword. Search terms become videos and videos become comments in a single run, with Bilibili's own search ranking and a length filter.
- Fast and light. No browser. A 400-row run with replies finished in 32 seconds on Apify.
- Clean rows. No
nullvalues in data fields: missing values readNot DisclosedorN/A, flags readYesorNo, and lists are always arrays. - Errors are never charged. A dead link or a video with comments closed produces an error row you do not pay for.
📈 How it compares to alternatives
| This Actor | Typical Bilibili scraper | |
|---|---|---|
| Top-level comments per video | Whole public thread (2,337 in testing) | Often the first page, or ~3 for logged-out requests |
| Replies with root and parent IDs | Yes, including replies to replies | Sometimes, often without the parent |
| Uploader liked / replied / pinned flags | Yes | Rarely |
| Comments from a keyword search | Yes, one run | Often a separate Actor or mode |
| Login or cookie needed | No | Some ask for a session cookie |
| Commenter IP location | Not available (Bilibili shows it only to logged-in viewers) | Only with a login |
🚀 How to use
- Create a free Apify account (sign up here) and get $5 in free usage credit.
- Open the Actor and paste one or more video URLs or IDs (
https://www.bilibili.com/video/BV1uPaK62EbF,BV1uPaK62EbF,av117325806179391or ab23.tvlink). Or type search terms. - Choose Hot or Newest, set how many top-level comments to take per video (leave empty for all), and switch on Include replies if you want the threads.
- Set Max Items and click Start.
- Download the dataset as CSV, Excel, JSON or XML, or read it from the Apify API.
A minimal input:
{"videoUrls": ["https://www.bilibili.com/video/BV1uPaK62EbF"],"sortBy": "hot","includeReplies": true,"maxItems": 1000}
💼 Business use cases
📣 Brand and campaign monitoring
Scrape the comments on every video that reviews or sponsors your product. Sort by likes to see which opinions the audience agrees with, and filter likedByUploader to see what the creator endorsed.
🎮 Game and entertainment launches
Pull the newest comments on a trailer, patch note video or live event recap every hour and watch sentiment move in real time. Bilibili is where Chinese players react first.
🔍 Competitor and market research
Search a category keyword, take the top 50 videos by views, and collect their comments to learn what buyers praise, complain about and ask for.
🤝 Creator and KOL vetting
Before a sponsorship, read a creator's comment sections: how many commenters are high-level or VIP accounts, how often the creator replies, and what the audience actually talks about.
🔌 Automating Bilibili Comments Scraper
Schedule runs and route the output with Apify integrations: Make, Zapier, Slack, Airbyte, GitHub and Google Drive, or plain webhooks. For example, run the newest comments on your brand's videos every morning and post the most-liked new ones to a Slack channel, or append every run to a Google Sheet.
🌟 Beyond business use cases
- Research: study online discourse, slang and humor in Chinese youth culture with timestamped, threaded data.
- Personal: archive the discussion on videos you care about before comments are deleted or folded.
- Non-profit: monitor public conversation about a cause, a disaster response or a public health message.
- Experimentation: a real-world Chinese conversational dataset for NLP, sentiment and thread-modeling projects.
🤖 Ask an AI assistant about this scraper
Paste this README into ChatGPT, Claude or any AI assistant and ask how to set the input for your goal, how to join the output with other data, or how to analyze the comments. Each row is flat JSON with one comment per row, which models handle easily.
❓ Frequently Asked Questions
🔐 Do I need a Bilibili account or a cookie? No. The Actor reads only what Bilibili shows logged-out visitors and signs requests the way the Bilibili web player does. You never paste a cookie or log in.
📏 How many comments can it get from one video? The whole public thread. In testing it paged a video with 5,000+ comments to the end: 2,337 top-level comments in 117 pages, plus replies when they are on. Set Max top-level comments per video to cap it.
↩️ How do replies work?
Turn on Include replies. Each reply becomes its own row with rootCommentId (the top-level comment) and parentCommentId (the comment it answers). Cap them with Max replies per comment.
🔀 What is the difference between Hot and Newest? Hot uses Bilibili's own popularity ranking, the order a viewer sees first. Newest returns the most recent comments first, which is best for monitoring.
🔎 How does keyword search work? Each search term returns Bilibili's video results (by relevance, views, newest, danmaku, favorites or comments, optionally filtered by length). The Actor takes the top videos you ask for and scrapes their comments. Bilibili returns at most 1,000 videos per search term.
📍 Can I get the commenter's IP location? No. Bilibili shows the IP region only to logged-in viewers, so it is not in the public data this Actor reads.
🔗 Which links work?
Full video URLs, BV IDs, av IDs and b23.tv short links. Duplicates are removed, so the same video pasted twice is scraped once.
🔒 What if a video has comments turned off? The Actor logs it and moves on to the next video. A deleted or private video produces an error row, which is never charged.
🧵 Is the pinned comment included?
Yes. It comes first for each video and has isPinned: "Yes".
🛡️ Do I need a proxy? Usually not. The comment API is open and the Actor paces its requests. The proxy option is there, switched off by default, for very large runs.
⚡ How fast is it? A 400-row run with replies took 32 seconds on Apify. Thousands of comments take a few minutes.
📁 What formats can I export? CSV, Excel, JSON and XML from the dataset view, or any format through the Apify API.
🔌 Integrate with any app
The dataset is available through the Apify API and every Apify integration, so you can pull it into a spreadsheet, database, BI tool or ML pipeline without glue code.
🔗 Recommended Actors
- Bilibili Video Scraper: Bilibili videos by keyword, ranking or URL with views, likes and danmaku.
- YouTube Comments Scraper: YouTube comments with replies and likes.
- TikTok Comments Scraper: comments from any TikTok video.
- Weibo Scraper: Weibo posts, users, hot search and comments.
- WeChat Articles Scraper: full WeChat Official Account articles, no login.
💡 Pro Tip: browse the complete ParseForge collection for more social media and data Actors.
🆘 Need Help? Open our contact form
⚠️ Disclaimer: this is an independent tool and is not affiliated with, endorsed by, or connected to Bilibili. It collects only publicly available data. You are responsible for how you use the data, in line with Bilibili's terms and applicable law.