Bilibili Video Scraper
Pricing
from $10.00 / 1,000 bilibili video rows
Bilibili Video Scraper
A scraper for public Bilibili videos: keyword search results and single videos, with title, watch URL, uploader, publish time, duration, views, likes, favorites and tags. No login, no personal data, no media download.
Pricing
from $10.00 / 1,000 bilibili video rows
Rating
0.0
(0)
Developer
Leonardo Santos
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape public Bilibili videos: run keyword searches on Bilibili's public video search, or resolve specific videos by URL / BV id / av id. Every row is flat, typed and null-safe for SEO research, content monitoring, spreadsheets and pipelines.
Why this actor?
- Two buyer-shaped modes:
search(keyword search results) anddetail(resolve exact videos). - One flat row per video: title, watch URL, BV id, uploader, publish time, duration, views, danmaku, likes, favorites, replies, tags and cover URL.
- Hard local bounds on keywords and rows keep delivery and spend predictable.
- Empty keywords, malformed or non-Bilibili inputs, videos that no longer exist and risk-control-blocked fetches are free error rows.
- Public JSON surface only: no login, no personal data, no media download.
Input
{"mode":"search","keywords":["python"],"maxItemsPerKeyword":20}
For detail mode, set mode to detail and provide videoUrls.
| Input | Meaning |
|---|---|
mode | search (keyword search) or detail (resolve exact videos). |
keywords | search mode: keywords, e.g. python, 机器学习, 音乐. Up to 10 per run. |
videoUrls | detail mode: watch URLs (https://www.bilibili.com/video/BV…), BV ids or av ids, deduplicated and capped at 50. |
maxItemsPerKeyword | Hard local cap of rows per keyword (1–50; a search page answers with 20). |
proxyConfiguration | Proxy for the public Bilibili API surface; datacenter is the default. |
Output
{"mode":"search","input":"python","source_type":"search","source":"python","bvid":"BV1rpWjevEip","aid":113006243481679,"url":"https://www.bilibili.com/video/BV1rpWjevEip","title":"【全748集】目前B站最全最细的Python零基础全套教程,2026最新版,包含所有干货!七天就能从小白到大神!少走99%的弯路!存下吧!很难找全的!","description":"【视频配套籽料、开发环境搭建安装包教程、电子书+问题解答请看 ”置顶平论” 自取哦】…","author":"Python官方课程","author_mid":3546597933714079,"published_at":"2024-08-22T14:59:18.000Z","duration_secs":143894,"duration_text":"2398:14","view_count":20015980,"danmaku_count":130047,"like_count":545223,"favorite_count":840434,"reply_count":349693,"tags":["程序员","Python教程","Python入门零基础"],"cover_url":"https://i2.hdslb.com/bfs/archive/a979056b1a32012cdd00d48fbc3732d253e30620.jpg","error":null,"scraped_at":"2026-09-19T10:00:00.000Z"}
| Field | Meaning |
|---|---|
mode | Which mode produced the row: search or detail. |
input | The input exactly as provided (keyword, BV id, av id or watch URL). |
source_type | search for keyword rows, detail for a resolved video reference. |
source | Normalized source: the keyword, or BV…/av… in detail mode. |
bvid | Bilibili video id (BV string) — the row's unique key. |
aid | Numeric video id (aid). |
url | Canonical public watch URL: https://www.bilibili.com/video/<bvid>. |
title | Video title, search-keyword markup stripped. |
description | Video description as published upstream; null when upstream carries none. |
author | Uploader display name. |
author_mid | Uploader numeric uid (mid). |
published_at | Publish time, ISO 8601 (upstream unix pubdate). |
duration_secs | Duration in seconds (search rows parse the MM:SS display string). |
duration_text | Duration as displayed upstream, e.g. 04:32 or 2398:14. |
view_count | View count. |
danmaku_count | Danmaku (bullet-comment) count. |
like_count | Like count. |
favorite_count | Favorite count. |
reply_count | Reply count. |
tags | Upstream tag list; always an array (detail rows carry none, so []). |
cover_url | Cover image URL, https-normalized. |
error | Free per-input error message; null on video rows. |
scraped_at | Extraction timestamp. |
Pricing
Pay per event, and the platform usage is on us — the price you see is the price you pay, with no compute bill on top.
| Event | Price | What one charge buys |
|---|---|---|
| Bilibili video row | $0.01 | One delivered public Bilibili video row: title, watch URL, uploader, publish time, duration, views, danmaku, likes, favorites, replies, tags and cover URL. An empty keyword, a video reference that is not a Bilibili video, a video that no longer exists, and any blocked, 5xx or timeout fetch are free error rows and are never charged. |
| Actor Start | $0.002 | One run, whatever it returns. |
Higher Apify subscription tiers pay less on every event (Silver −20%, Gold −35%).
Notes
detailmode acceptshttps://www.bilibili.com/video/BV…,m.bilibili.comwatch URLs, bare BV ids (BV1xx411c7mD) and bare av ids (av12345).b23.tvshort links are not resolved in v1 — they need an HTTP redirect the transport does not expose.- Bilibili's risk control answers HTTP 412 (or a
-412JSON envelope) for rate-limited IPs; the actor rotates its proxy session and retries, and a fetch that never succeeds is a free error row. - Videos that no longer exist answer
-404with HTTP 200 and are delivered as a free error row, never as an empty success.