Bilibili Popular Videos | Metrics & Snapshot Comparison avatar

Bilibili Popular Videos | Metrics & Snapshot Comparison

Pricing

from $0.70 / 1,000 popular video observations

Go to Apify Store
Bilibili Popular Videos | Metrics & Snapshot Comparison

Bilibili Popular Videos | Metrics & Snapshot Comparison

Collect Bilibili popular videos with titles, creators, UTC dates and available views, likes, coins, favorites and shares. Compare snapshots, filter views and resume bounded feed collection. No login or proxy required.

Pricing

from $0.70 / 1,000 popular video observations

Rating

0.0

(0)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Bilibili Popular Videos Scraper — Metrics & Snapshot Comparison

Bilibili popular video snapshots — generated product illustration

Collect Bilibili's public popular-video feed as structured observations for content research, creator discovery and repeated video-metric comparisons. Export video IDs, titles, creators, publication dates, available views, likes, coins, favorites and shares. Compare against a previous compact snapshot supplied in input, without a separate comparison event.

This Actor is focused on the popular feed. It does not search keywords, expand creator channels, request individual video details, retrieve comment bodies/danmaku text, download videos, or extract transcripts. No login, cookies, proxy subscription or third-party backend is required. Source access can still fail or change.

Get your first snapshot

  1. Keep a small result limit, such as five videos.
  2. Run the Actor and inspect the Useful video rows Dataset and Collection summary.
  3. Download JSON, CSV or Excel; inspect diagnostics for partial collection.
{"maxVideos":5}

The default input requests up to 20 useful rows. One result is one delivered video observation, not a permanent unique video: observing the same video again in a later run is a new result.

What you can do

WorkflowUseful outputBoundary
Discover current popular videosIDs, titles, creators, URLs and source positionsFeed observation, not keyword search or a stable global rank
Build a research spreadsheetUTC publication time and available countersMissing values stay null; real zero stays zero
Compare two snapshotsSigned counter and position differences for shared video IDsAbsence in one limited snapshot does not mean deleted/newly uploaded
Focus on higher-view videosOptional minimum observed view countFiltering consumes resources even without paid results
Collect another bounded portionStart page and continuation with delivered-ID exclusionsA moving feed cannot provide gap-free archive coverage

Copyable collection scenarios

Up to 200 video observations

{"maxVideos":200,"maxPages":10,"pageSize":20}

Compact metrics without description

{"maxVideos":20,"includeDescription":false}

Videos observed with at least 100,000 views

{"maxVideos":20,"maxPages":10,"minViews":100000}

Begin at the second source page

{"maxVideos":20,"startPage":2,"maxPages":1,"pageSize":20}

Compare with your earlier snapshot

Run a baseline first. Open its Compact observed snapshot (SNAPSHOT) output and copy the JSON array into Previous snapshot JSON on your next run. This uses the input only and needs no access to other private storage. The following is an illustrative single-row baseline, not a prediction of current video counters:

{"maxVideos":20,"previousSnapshot":[{"bvid":"BV18Unm6qEPo","source":"bilibili_public_popular_feed","snapshotAt":"2026-10-22T15:00:00+00:00","sourcePosition":1,"views":400000,"likes":12000}]}

A previous snapshot supports at most 200 unique valid rows with source identity and timezone-aware timestamps. Missing counters are allowed as null. Invalid data fails before video collection. No previous Dataset is opened, overwritten or made public. Keep your Apify token in secure platform credentials, never in input.

Comparing snapshots correctly

The Actor matches bvid and adds comparison to current delivered rows. Shared IDs include previousSnapshotAt, signed metricDeltas and positionDelta (current position minus previous position). Negative differences are preserved: counters can be corrected or observations can vary. Unknown counters have null differences; they are not zero growth.

seenInPreviousSnapshot=false only means the video was absent from the provided bounded snapshot. It does not prove the video is new to Bilibili. A video missing from the current snapshot may simply fall outside the collected pages/filter; no deletion event is inferred. Position is the order observed in a changing popular feed, not an official durable ranking.

Keep the same page size, source page range and filters when comparing like-for-like samples. Collection is sequential rather than an atomic snapshot of the whole feed. The observation timestamp is a run-level timestamp, not the video's last metric update time.

Input settings

InputDefault / limitsMeaning
maxVideos20; 1–200Maximum useful rows delivered in this run
maxPages10; 1–10Maximum sequential source pages fetched
pageSize20; 1–20Keep constant across related traversals
startPage1; 1–20One-based feed page, not an archive cursor
minViews0With a positive threshold, unknown/low views are excluded
includeDescriptiontrueOptional source description; same result tariff
previousSnapshot[]Prior SNAPSHOT JSON array, at most 200 valid rows
excludeVideoIds[] / max 200Previously delivered Bilibili IDs, typically from continuation
maxRunSeconds120; 10–150Checked between requests; in-flight request/final writes may exceed it

Use 256 MB and a 240-second platform timeout for a small run. A source request has an 8-second connection and 25-second read timeout, and temporary network/server errors have one bounded retry. HTTP source blocks are reported, not silently converted into empty successful data.

Output fields and exports

