Bilibili Scraper — Videos, Comments, Creators & Search | B站 avatar

Bilibili Scraper — Videos, Comments, Creators & Search | B站

Pricing

from $1.50 / 1,000 videos

Go to Apify Store
Bilibili Scraper — Videos, Comments, Creators & Search | B站

Bilibili Scraper — Videos, Comments, Creators & Search | B站

Bilibili scraper API: videos by keyword, video details and stats, comments, creator profiles and uploads, popular rankings. No login, JSON/CSV/Excel.

Pricing

from $1.50 / 1,000 videos

Rating

0.0

(0)

Developer

Tristan Leroux

Tristan Leroux

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

Bilibili Scraper — Videos, Comments & Creators

Scrape Bilibili (哔哩哔哩, B站) without logging in: search videos by keyword, get full video statistics (views, likes, coins, favorites, shares, danmaku and comment counts), tags and uploader, collect comment threads with replies, and pull creator (UP主) profiles with their latest uploads or the site-wide Popular board. Field names are in English, the original Chinese text is kept as-is. Export as JSON, CSV or Excel, or pull the data through the API.

What does Bilibili Scraper do?

Bilibili Scraper turns China's largest video community into clean, structured data:

  • Keyword search — enter keywords such as python tutorial, 原神 or iPhone 17 测评 and get up to 1,000 videos per keyword, sorted by relevance, views, upload date, danmaku, favorites or comments, optionally filtered by video length.
  • Video details — paste video links (BV…, av…, mobile and b23.tv share links) and get title, description, cover, length, publish date, category, tags, parts, resolution, honors (e.g. 热门收录) and every engagement counter Bilibili shows: views, likes, coins (投币), favorites, shares, danmaku and comments.
  • Comments — comment threads for every video in the run: text, likes, reply count, date, author name, level and VIP status, pinned and "liked by the uploader" flags, attached pictures, and (optionally) all replies under each comment. Sort by hot or newest.
  • Creators (UP主) — paste a creator's space link (space.bilibili.com/<id>) to get their profile (followers, following, total likes, number of videos, level, verification, VIP) and their newest or most viewed uploads with full statistics.
  • Popular board — the videos trending across Bilibili right now (综合热门).
  • Uploader profiles — one switch adds the profile of every video's uploader to the results, which turns a keyword search into a creator (KOL) list.

Search, links and the Popular board can be combined in one run; a video that shows up in several places is delivered and charged once.

Use cases

  • Influencer (KOL) discovery — search your niche, switch on uploader profiles and rank creators by followers, likes and the performance of their videos on that topic.
  • Brand and campaign monitoring — track how videos about your brand or product perform (views, coins, favorites, shares) and read what viewers say in the comments.
  • Market research on China — measure interest in a game, gadget, car or topic by the volume and engagement of Bilibili videos, newest first or most viewed first.
  • Competitor and creator analytics — follow a list of creators, export their latest uploads every week and compare growth.
  • Content strategy — find which titles, lengths, categories and tags get the most coins and favorites for a keyword.
  • AI and NLP datasets — collect Chinese comment threads with likes and reply structure for sentiment analysis, topic modelling or LLM training and evaluation.

How much does it cost?

You pay only for the results you get (pay-per-event). Duplicates and items over your maxItems limit are never charged.

EventWhat you pay forFree planPaid plans (from)
videoOne video with its statistics$2.00 per 1,000$1.50 per 1,000
commentOne comment or reply$0.50 per 1,000$0.30 per 1,000
creatorOne creator (UP主) profile$2.00 per 1,000$1.50 per 1,000

"Paid plans (from)" is the Gold-and-above price; Bronze and Silver plans sit in between. Apify also charges a tiny actor-start fee ($0.00005 per run).

Worked examples (Free plan prices):

  1. Keyword research — 5 keywords × 200 videos with full statistics and tags = 1,000 videos × $2.00 / 1,000 = $2.00.
  2. Comment analysis — 10 videos with up to 300 comments each (replies included): 10 × $0.002 + 3,000 × $0.50 / 1,000 = $0.02 + $1.50 = $1.52.

The Apify Free plan includes $5 monthly credit, enough for about 2,500 videos or 10,000 comments every month.

How to use Bilibili Scraper

In Apify Console:

  1. Open Bilibili Scraper and click Try for free.
  2. Enter Search keywords (the form is prefilled with python tutorial), paste Video and creator URLs, or tick Popular videos.
  3. Set Max videos per source and, if you like, the search sort order, video length, Include comments and Uploader profiles.
  4. Click Start. Twenty videos with full details take a few seconds.
  5. Open the Output tab and export the dataset as JSON, CSV, Excel or HTML.

