Bilibili Video Search Scraper avatar

Bilibili Video Search Scraper

Pricing

from $0.02 / 1,000 item extracteds

Go to Apify Store
Bilibili Video Search Scraper

Bilibili Video Search Scraper

Export public Bilibili video search results and video metadata with authors, thumbnails, engagement counts, tags, and publish dates.

Pricing

from $0.02 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Export public Bilibili video search results and video metadata by keyword, BVID, or video URL.

Use this Actor when you need repeatable Bilibili video data for creator research, video SEO, trend tracking, competitor monitoring, market research, or media analysis. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.

At a glance

  • Search Bilibili by keyword: collect public video results for one or many search terms.
  • Fetch direct videos: add BVIDs or Bilibili video URLs when you already know the videos you need.
  • Collect engagement signals: save views, likes, coins, favorites, shares, replies, danmaku count, and duration when available.
  • Get creator and category data: export author names, uploader IDs, categories, tags, thumbnails, publish dates, and source keywords.
  • API-ready output: use the dataset in BI tools, spreadsheets, monitoring jobs, reports, or AI agents.

Ready-to-run examples

Use these saved Store examples as starting points. Open any example to prefill the Actor input, then adjust URLs, keywords, limits, or filters for your own run.

What can it do?

Bilibili Video Search Scraper turns Bilibili search pages and direct video identifiers into structured video rows.

  • Export Bilibili video search data with the keyword, rank, page, title, BVID, video URL, author, thumbnail, and category.
  • Collect video performance metrics such as views, likes, coins, favorites, shares, replies, danmaku count, and duration.
  • Compare creators and topics using uploader IDs, category labels, tags, publish timestamps, and source keywords.
  • Build recurring monitoring by scheduling the Actor with the same keywords and comparing new rows over time.
  • Use it as a Bilibili data API alternative when you need public video metadata in a consistent dataset.

Common workflows

  • Video SEO research: find titles, keywords, categories, and engagement patterns for a Bilibili topic.
  • Competitor tracking: monitor channels, campaigns, launches, and branded keywords on Bilibili.
  • Creator discovery: collect public videos and authors around a niche or industry.
  • Market research: export video metadata for trend reports, media intelligence, and localization research.
  • AI analysis: feed video rows into classification, clustering, summarization, or alerting workflows.

What data can you collect?

Each dataset row represents one public Bilibili video result or direct video lookup.

FieldDescription
keywordSearch keyword that produced the result
rankResult rank within the keyword/page where available
pageSearch result page number
sortSort mode used for the search
sourceTypeWhether the row came from keyword search or direct BVID input
titlePublic video title
bvidBilibili BVID
aidNumeric Bilibili AID when available
urlPublic Bilibili video URL
author, authorAvatarUrlPublic uploader name and avatar URL
midPublic uploader ID
descriptionVideo description when available
publishedAtPublic publish timestamp in ISO format
thumbnailUrlPublic thumbnail image URL
categoryBilibili category name
parentCategoryParent category when available
durationSecondsVideo duration in seconds
viewCountPublic view count
danmakuCountPublic danmaku count
likeCountPublic like count
coinCountPublic coin count
favoriteCountPublic favorite count
shareCountPublic share count
replyCountPublic reply/comment count
tagsPublic tags when detail collection is enabled
pagesMulti-part video page metadata when available
width, height, isOriginalVideo dimensions and original/repost classification when available
scrapedAtTimestamp when the row was saved

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
startOnce per valid run, after input and proxy validation$0.005$0.005$0.005$0.005$0.005$0.005
itemCharged per item extracted.$0.04614 / 1,000$0.04012 / 1,000$0.03129 / 1,000$0.02407 / 1,000$0.01605 / 1,000$0.01123 / 1,000

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

Input configuration

SettingJSON keyUse it forExample
KeywordskeywordsBilibili search terms to collect videos for.["AI tools","game trailer"]
BVIDs or video URLsbvidsDirect video lookups by BVID or URL.["BV1rpWjevEip"]
Maximum videosmaxItemsTotal saved videos across all inputs.50
Search sort ordersortBilibili search ordering.totalrank
Maximum pages per keywordmaxPagesPerKeywordPagination safety cap for each keyword.3
Fetch detailed stats and tagsincludeDetailsAdd richer public video details.true
Delay between requestsrequestDelayMillisConservative pacing between Bilibili requests.700
Transient request retriesmaxRequestRetriesRetry temporary HTTP, anti-bot, and rate-limit responses.3
Processing time limitrunTimeSecsStop new work early and preserve collected rows before timeout.270
Proxy configurationproxyConfigurationOptional Apify Proxy settings for rejected or rate-limited larger runs.{"useApifyProxy":false}

