Bilibili Video Downloader avatar

Bilibili Video Downloader

Pricing

Pay per event

Go to Apify Store
Bilibili Video Downloader

Bilibili Video Downloader

Process one public Bilibili video page for structured metadata, optional comment details, and an optional stored video file. Choose metadata-only mode or a download quality preference.

Pricing

Pay per event

Rating

0.0

(0)

Developer

TrueFetch

TrueFetch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Bilibili Video Downloader prepares one public Bilibili video page as structured metadata, optional comment details, and an optional stored video file within an Apify workflow.

  • The effective input schema has three fields, with only video_url required.
  • Four explicit quality values separate metadata-only processing from low, medium, and high download preferences.
  • The Dataset schema contains 39 fields for identity, uploader, engagement, media properties, comments, processing context, and file delivery.
  • The local pay-per-event configuration declares start, usage, $0.11 metadata, and $0.30 download events.

Run a one-result test

View API

Test one public Bilibili URL in metadata mode before requesting comments or a file.

What does Bilibili Video Downloader do?

Bilibili Video Downloader is scoped to one known Bilibili video page per run. It normalizes the values available for that page into an Apify Dataset record: video identity, thumbnail, title and description, duration, publication time, uploader details, categories, tags, engagement counts, frame information, audio metadata, and processing context.

The optional max_comments input requests individual comment details when the source provides them. The setting is a ceiling, not a promised count. A page can expose a total comment number while returning fewer or no comment objects.

When video_quality requests a download, the Actor can store the resulting video and return its storage URL. Quality names express a preference over formats available for the page; they do not guarantee that every Bilibili video publishes the same resolution or media combination.

The Actor does not search Bilibili, expand a user space, crawl a playlist, process a batch array, or handle account-only data.

How do I run Bilibili Video Downloader?

Because the Actor was not publicly listed at the verification checkpoint, first publish or open the draft in Apify Console. Confirm that the effective input form shows the Bilibili title and three fields documented here.

Use the shared schema example for a smallest metadata check:

{
"video_url": "https://www.bilibili.com/video/BV17x411w7KC",
"video_quality": "metadata"
}

Start the run and inspect Results. If the page returns a coherent Dataset item, add a small max_comments value in a second run. Test the download preference last. This sequence separates page access, comment availability, and media storage, which makes a failed acceptance check easier to diagnose.

Do not assume that a URL accepted by a browser session is publicly accessible without that session. Use only content you are authorized to process, and apply the rights and policy rules relevant to your intended use.

What data does Bilibili Video Downloader return?

The effective Dataset contract exposes these 39 fields:

GroupDataset fields
Processingprocessor, processed_at
Video pageid, thumbnail, platform, title, description, duration, published_at
Uploaderauthor, author_id, author_url
Classificationcategories, tags
Engagementview_count, like_count, shares_count, dislike_count, comment_count
Mediawidth, height, fps, audio_title, audio_artist
Optional detailscomments, video

| Source and availability | source_url, media_type, live_status, availability, age_limit, language | | Creator reach | followers, is_verified | | File and captions | file_ext, file_size, saves_count, subtitles, chapters | An abbreviated illustrative item for the same BV URL is:

{
"id": "BV17x411w7KC",
"platform": "BiliBili",
"title": "Example Bilibili video title",
"author": "Example uploader",
"thumbnail": "https://example.com/bilibili-thumbnail.jpg",
"view_count": null,
"comments": [],
"video": ""
}

This example documents shape, not current source values. Fields can be null or empty when unavailable. In metadata mode, an empty video is expected. A returned comment object can contain author, text, like_count, and published_at.

What inputs can I configure?

The input schema order is:

InputRequiredContract
video_urlYesOne public Bilibili video page URL.
video_qualityNometadata, low, medium, or high; metadata mode skips file storage.
max_commentsNoInteger from 0 through 10,000; 0 skips comment retrieval and a positive value sets a requested ceiling.

Only the required URL contains a prefill and example. Optional controls are not prefilled, preserving whether a value was actually provided. Keep the comment ceiling small during validation; a large request can increase work without proving that the page makes those comments available.

What platforms and markets does Bilibili Video Downloader cover?

The public contract targets Bilibili video pages. It has no market, locale, language, uploader, keyword, category, date, playlist, or account filter. Bilibili also has series, collections, live pages, audio pages, international variants, and account-scoped areas; those page types are not promised by this one-video schema.

Current upstream coverage references BiliBili and multiple related Bilibili extractors, but the upstream project itself warns that listed sites are not guaranteed because websites change. The only reliable acceptance test is the exact public page type your workflow will submit.

Regional access, account state, removed content, and source changes can affect results. Preserve the submitted URL with the run ID and avoid generalizing from one successful page to every Bilibili surface.

Why use Bilibili Video Downloader?

The Actor gives an application one stable set of field names around a Bilibili video URL. A data team can consume a Dataset item instead of manually copying metadata. An authorized archive can associate a stored file with the URL, uploader, publication time, and engagement snapshot from the processing run.

Metadata mode supports page qualification before media transfer. Comment retrieval is explicitly optional. The thumbnail-first Dataset overview improves human review, and nullable values keep unavailable data distinct from real zeros.