FieldsDescription
bvid, aid, videoUrlBilibili identity and canonical video URL
title, description, coverUrlSource title, optional description and available cover URL
creatorId, creatorNameCreator identity exposed by the feed; not a full profile
publishedAt, durationSecondsPublication UTC timestamp and available duration
views, likes, coins, favorites, sharesAvailable source counters; null differs from zero
comments, danmakuCountCounts only; comment bodies/danmaku text are not collected
sourcePage, sourcePositionObserved feed location, not a stable global rank
snapshotAt, source, coverageObservation timestamp and explicit source scope
comparisonOptional prior observation, signed deltas and position difference

The overview table shows video identity, title, creator and key metrics. Full JSON retains nested comparison fields. CSV/Excel exports are available from the Dataset; use JSON for nested data or select/flatten the desired comparison fields through Dataset export settings.

Summaries, errors and continuation

The paid Dataset contains useful video rows only. Run outputs also link to:

  • SUMMARY — delivered/filtered/duplicate counts, stop reason and comparison state.
  • PAGES — source rows, valid rows and delivered rows per fetched page.
  • ERRORS — source failure or repeated-page diagnostics.
  • SNAPSHOT — compact observed metrics from rows accepted for delivery.
  • CONTINUATION — canResume, a suggested resumeInput and caveats.
  • CHECKPOINT — delivered IDs for reconciling interrupted runs.

For an ordinary result/charge/page/time limit, use CONTINUATION.resumeInput rather than guessing the next page. The current partial page may be fetched again and exclusions avoid billing the already delivered IDs. Exclusions are limited to 200 IDs. This is bounded continuation, not unlimited history or automatic crash recovery.

The live feed can reorder between requests. Even with exclusions it can skip changing content; the result is never promised to be a complete archive. Dataset delivery and checkpoint writes are not atomic. After a crash, reconcile Dataset IDs with CHECKPOINT before an explicit new run; uncertain writes are not retried automatically.

A source failure before any rows fails the run. Partial output is preserved with diagnostics. A valid filter with no matches may succeed with zero result rows. Inspect SUMMARY and ERRORS instead of treating platform SUCCEEDED as complete source coverage.

Pricing and resource costs

Free plan: $1.00 per 1,000 useful video observations. All paid tiers: $0.70 per 1,000. Each delivered row includes the requested fields and optional comparison; there is no separate comparison/format event. Actor Start is $0.00005 per GB of memory, minimum one. Apify compute/storage/traffic are additional and user-paid. Effective account rates appear in the Pricing tab.

Filtered, duplicate, invalid, undelivered and diagnostic rows do not create useful-video result events. Empty/failed runs can still incur startup and platform costs. A charge cap limits Actor event fees; it is not a cap on every platform resource expense. Rerunning a snapshot intentionally observes and charges new rows again; download the existing Dataset again instead when you only need another export format.

Historical source feasibility runs returned 200 rows on 10 pages without proxy for about $0.00315 of platform usage per run. That scales to roughly $0.0157 per 1,000 rows for those runs only, before developer fees and excluding builds/storage/other probes. Smaller runs have higher per-row overhead. These are historical measurements, not a performance/cost guarantee for every current run.

API, Python, JavaScript, MCP and automation

The Actor's stable ID is 64qil0kulltTOy0Gl; existing technical slug is apivault_labs/bilibili-popular-videos-prototype. The slug is retained for compatibility; the candidate adds the documented commercial features to the same Actor.

Use asynchronous Actor runs, wait for a terminal status, and read its Dataset and SUMMARY/ERRORS. Dataset export supports JSON/CSV/Excel. Official Python and JavaScript clients support the exact Actor ID and input. Keep credentials in your client's secure environment.

Apify MCP is a generic integration path; public execution of this candidate through MCP has not been verified. There is no confirmed dedicated npm/PyPI client or verified n8n node for this product. n8n/Make can use HTTP workflows with the same run/Dataset contract; availability of a generic HTTP node does not imply this Actor is verified in n8n Cloud.

Five separate scenario Tasks are prepared for quick snapshots, 200-video batches, compact rows, view filtering and comparing a user's own snapshot. Private Tasks are not public one-click templates; availability depends on actual publication. The JSON scenarios work without public Task templates. The comparison template contains no owner's data: leave previousSnapshot empty for a new baseline or supply your own prior SNAPSHOT JSON.

FAQ

Does it return every popular video? No. It collects a bounded, moving feed. Source access, limits and reordering constrain coverage.

Can I search for a brand or channel? No. Keyword search, channel expansion and individual detail endpoints are outside this product.

Are comments and danmaku available? Only their exposed counts. Bodies and text are not retrieved.

What does a negative delta mean? A lower observed counter or position change. It is preserved rather than forced to zero; it does not establish a cause.

Why is a video not marked new/deleted? A limited snapshot cannot prove either. seenInPreviousSnapshot describes only the snapshot you provided.

Will increasing maxVideos guarantee 200 rows? No. It is an upper limit. Filters, source availability, page/time/charge limits can return fewer.

Do I need cookies or proxies? This version sends direct public HTTP requests. No login, cookie input or paid proxy is used; access is not guaranteed.

Does comparison need access to a private Dataset? No. Paste the compact SNAPSHOT JSON from your previous observation into previousSnapshot. The Actor validates it without opening other private storage.

Is this affiliated with Bilibili? No. It is an independent data collection tool for public feed observations.