Bilibili Video Scraper avatar

Bilibili Video Scraper

Pricing

from $10.00 / 1,000 bilibili video rows

Go to Apify Store
Bilibili Video Scraper

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

Leonardo Santos

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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) and detail (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.

InputMeaning
modesearch (keyword search) or detail (resolve exact videos).
keywordssearch mode: keywords, e.g. python, 机器学习, 音乐. Up to 10 per run.
videoUrlsdetail mode: watch URLs (https://www.bilibili.com/video/BV…), BV ids or av ids, deduplicated and capped at 50.
maxItemsPerKeywordHard local cap of rows per keyword (1–50; a search page answers with 20).
proxyConfigurationProxy 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"}
FieldMeaning
modeWhich mode produced the row: search or detail.
inputThe input exactly as provided (keyword, BV id, av id or watch URL).
source_typesearch for keyword rows, detail for a resolved video reference.
sourceNormalized source: the keyword, or BV…/av… in detail mode.
bvidBilibili video id (BV string) — the row's unique key.
aidNumeric video id (aid).
urlCanonical public watch URL: https://www.bilibili.com/video/<bvid>.
titleVideo title, search-keyword markup stripped.
descriptionVideo description as published upstream; null when upstream carries none.
authorUploader display name.
author_midUploader numeric uid (mid).
published_atPublish time, ISO 8601 (upstream unix pubdate).
duration_secsDuration in seconds (search rows parse the MM:SS display string).
duration_textDuration as displayed upstream, e.g. 04:32 or 2398:14.
view_countView count.
danmaku_countDanmaku (bullet-comment) count.
like_countLike count.
favorite_countFavorite count.
reply_countReply count.
tagsUpstream tag list; always an array (detail rows carry none, so []).
cover_urlCover image URL, https-normalized.
errorFree per-input error message; null on video rows.
scraped_atExtraction 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.

EventPriceWhat one charge buys
Bilibili video row$0.01One 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.002One run, whatever it returns.

Higher Apify subscription tiers pay less on every event (Silver −20%, Gold −35%).

Notes

  • detail mode accepts https://www.bilibili.com/video/BV…, m.bilibili.com watch URLs, bare BV ids (BV1xx411c7mD) and bare av ids (av12345). b23.tv short 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 -412 JSON 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 -404 with HTTP 200 and are delivered as a free error row, never as an empty success.