Skip to content

Bilibili Scraper

Try for free

Scrape public Bilibili videos, comments, danmaku, trending videos, and creator profiles. Search in Chinese or English, read a video, or track a creator. No login.

📺 Bilibili Scraper

Collect public Bilibili videos, comments, danmaku profiles, trending videos and creator pages without a login. Search in Chinese or English, open a video by URL or BV id, or read a creator from a numeric id.

Each saved row costs $13 per 1,000 results, and a 10-video search ran in about 8 seconds in our tests.

✨ Why use Bilibili Scraper?

  • 🔓 No login — it reads Bilibili's public data only.
  • 🧭 Six modes — search, video details, video comments, creator videos, creator profiles and popular boards.
  • 🈶 Chinese and English search — known Latin brand names can also be searched by their Chinese name and merged.
  • 💬 Comments and replies — save comment threads, with replies when you ask for them.
  • 🌊 Danmaku profiles — one row per video with sender counts, per-minute rate, peak minute and sample texts.
  • 🧪 Optional extras — local sentiment scoring, plus a "only new videos" mode for scheduled monitors.

🎯 Use cases

  • 🔎 Topic research — pull the current videos for a keyword with views, likes and tags.
  • 🗣️ Audience sentiment — read the comment thread on a video, replies included.
  • 🎬 Creator snapshots — followers, videos, likes and verification for a creator.
  • 🆕 New upload monitoring — track what a creator recently published.
  • 🔥 Trend tracking — take the trending board or one zone's ranking.

🚀 How to use

  1. Pick a Mode (search, video details, comments, creator videos, creator profile or popular).
  2. Fill in the matching field: search query, video URLs or BV ids, or creator ids.
  3. Set Maximum results and any filters; turn on comments or danmaku if you want them.
  4. Click Start.
  5. Export the dataset to JSON, CSV or Excel, or read it via the API.

📥 Input

FieldDefaultWhat it does
modesearchsearch, video_detail, video_comments, user_videos, user_profile or popular.
searchQuery人工智能教程Used in search mode.
videoUrlsemptyVideo URLs or BV ids for details and comments.
userIdsemptyNumeric creator ids or space.bilibili.com links.
maxResults10Total videos (or profiles in creator profile mode) for the run. Comments, replies and danmaku rows are extra; creator videos add one profile row per creator on top.
sortOrder, durationFiltertotalrank, anySearch sort and duration filters.
pubtimeBegin, pubtimeEndemptySearch date range (UTC).
categoryallPopular mode: trending feed or one zone ranking.
includeComments, includeReplies, maxComments, sortCommentsoff, off, 20, hotComment options. Replies count toward the cap.
includeDanmaku, danmakuSampleSizeoff, 25One extra danmaku row per video.
sentimentAnalysisoffLocal score on the row text.
deltaMode, deltaStateKeyoff, defaultSkip video ids already returned in earlier runs.
proxyConfigurationDatacenterSwitch to residential if a run is blocked.

Search:

{
  "mode": "search",
  "searchQuery": "人工智能教程",
  "maxResults": 10
}

Comments on one video:

{
  "mode": "video_comments",
  "videoUrls": ["https://www.bilibili.com/video/BV1iqpt6cEMU"],
  "maxComments": 10,
  "sortComments": "hot"
}

A creator profile:

{
  "mode": "user_profile",
  "userIds": ["546195"]
}

📤 Output

Search and popular runs save one row per video. Video details add coins, shares and tags. Comment mode saves one row per comment, and creator profiles one row per creator. Creator videos save one profile row per creator (with at least one matching video) followed by that creator's videos; maxResults caps the videos across all creators, so 3 creators with maxResults 15 return up to 15 videos plus up to 3 profile rows. Danmaku rows have type: danmaku. With sentiment on, each row gains a sentiment object with polarity, score from -1 to 1, and method.

FieldDescription
typevideo, comment, profile or danmaku.
bvid, aid, title, urlVideo identifiers, title and link.
viewCount, likeCount, favoriteCount, replyCount, danmakuCountEngagement counts.
coinCount, shareCountFilled in video details; empty in search rows.
duration, durationFormattedLength.
authorName, authorMidUploader.
publishDate, tags, categoryPublish time and classification.

Example item (trimmed):

{
  "type": "video",
  "bvid": "BV1TdpT6tE5C",
  "title": "(已离职)冒死上传!替大家付费了,花 9880 买的具身智能全套系统教程...",
  "url": "https://www.bilibili.com/video/BV1TdpT6tE5C",
  "duration": 14462,
  "durationFormatted": "241:2",
  "viewCount": 1606,
  "likeCount": 22,
  "coinCount": null,
  "favoriteCount": 80,
  "shareCount": null,
  "danmakuCount": 0,
  "replyCount": 5,
  "authorName": "人工智能教程",
  "publishDate": "2026-10-07T09:25:00+00:00",
  "category": "计算机技术",
  "tags": ["人工智能", "机器人"]
}

Search rows leave coinCount and shareCount empty because that endpoint does not send them. A count the source sends as zero stays zero.

💰 Pricing

You pay $0.013 per saved row, which is $13 per 1,000 results, plus platform usage. A video, a comment, a reply, a creator profile and a danmaku profile are each one row. Empty runs are not charged a per-result fee.

Worked example: a 10-video search cost about $0.134 in our test: $0.13 in result fees plus about $0.004 for compute and storage.

❓ FAQ

Is it legal to scrape Bilibili? The actor reads public data only. You are responsible for using it in line with applicable law and Bilibili's terms.

Do I need a login or my own proxy? No. Private or deleted videos are skipped and named in the run status. Proxies are included.

Why is a creator's video list short? Bilibili blocks a plain listing of a creator's uploads. Creator videos search the creator's name and keep rows with that creator's id, newest first, so it is not a full archive.

What does Only new videos do? The first run returns the current rows and stores their ids under the state key. The next run with the same key returns only ids that were not stored.

Why did a date not apply? The status names a value it could not read, a date before 1970, or a start that is not earlier than the end. Those bounds are left off rather than guessed.

Can I schedule it or use the API? Yes, via schedules or the API.

⚠️ Limits

  • maxResults counts videos or profiles; comment, danmaku and creator-profile rows come on top, as described above.
  • Search stops near 1,000 hits for one query, which is the source cap.
  • Danmaku text samples are capped at 200 per video; they sit inside the one danmaku row.
  • Category boards use an older ranking feed, so like count and publish time are empty there.
  • The all-site popular feed lists about 200 videos at a time; the status message says how many were available.
  • A video id Bilibili does not know returns no row and is not charged.
  • Some licensed videos are not available from every region.
  • Sentiment analysis loads a Chinese language model and needs about 512 MB of memory; set the run memory to 512 MB when it is on.
  • Runs take a few seconds of container start-up even for small jobs.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.