Through the API:

  1. Get your API token in Apify Console → Settings → Integrations.
  2. Call the actor with your input JSON (see Integrations and API).
  3. Read the dataset items from the run.

Input

Fill in at least one of searchQueries, startUrls or popular.

FieldTypeDefaultDescription
searchQueriesarray–Keywords to search, in any language.
startUrlsarray–Video links (bilibili.com/video/BV…, av…, m.bilibili.com, b23.tv, bare BV… ids) and creator links (space.bilibili.com/<id>).
popularbooleanfalseAlso scrape the Popular board (综合热门).
maxVideosPerSourceinteger50Videos per keyword, per creator and from the Popular board (1–1,000).
searchOrderstringtotalranktotalrank (relevance), click (most viewed), pubdate (newest), dm (most danmaku), stow (most favorited), scores (most commented).
searchDurationstringanyany, under10, 10to30, 30to60 or over60 minutes.
includeVideoDetailsbooleantrueFull statistics (coins, shares…), tags, parts, resolution and honors for every video. Off = faster, lighter rows.
creatorVideosbooleantrueFor creator links, also scrape their uploads. Off = profile only.
creatorVideosOrderstringpubdateA creator's newest uploads (pubdate) or most viewed (click).
includeOwnerProfilesbooleanfalseAdd the profile of every video's uploader (once per creator).
includeCommentsbooleanfalseScrape the comments of every video in the run.
maxCommentsPerVideointeger100Comments (and replies) per video.
commentsSortstringhothot or newest.
includeCommentRepliesbooleanfalseAlso collect the replies under each comment.
maxItemsinteger1000Hard cap on all output items (videos + comments + creators).
proxyConfigurationobjectApify ProxyProxy settings.
debugbooleanfalseLog every page and retry.

Example — the 100 most viewed short videos about a game, with their uploaders' profiles:

{
"searchQueries": ["原神"],
"searchOrder": "click",
"searchDuration": "under10",
"maxVideosPerSource": 100,
"includeOwnerProfiles": true
}

Example — one video's comment threads plus a creator's 30 latest uploads:

{
"startUrls": [
"https://www.bilibili.com/video/BV16X4A6mEJr",
"https://space.bilibili.com/546195"
],
"maxVideosPerSource": 30,
"includeComments": true,
"includeCommentReplies": true,
"maxCommentsPerVideo": 500,
"maxItems": 5000
}

Output

Every item has a type: video, comment or creator. Examples below come from real runs on 2026-11-03.

Video

{
"type": "video",
"bvid": "BV1HC4y1v7gW",
"aid": 793434948,
"url": "https://www.bilibili.com/video/BV1HC4y1v7gW",
"title": "如何在手机上写Python--安卓篇",
"description": "多角度对比安卓上可以写Python的3个App",
"coverUrl": "https://i2.hdslb.com/bfs/archive/7a2342b5238249af214da460f1d92aa423ade617.jpg",
"durationSec": 219,
"publishedAt": "2024-01-07T15:44:12Z",
"category": "计算机技术",
"categoryId": 231,
"tags": ["新年好物大赏", "计算机", "程序员", "安卓", "编程", "手机", "代码", "Python", "2023热门年度盘点"],
"views": 146045,
"likes": 2386,
"coins": 281,
"favorites": 2981,
"shares": 343,
"danmaku": 128,
"comments": 134,
"ownerMid": 17095888,
"ownerName": "Crossin的编程教室",
"ownerAvatar": "https://i1.hdslb.com/bfs/face/741adaeec4c5cd7e4fab303b4d667c364ac38c04.jpg",
"parts": 1,
"cid": 1398237398,
"width": 1440,
"height": 1080,
"isOriginal": true,
"honors": [],
"source": "search",
"searchQuery": "python tutorial",
"rank": 1,
"scrapedAt": "2026-11-03T17:09:52Z"
}

Comment

{
"type": "comment",
"commentId": "319108804017",
"videoBvid": "BV16X4A6mEJr",
"videoAid": 117547382869481,
"videoTitle": "只要那个目标还未达成,我就不会停下",
"url": "https://www.bilibili.com/video/BV16X4A6mEJr/#reply319108804017",
"text": "说实话,现在AI发展太快了,照这个形势下去,不过两个月就要到2027年了",
"likes": 113,
"replyCount": 12,
"publishedAt": "2026-11-03T15:15:54Z",
"isPinned": false,
"isReply": false,
"rootId": null,
"parentId": null,
"authorMid": 616355791,
"authorName": "三月七_March7th",
"authorAvatar": "https://i1.hdslb.com/bfs/face/1d7248e7a83a001e424b7bf8225dee0f88ac3e6b.jpg",
"authorLevel": 6,
"authorVip": true,
"upLiked": true,
"upReplied": false,
"pictures": [],
"scrapedAt": "2026-11-03T17:09:55Z"
}

