Bilibili Videos Scraper
Pricing
from $4.53 / 1,000 results
Bilibili Videos Scraper
Scrape Bilibili videos by keyword, popular feed, ranking, or video URL. Get title, views, likes, danmaku, duration, uploader, and publish date. Export to CSV, JSON, Excel, or XML.
Pricing
from $4.53 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

📺 Bilibili Videos Scraper
🚀 Export Bilibili videos in seconds. Up to 1,000 videos per keyword, 100 from the ranking, the whole popular feed, or any single video page. 23 fields per row: cover, title, views, danmaku, likes, favorites, comments, duration, category, uploader, and publish date.
Bilibili Videos Scraper collects public video metadata from Bilibili (bilibili.com), the largest Chinese video community, through the same JSON endpoints its own web app calls. No login, no browser rendering, no Bilibili API key. Give it a keyword, a video URL, the popular feed, or the ranking, and every video comes back as one flat row you can export to CSV, JSON, Excel, or XML.
Coverage in numbers: 50 videos per search page, at most 1,000 results per keyword (Bilibili's own search cap), 100 videos in the ranking, several hundred in the popular feed, and 23 fields per video including an exact ISO publish date instead of the relative "3 days ago" shown on the page.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Market and trend analysts | Track what is trending on Bilibili's popular feed and ranking every day |
| Video marketers and agencies | Benchmark competitor channels by keyword, views, likes, and favorites |
| Researchers and journalists | Study Chinese online video culture with exact publish dates and categories |
| Creators and MCNs | Find low-competition keywords and fast-rising uploaders |
📋 What the Bilibili Videos Scraper does
- Searches Bilibili by keyword (Chinese or English), with the same sort (relevance, views, newest, danmaku, favorites) and duration filters the site offers.
- Collects the popular feed (
/v/popular/all) and the all-category ranking (/v/popular/rank/all). - Reads any single video page (
/video/BV...,/video/av..., or ab23.tvshort link). - Returns cover image, title, URL, BV id, views, danmaku, likes, favorites, comments, duration (formatted and in seconds), category, uploader name, id, URL and avatar, publish date, and description.
- Deduplicates by BV id across every source in the run, so a video that appears in two searches is exported and billed once.
💡 Why it matters: Bilibili shows counts as "797.9万" and dates as "03-24". This Actor gives you both the display text and the exact number (7,978,531) and the exact timestamp (2026-03-24T05:53:12Z), so spreadsheets and dashboards work without manual cleanup.
🎬 Full Demo (🚧 Coming soon)
A short walkthrough video will be added here.
📊 Output
Each video is one flat row with these fields, in this order:
| Field | Description |
|---|---|
🖼 imageUrl | Video cover image |
📌 title | Video title, HTML highlighting removed |
🔗 url | Canonical video URL |
🆔 videoId | BV id |
👁 views | Play count as a number |
👁 viewsText | Play count in Bilibili's short form (万 / 亿) |
💬 danmakuCount | Danmaku (on-screen comment) count |
💬 danmakuText | Danmaku count in short form |
👍 likes | Likes |
⭐ favorites | Favorites (collections) |
🗨 comments | Comment (reply) count |
⏱ duration | Length as H:MM:SS |
⏱ durationSeconds | Length in seconds |
🏷 category | Bilibili category name |
👤 author | Uploader name |
👤 authorUrl | Uploader space URL |
👤 authorId | Uploader numeric id |
👤 authorAvatar | Uploader avatar image |
📅 publishedAt | Publish date, ISO 8601 |
📝 description | Video description, Not Disclosed when empty |
📍 source | Where the row came from: search, popular, ranking, or video |
🕒 scrapedAt | Collection timestamp |
❌ error | null on a good row; error rows carry only this field and are never billed |
Three records from a real run:
[{"imageUrl": "https://i0.hdslb.com/bfs/archive/c3ba106604affe3e5ff608af7cf62b3d318243eb.jpg","title": "2026网络最好听100首热门歌曲,每一首都好听 🎧","url": "https://www.bilibili.com/video/BV1ANQqBTEVU/","videoId": "BV1ANQqBTEVU","views": 7978760,"viewsText": "797.9万","danmakuCount": 566,"danmakuText": "566","likes": 9587,"favorites": 17447,"comments": 211,"duration": "6:17:29","durationSeconds": 22649,"category": "音乐综合","author": "那首你最爱的歌谣啊","authorUrl": "https://space.bilibili.com/1755991590","authorId": "1755991590","authorAvatar": "https://i0.hdslb.com/bfs/face/7d99aee1ac0c6b5586c976b30058df379cbdb061.jpg","publishedAt": "2026-03-24T05:53:12.000Z","description": "Not Disclosed","source": "search","scrapedAt": "2026-09-08T01:14:02.121Z","error": null},{"imageUrl": "https://i2.hdslb.com/bfs/archive/3b46b0c992cf8127797e4e7ca51c932ecbee33c1.jpg","title": "一口气跳完八月热门摇!!","url": "https://www.bilibili.com/video/BV1VztV6wEA2/","videoId": "BV1VztV6wEA2","views": 265114,"viewsText": "26.5万","danmakuCount": 31,"danmakuText": "31","likes": 5435,"favorites": 13467,"comments": 35,"duration": "2:51","durationSeconds": 171,"category": "舞蹈综合","author": "小透明----","authorUrl": "https://space.bilibili.com/407830677","authorId": "407830677","authorAvatar": "https://i0.hdslb.com/bfs/face/05b4dea102bbd1e41a3a3106138358215c505998.jpg","publishedAt": "2026-09-01T12:42:34.000Z","description": "-","source": "search","scrapedAt": "2026-09-08T01:14:02.121Z","error": null},{"imageUrl": "https://i2.hdslb.com/bfs/archive/98b76fc60839f2d03c6a9578d6a48e363789032d.jpg","title": "九月份主播热门国标盘点,普通人最难拿热门大国标的一个月!","url": "https://www.bilibili.com/video/BV1HXtR6YEvw/","videoId": "BV1HXtR6YEvw","views": 91245,"viewsText": "9.1万","danmakuCount": 33,"danmakuText": "33","likes": 282,"favorites": 244,"comments": 53,"duration": "6:11","durationSeconds": 371,"category": "电子竞技","author": "山谷游戏解说","authorUrl": "https://space.bilibili.com/389004044","authorId": "389004044","authorAvatar": "https://i2.hdslb.com/bfs/face/3021b7f02e985158db2da9d5d076f1840697a1b2.jpg","publishedAt": "2026-09-03T08:21:06.000Z","description": "九月份主播热门国标盘点,普通人最难拿热门大国标的一个月!","source": "search","scrapedAt": "2026-09-08T01:14:02.121Z","error": null}]
Values the source withholds come back as Not Disclosed; a value that does not apply comes back as N/A. A row never contains null outside the error column.
✨ Why choose this Actor
- Talks to Bilibili's JSON APIs, not the page. No headless browser, no captcha page, no 4 GB of memory. A 1,000-video keyword run is 20 requests.
- Exact numbers and dates. Play, danmaku, like, favorite and comment counts as integers, publish time as ISO 8601, next to the Chinese short forms the site displays.
- Search filters that match the site. Sort by relevance, views, newest, danmaku or favorites, and filter by duration bucket, the same way the Bilibili search page does.
- Four sources in one Actor. Keyword search, popular feed, ranking, and single video pages, mixed freely in one run and deduplicated by BV id.
- Honest ceilings. Bilibili caps search at 1,000 results per keyword; the log tells you the total Bilibili reports and how many pages exist.
- Proxy optional. Direct requests work; switch on Apify Proxy for high-volume runs, and the Actor falls back to it on its own if Bilibili refuses a direct call.
📈 How it compares to alternatives
| Bilibili Videos Scraper | Browser-based Bilibili scrapers | Build it in-house | By hand | |
|---|---|---|---|---|
| Setup | Run it now, zero config | Often need residential proxies to pass the captcha | Days of engineering (WBI signing, cookies) | None, but hours per pull |
| Speed and memory | 20 requests per 1,000 videos, 1 GB | Full page renders, 4 GB | Depends | Slow |
| Fields | 23 per video, exact counts and ISO dates | Usually what the card shows | Whatever you build | Copy-paste |
| Sources | Search, popular, ranking, video page | Usually search only | Whatever you build | One page at a time |
| When Bilibili changes | Maintained for you | Varies | You fix it | You re-learn the page |
| Output | Fixed JSON schema, CSV/Excel export | Varies | Whatever you build | Spreadsheet |
🚀 How to use
- Create a free Apify account with $5 in credit.
- Open Bilibili Videos Scraper in the Apify Store.
- Enter one or more search keywords, or paste Bilibili URLs (video page, search page,
/v/popular/all,/v/popular/rank/all). Leave both empty to collect the popular feed. - Optionally pick a sort order and a duration filter for the searches, and set Max Items.
- Click Start. When the run finishes, open the Dataset tab and export as CSV, Excel, JSON, or XML, or read it through the API.
A first run with the defaults:
{"searchKeywords": ["热门"],"maxItems": 10}
💼 Business use cases
📊 Trend monitoring
Schedule a daily run on https://www.bilibili.com/v/popular/rank/all and keep the 100 ranked videos with their counts. A week of snapshots shows which categories and uploaders are climbing.
🏁 Competitor benchmarking
Search your product category ("机械键盘", "护肤"), sort by views, and compare the top 200 videos' likes-to-views and favorites-to-views ratios to see which content formats convert attention into saves.
🤝 Creator and MCN sourcing
Sort a niche keyword by newest and filter to videos under 10 minutes to find active uploaders early. authorUrl and authorId go straight into an outreach sheet.
🎯 Campaign reporting
Paste the BV links of a sponsored campaign as start URLs and pull views, likes, favorites, comments and danmaku for each video at the same time every day.
🔌 Automating Bilibili Videos Scraper
- Make / Zapier: trigger a run on a schedule, then send new rows to Google Sheets, Airtable or Notion.
- Slack: post the top 10 ranking videos to a channel every morning through the Apify Slack integration.
- Airbyte: load the dataset into your warehouse with the Apify source connector.
- GitHub Actions: call the run endpoint from a workflow and commit the CSV to a data repo.
- Google Drive: export the dataset as Excel to a shared folder after every run.
🌟 Beyond business use cases
- Research: study how Chinese internet culture spreads by tracking keyword volume, category mix and publish times over months.
- Personal: keep a list of everything an uploader you follow publishes, with exact dates, in a spreadsheet.
- Non-profit: monitor public-interest topics (health, education, disaster response) and how much attention they get on Bilibili.
- Experimentation: feed titles, categories and engagement ratios into a model that predicts which formats travel.
🤖 Ask an AI assistant about this scraper
Give an AI agent live access to Bilibili through the Model Context Protocol:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/bilibili-video-scraper"
Then ask the agent in plain language, for example "find the 20 most viewed Bilibili videos about 原神 published this week and list uploader names", and it will run the Actor and read the results back.
❓ Frequently Asked Questions
❓ Do I need a Bilibili account or API key?
No. The Actor reads public endpoints without any login.
❓ How many videos can one keyword return?
Bilibili caps search at 1,000 results per keyword (20 pages of 50). The log prints the total Bilibili reports. Use several keywords or the duration filter to widen coverage.
❓ Which URLs are accepted as start URLs?
Video pages (/video/BV..., /video/av..., b23.tv short links), search pages (search.bilibili.com/all?keyword=..., order and duration parameters are honoured), the popular feed (/v/popular/all) and the ranking (/v/popular/rank/all). Other pages produce an error row and are not billed.
❓ Can I search in English?
Yes. Bilibili's search accepts any text; results depend on what uploaders wrote in titles and tags.
❓ Why is category or description sometimes Not Disclosed?
Bilibili returns an empty value for some videos, mostly when reading a single video page. The Actor never invents a value.
❓ Do I need a proxy?
Not by default. Turn on Apify Proxy for very large runs; the Actor also switches to it on its own if Bilibili refuses a direct request.
❓ Does it collect comments or danmaku text?
No. It returns the danmaku and comment counts, not their text.
❓ Can I scrape a specific uploader's video list?
Not directly. Search the uploader's name and sort by newest, or paste the BV links of their videos.
❓ Are rows ever duplicated?
No. Videos are deduplicated by BV id across every source in the run, and you are billed once per video.
❓ What is the free plan limit?
Free accounts get up to 10 videos per run as a preview. Paid plans can request up to 1,000,000 per run.
❓ How fresh are the counts?
They are read at run time from the same endpoints the Bilibili web app uses, so they match what a visitor sees at that moment.
❓ Is this an official Bilibili product?
No. It is an independent tool that reads publicly available data.
🔌 Integrate with any app
Run the Actor and fetch results from the Apify API (run-sync-get-dataset-items) or with the Apify client for JavaScript and Python. Datasets export to CSV, JSON, Excel, XML, RSS and HTML, and webhooks can notify your app when a run finishes.
🔗 Recommended Actors
- YouTube Comments Scraper
- TikTok Hashtag Analytics Scraper
- Twitch Live Streams Scraper
- Instagram Profile Scraper
💡 Pro Tip: browse the complete ParseForge collection for more scrapers.
🆘 Need Help? Open our contact form with your run ID, your input, and what you expected.
⚠️ Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Bilibili Inc. It collects only publicly available data. You are responsible for using the data in compliance with Bilibili's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL.