# Changelog of Bilibili Scraper: Videos, Comments, Creators & Rankings (`crawleast/bilibili-video-scraper`) Actor

- **URL**: https://apify.com/crawleast/bilibili-video-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/crawleast/bilibili-video-scraper.md

## Changelog

### 0.1 (2026-10-17)

First release candidate.

- Four inputs in one run, processed in this order with a shared `maxVideos` cap: video URLs/BV/av ids, creator (UP主) space URLs, ranking/popular feeds, keywords. Duplicates are delivered once.
- Three row types in one dataset: `video` (stats plus derived engagement metrics), `comment` (hot or newest, optional replies with thread ids, pinned comments flagged) and `creator` (profile plus a rollup computed from the run's videos).
- Pay per row: $0.005 per video, $0.002 per comment, $0.01 per creator, and a $0.00005 run fee charged only when the run delivers at least one row.
- Safeguards: spending cap, 1,500-request quota, stop 90 seconds before the run timeout, and a stop after three consecutive rejected requests. `RUN_SUMMARY` records what was delivered, what was skipped and why.
- Default network path is the Apify RESIDENTIAL proxy in China: in the 2026-10-17 cloud probe, video details passed 60/60 from Chinese residential IPs but about 1 in 10 from US servers.
- Phone numbers and email addresses in titles, descriptions, bios and comments are masked.

Changes from private cloud acceptance (builds 0.1.2–0.1.6):

- Comments: the anonymous visitor cookie is now sent to search only. With it, Bilibili treats comment requests as a guest and returns 2–3 comments per video; without it, full pages are returned (a 20-comment-per-video run went from 39 to 200 comments).
- Comments: `hot` order is topped up newest-first when a video's hot list is shorter than `commentsPerVideo`; every comment row's `sort` names the list it came from. Paging stops once all of a video's comments are delivered.
- New `maxRepliesPerComment` (default 10) so one very long reply thread cannot use up a video's whole comment allowance.
- `isOriginal` replaced by `isRepost` and the raw `copyrightCode`: Bilibili returns an undocumented code 3 on self-made videos that carry a creator statement, which the old field mislabelled.
- Creator video lists are retried up to 8 times with growing pauses (Bilibili rejected ~60% of these requests at random from the China residential pool).
- The budget message names the cap that applied (input `maxTotalChargeUsd` or the run's maximum charge).
- The home page is visited only when the run searches by keyword.
- `maxVideos` is split evenly across creators (5 creators with `maxVideos: 10` get 2 videos each instead of 10 for the first and none for the rest).
- Creator rows are charged only when their rollup includes at least one video; creators with no uploads are now free as well.
- The visitor-cookie home page visit is retried on a fresh session (up to four visits per run), and a rejected search is retried twice: in one cloud run a single failed visit had left all 15 keyword searches without cookies.
- `RUN_SUMMARY.skippedBy.blocked` now counts rejected search and ranking/popular pages, and the report names keywords that got fewer videos because of them.