Creator

{
"type": "creator",
"mid": 546195,
"name": "老番茄",
"url": "https://space.bilibili.com/546195",
"avatar": "https://i0.hdslb.com/bfs/face/bc5ca101313d4db223c395d64779e76eb3482d60.jpg",
"sign": "新浪微博:_老番茄_",
"sex": "男",
"level": 6,
"followers": 20867677,
"following": 7,
"videoCount": 683,
"articleCount": 0,
"likes": 196664620,
"verified": true,
"verificationTitle": "2025百大UP主、2025年度商业影响力奖UP主、2022年度联合创作奖UP主",
"vipLabel": "年度大会员",
"source": "url",
"scrapedAt": "2026-11-03T17:09:55Z"
}

Field notes:

  • Counters (views, likes, coins, followers…) are the values Bilibili shows at scrapedAt; schedule runs to build a time series.
  • durationSec is in seconds; publishedAt and scrapedAt are UTC (ISO 8601).
  • source tells where a video came from (search, url, creator, popular) and rank its position in that list; searchQuery is set for search results.
  • honors lists badges such as 热门收录 (featured in Popular) or weekly must-watch entries.
  • With Full video details off, search results have no coins, shares, parts or resolution, and creator uploads only views, danmaku, length and date (null for the rest).
  • category (the category name) is filled for videos found by search, the Popular board or a creator's uploads; for video links Bilibili only provides categoryId.
  • Comments: isReply marks replies; rootId is the thread's top comment and parentId the comment being answered. upLiked / upReplied mean the video's uploader liked or replied to the comment. replyCount is the number of replies under a top comment.
  • Creators: mid is the user id, sign the bio, likes the total likes on all their content; source is url (from your link) or videoOwner (uploader profiles).

Integrations and API

Run the actor and get the items back in one call:

curl -X POST "https://api.apify.com/v2/acts/innolabs~bilibili-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["python tutorial"], "maxVideosPerSource": 50}'

Python with apify-client:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("innolabs/bilibili-scraper").call(
run_input={
"startUrls": ["https://www.bilibili.com/video/BV16X4A6mEJr"],
"includeComments": True,
"maxCommentsPerVideo": 300,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["type"] == "comment":
print(item["likes"], item["text"][:80])
  • Make, Zapier, n8n — use the Apify app/node to start the actor and send new videos or comments to Google Sheets, Airtable, Notion, Slack or email.
  • Scheduling — create a schedule in Apify Console (e.g. daily) with search sort "Newest" to collect fresh videos for your keywords.
  • Webhooks — trigger your pipeline when a run finishes.
  • AI agents (MCP) — connect Claude, Cursor or other MCP clients through the Apify MCP server at https://mcp.apify.com and let your agent search Bilibili on demand.

FAQ

Do I need a Bilibili account, cookies or an API key?

No. The scraper only reads what Bilibili shows to visitors who are not logged in. You do not have to provide any account, cookie or token.

The scraper collects publicly visible data: videos, their statistics, comments and public profiles. It does not log in or access private data. Comments and profiles contain user names, which may be personal data under laws such as GDPR or China's PIPL, so make sure you have a legitimate reason to store them and that your use complies with Bilibili's terms.

How many comments can I get per video?

As many as Bilibili lists for the video, page by page, sorted by hot or newest, up to Max comments per video. The comment counter on a video includes replies and comments Bilibili has folded or removed, so turn on Include replies to get close to it; the number delivered can still be somewhat lower than the counter.

Do I need proxies?

No setup is needed. The default Apify Proxy setting works with Bilibili. When Bilibili throttles a request the scraper waits and retries automatically.

How do I find creators (KOLs) for a topic?

Search your keywords, sort by most viewed if you like, and switch on Uploader profiles. Each uploader is added once with followers, total likes, number of videos and verification, next to the videos that matched your keywords.

Each input is processed on its own. A wrong link, a deleted or private video, or a creator id that does not exist is reported in the run log and in the run's SUMMARY record, and the run continues with the rest; you are not charged for failed items. If every input fails, the run is marked as failed with the reason.

Limits

  • Keyword search returns at most 1,000 videos per keyword (Bilibili's own limit). Paid course cards in search results are skipped.
  • Danmaku (bullet comments), subtitles, video or audio downloads, live streams, anime and film episodes (番剧/影视) and articles (专栏) are not scraped.
  • Some comments are folded or hidden by Bilibili for visitors who are not logged in, so the number of comments delivered can be lower than the video's comment counter.
  • For video links the category name is not available, only categoryId.
  • A creator's uploads are read 20 at a time; very large channels take longer, and Max videos per source caps them at 1,000.
  • Statistics are a snapshot at scrape time; the Popular board changes several times a day.