That means the README can make the contract clear, but it cannot supply public ratings, customer quotes, usage counts, or a verified Store identity. Those items must be evaluated after the Actor is published.

Who is Bilibili Video Downloader for?

Developers can use it behind a Bilibili URL submission workflow. Researchers can document metadata from a defined public sample. Content operations teams can review authorized videos with uploader and engagement context. Archivists can preserve permitted media and processing timestamps. AI teams can feed the available title, description, tags, or stored media into a separate downstream analysis step.

Console users can run one URL without writing code after the Actor is available in their Apify account.

It is not for Bilibili search, user-space crawling, playlist discovery, private content, live recording, rights determination, or guaranteed comment collection. A separate subtitle or speech-to-text Actor is more appropriate when the required output is text rather than page metadata and a video file.

How can I use Bilibili Video Downloader through the API or MCP?

The following request is syntactically valid and uses the shared scenario, but the named public route will not run until the Actor is published under that reference:

curl -X POST "https://api.apify.com/v2/acts/truefetch~bilibili-video-downloader/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"video_url":"https://www.bilibili.com/video/BV17x411w7KC","video_quality":"metadata"}'

The same publication dependency applies to a focused MCP configuration:

{
"mcpServers": {
"apify-bilibili": {
"url": "https://mcp.apify.com?tools=truefetch/bilibili-video-downloader",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}

Use the same JSON input when calling the tool. Follow the official Apify MCP guide for authentication and client setup.

How much does Bilibili Video Downloader cost?

These are the effective local metadata prices, not a verified published Store offer:

Declared eventBilling unitLocal price
apify-actor-startActor start$0.01
actor_usageMetered usage event$0.00001
metadataOne processed video without file download$0.11
downloadOne processed video with file download and storage$0.30

For the smallest metadata-only test, the declared fixed events total $0.12 for Actor start plus metadata, before metered usage or any platform costs. A download path uses the $0.30 download event instead of the metadata event.

Publication can change pricing behavior. Verify the live Store configuration and a completed run’s charges before presenting these amounts to customers. No tier-specific prices exist in the local metadata.

How does Bilibili Video Downloader compare with alternatives?

OptionChoose it forMain trade-off
Bilibili Video DownloaderOne known Bilibili video needing metadata, comments when available, or a file
Best Video DownloaderA queue that mixes Bilibili with other supported video sitesBroader scope with less Bilibili-specific documentation.
Video To TextSpeech transcription from authorized mediaText output rather than this page-metadata contract.
Video Subtitles DownloaderExisting caption or subtitle tracksDoes not replace full video metadata and file processing.

Choose based on the required input entity and output artifact. A Bilibili page record, comment sample, stored video, subtitle file, and transcript are separate products.

What are the limits and troubleshooting steps?

The Actor accepts one URL. Batch lists, search, uploader expansion, playlists, live pages, credentials, and market filters are absent. Comment results are source-dependent. Quality values are preferences. Nullable fields are expected, and repeated runs do not deduplicate prior results.

If the draft fails, confirm the actor title and schema use Bilibili branding, then test metadata mode with the example URL. If a representative public BV page fails, inspect the run log and verify source access. Add a small comment ceiling only after metadata succeeds. Test media last and inspect storage when video remains empty.

The public Store, API, and Issues pages did not exist at the verification checkpoint, so public issue history and real-run feedback could not be reviewed. Publication identity is a release blocker rather than evidence that the Actor has no defects.

Frequently asked questions

Pass the canonical bilibili.com/video/BV.. address. Short share links and app redirects may resolve to a player page that does not expose the same identifiers, which leaves id, author_id, and engagement counters empty. Resolve the redirect in a browser first and submit the address that shows the BV code.

Are comments guaranteed?

No. max_comments sets a requested maximum; the source can return fewer or none.

Can it process a playlist or uploader space?

No. The effective input accepts one video URL.

Does high quality guarantee a fixed resolution?

No. Available formats for the supplied page determine the result.

Why is a count null?

The source did not expose a usable value. Keep null distinct from zero.

Does metadata mode store media?

No. The video field is expected to be empty.

How does regional availability affect a run?

Bilibili applies region and login rules per video. When the source withholds the playback manifest, the run cannot reach the publish threshold and ends without a Dataset item, so no result event is charged. Retry in metadata mode and confirm the page plays without an account before requesting a file.

Does a multi-part video return every part?

No. One run resolves one page and writes one Dataset item. A multi-part upload reports the page-level title and duration that Bilibili exposes for the default part. Submit each part URL separately when you need per-part media facts.

What is the smallest safe way to trial the Actor?

Run one short, openly playable video in metadata mode and leave max_comments at its prefilled value. That path charges one Actor start event plus one metadata event and stores no file, so the trial cost is bounded and predictable. Inspect id, platform, title, author, and duration in the returned item and compare them against the page before you spend a download event. Once the identifiers line up, switch a single run to low to confirm that storage and the returned video URL behave the way your pipeline expects.

Support

Report a problem with the public Actor link, stable ID, redacted input, run ID, expected field or file, and observed result.

Run a one-result test

View API