Example input

{
"keywords": ["AI tools", "game trailer"],
"bvids": ["BV1rpWjevEip"],
"maxItems": 50,
"sort": "totalrank",
"maxPagesPerKeyword": 3,
"includeDetails": true,
"requestDelayMillis": 700
}

Example output

{
"keyword": "AI tools",
"rank": 1,
"page": 1,
"sourceType": "search",
"title": "Example Bilibili video",
"bvid": "BV1rpWjevEip",
"url": "https://www.bilibili.com/video/BV1rpWjevEip",
"author": "Example creator",
"mid": 123456,
"publishedAt": "2026-07-03T10:00:00.000Z",
"thumbnailUrl": "https://i0.hdslb.com/bfs/archive/example.jpg",
"durationSeconds": 180,
"viewCount": 12500,
"likeCount": 820,
"replyCount": 65,
"tags": ["AI", "tools"],
"scrapedAt": "2026-07-03T12:00:00.000Z"
}

Tips for best results

  • Start specific: focused keywords usually produce cleaner video datasets than broad one-word searches.
  • Use direct BVIDs for known videos: this avoids search noise when you already know the target videos.
  • Keep details enabled for analysis: includeDetails=true gives richer stats and tags.
  • Increase delay for larger batches: use requestDelayMillis if you process many keywords.
  • Schedule monitoring runs: compare new output with previous datasets to track fresh Bilibili videos.

Limits and caveats

  • The Actor extracts publicly visible Bilibili data only.
  • It does not access private videos, logged-in content, paid content, or account-only analytics.
  • Counts can change after scraping and may be rounded or unavailable depending on Bilibili responses.
  • Search results can vary by region, language, availability, and Bilibili ranking changes.
  • Bilibili can reject public API requests with anti-bot or rate-limit responses such as -352, -412, or -509. The Actor retries these with backoff and can rotate proxy URLs when configured.
  • Large requested limits may finish as a successful partial run before the platform timeout. Collected rows remain available and RUN_SUMMARY records whether the time limit or an upstream error stopped further work.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/bilibili-video-search-scraper').call({
keywords: ['人工智能'],
maxItems: 25,
includeDetails: true
});
console.log(run.defaultDatasetId);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/bilibili-video-search-scraper").call(run_input={
"keywords": ["人工智能"],
"maxItems": 25,
"includeDetails": True,
})
print(run["defaultDatasetId"])

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~bilibili-video-search-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"keywords":["AI tools"],"maxItems":25,"includeDetails":true}'

MCP and AI agents

This Actor can be used through the official Apify MCP server at https://mcp.apify.com.

For a focused single-Actor tool setup, use:

https://mcp.apify.com?tools=fetch_cat/bilibili-video-search-scraper

Use the same JSON keys shown in the input configuration table, such as keywords, bvids, maxItems, sort, maxPagesPerKeyword, and includeDetails.

Claude CLI:

$claude mcp add --transport http apify-bilibili "https://mcp.apify.com?tools=fetch_cat/bilibili-video-search-scraper"

JSON configuration:

{
"mcpServers": {
"apify-bilibili": {
"type": "http",
"url": "https://mcp.apify.com?tools=fetch_cat/bilibili-video-search-scraper"
}
}
}

Example prompts:

  • “Export 25 newest Bilibili videos for 人工智能 with detailed engagement fields.”
  • “Fetch metadata for these BVIDs and compare views, likes, coins, favorites, and tags.”
  • “Run a lightweight Bilibili keyword search without per-video detail enrichment.”

FAQ

Can this scrape full Bilibili video files?

No. This Actor exports public video metadata and engagement fields. It does not download video media files.

Can I search multiple Bilibili keywords in one run?

Yes. Add multiple strings to keywords; the Actor saves matching rows until maxItems is reached.

Can I export to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, JSON, Excel, XML, RSS, HTML, or accessed through the API.

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Privacy and data handling

This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses the inputs you provide and the public records needed to produce the documented dataset to produce the output dataset and sends requests to public Bilibili Video Search pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.