Bilibili Article Scraper - 专栏 Columns & Opus Articles
Pricing
from $0.99 / 1,000 scraped articles
Bilibili Article Scraper - 专栏 Columns & Opus Articles
Scrape Bilibili 专栏 articles by creator, keyword or URL, and opus posts by URL. Get title, author, date, tags, views, likes, comments, coins, full text and images. No login needed.
Pricing
from $0.99 / 1,000 scraped articles
Rating
0.0
(0)
Developer
Harish Garg
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape Bilibili articles: the 专栏 (zhuānlán) columns that creators publish next to their videos on bilibili.com. Get every article from a creator, search articles by keyword, or scrape single article and opus URLs. Each article includes the title, author, publish date, category, tags, views, likes, comments, coins, favorites, shares, full text, HTML and image URLs.
No Bilibili account, login or API key is needed. Download the data as JSON, CSV or Excel, run the Actor from the API on a schedule, or ask an AI assistant such as Claude or ChatGPT to get Bilibili articles for you.
What does Bilibili Article Scraper do?
It collects Bilibili 专栏 articles in three ways. You can combine them in one run:
- By creator: give a creator's UID (mid) or profile URL and get all their articles, newest first.
- By keyword: give search words such as
人工智能,原神orgenshinand get the matching articles. Searches in Chinese, English, Japanese and Korean all work. - By URL: give article links (
bilibili.com/read/cv…,bilibili.com/opus/…, mobile links orb23.tvshare links) and get those articles. Opus links also work for image and text posts (图文) that are not 专栏 articles.
For each article you get:
- Article: title, summary, article ID (cv), opus ID, URL, category and tags
- Author: creator UID (mid) and name
- Engagement: views, likes, comments, coins, favorites and shares
- Content: the full article text, clean HTML and all image URLs
- Dates: the publish time in China time (UTC+8) and the time of your run
For each creator you also get one profile row with the creator's name, avatar and bio.
Because it runs on the Apify platform, you also get API access, scheduling, integrations and run monitoring.
Why scrape Bilibili articles?
Bilibili (哔哩哔哩, "B站") is one of China's biggest platforms for young audiences. Its 专栏 articles hold long-form reviews, guides, opinions and fan writing that you can't get from video data alone.
- China market research: find out what Chinese creators write about brands, products, games, tech and finance.
- Brand and media monitoring: track long-form posts by key opinion leaders (KOLs) and alert your team about new ones.
- Gaming and anime communities: collect game guides (攻略), patch reactions and fan discussion for titles such as Genshin Impact.
- AI and NLP datasets: build corpora of Chinese long-form text that are dated, attributed and include engagement numbers.
- Journalism and archiving: save articles with their numbers before they are edited or deleted.
How to scrape Bilibili articles in Apify Console
- Open the Actor and fill in at least one of Creators, Article URLs or Search keywords.
- Set Max articles per creator / keyword. The default is 50, and
0means no limit (Bilibili shows at most 1,000 search results per keyword). - Optional: turn off Include full article content for a fast run with metadata only.
- Click Start and wait for the run to finish.
- Open the Output tab to see the results, or export them as JSON, CSV, Excel, XML or HTML.
How do I find a creator's UID? Open the creator's page. The UID is the number in the address: https://space.bilibili.com/244503977 → 244503977. You can also paste the whole address from the website or the mobile site.
Input
Configure the run on the Input tab, or send the input as JSON.
| Field | What it does | Example |
|---|---|---|
| Creators | Creator UIDs (mid) or profile URLs. Returns their articles, newest first | ["244503977"] |
| Article URLs | Article links, opus links, b23.tv share links or cv IDs. Always includes the full content | ["https://www.bilibili.com/read/cv30946284"] |
| Search keywords | Words to search Bilibili articles for | ["人工智能", "genshin"] |
| Max articles per creator / keyword | Limit for each creator and each keyword. 0 = no limit (at most 1,000 results per keyword) | 50 |
| Include full article content | Full text, HTML, images, tags, coins and shares. Turn it off to get metadata only | true |
In JSON, the fields are creators, articleUrls, searchQueries, maxArticles and includeArticleContent. You do not need to set up a proxy.
Example: all articles of one creator
{"creators": ["244503977"],"maxArticles": 0}
Example: 100 articles about AI, metadata only
{"searchQueries": ["人工智能"],"maxArticles": 100,"includeArticleContent": false}
Example: specific articles
{"articleUrls": ["https://www.bilibili.com/read/cv30946284","https://www.bilibili.com/opus/894866361836109878"]}
Output
You get one row per article, plus one profile row per creator. Here is an article row (text and image list shortened):
{"type": "article","authorMid": "286431045","authorName": "UnPlusJiNg","articleId": "30946284","opusId": "894866361836109878","url": "https://www.bilibili.com/read/cv30946284","title": "⩑〘2024.02.06〙「第三期」动漫 赛博 科技 AI 精美壁纸 4K电脑壁纸 4K手机壁纸","summary": null,"publishedAt": "2024-02-06T11:38:31+08:00","category": null,"tags": ["动漫", "科技", "人工智能", "AI", "动漫壁纸", "4K壁纸"],"stats": { "view": 4977, "like": 30, "comment": 5, "coin": 4, "favorite": 36, "forward": 0 },"wordCount": null,"contentText": "专栏:⩑〘2024.02.06〙「第三期」动漫 赛博 科技 AI 壁纸专栏\n专栏60张壁纸 云盘60张壁纸\n…","contentHtml": "<p>专栏:⩑〘2024.02.06〙「第三期」动漫 赛博 科技 AI 壁纸专栏</p><p>专栏60张壁纸 云盘60张壁纸</p>…","contentLength": 291,"imageUrls": ["https://i0.hdslb.com/bfs/article/c7e39b9fed39c7d186bc8e5e29f2aa7b286431045.jpg", "…"],"discoveredVia": "url","searchQuery": null,"scrapedAt": "2026-10-05T12:41:13+00:00"}
Here is a profile row:
{"type": "profile","authorMid": "244503977","authorName": "桑葚青梅茶","authorAvatar": "https://i2.hdslb.com/bfs/face/e22769fd9e1fc4de67ef45d37d99bf615bd6ae20.jpg","authorSign": "人要有盼头、才会健康","spaceUrl": "https://space.bilibili.com/244503977","scrapedAt": "2026-10-05T12:42:21+00:00"}
The Output tab has four views: Overview, Articles (text, tags and images), Engagement (all the numbers in columns) and Creators. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data fields
| Field | Description |
|---|---|
type | article or profile |
authorMid / authorName | Creator UID and display name |
articleId / opusId | Bilibili cv article ID and opus ID |
url | Link to the article |
title / summary | Article title and short summary (articles found by creator or keyword) |
publishedAt | Publish time, ISO 8601, China time (UTC+8) |
category / tags | Article category (articles found by creator or keyword) and tags |
stats | view, like, comment, coin, favorite, forward (shares) |
wordCount | Word count (articles found by creator) |
contentText / contentHtml | Full text and clean HTML of the article |
contentLength | Length of the text in characters. 0 for image-only articles |
imageUrls | Image URLs in the article |
discoveredVia / searchQuery | How the article was found (creator, search or url) and the keyword |
authorAvatar / authorSign / spaceUrl | Profile rows only: avatar, bio and profile URL |
scrapedAt | When your run collected the row (UTC) |
How to use Bilibili Article Scraper
In Apify Console
- Open the Actor, fill in the Input tab and click Start.
- Watch the run's progress in the log, then open the Output tab.
- Click Save as a new task to run the same setup again with one click. On the task, add a Schedule to check your creators or keywords every day or week.
With the Apify API (HTTP)
Run the Actor and get its results in one request. Replace YOUR_API_TOKEN with your token from Settings → API & Integrations in Apify Console.
curl -X POST "https://api.apify.com/v2/acts/hgservices~bilibili-columns-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"creators": ["244503977"], "maxArticles": 20}'
Add &format=csv or &format=xlsx to the URL to get CSV or Excel instead of JSON. For long runs, start the run with POST /v2/acts/hgservices~bilibili-columns-scraper/runs, and then read the items of the run's default dataset when it finishes.
With the JavaScript client
Install the client with npm install apify-client, then run:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('hgservices/bilibili-columns-scraper').call({searchQueries: ['人工智能'],maxArticles: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items.filter((i) => i.type === 'article')) {console.log(item.publishedAt, item.title, item.stats.view, item.url);}
With the Python client
Install the client with pip install apify-client (version 3.0 or later), then run:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("hgservices/bilibili-columns-scraper").call(run_input={"creators": ["244503977"], "maxArticles": 20})if run is None:raise RuntimeError("The run was not found.")for item in client.dataset(run.default_dataset_id).iterate_items():if item["type"] == "article":print(item["publishedAt"], item["title"], item["url"])
With Claude, ChatGPT and other AI assistants (MCP)
Connect your AI assistant to the Apify MCP server. The assistant can then run this Actor for you and answer from the results. To give the assistant this Actor as a tool, use this server URL:
https://mcp.apify.com?tools=hgservices/bilibili-columns-scraper
- Claude (claude.ai or Claude Desktop): open Settings → Connectors, click Add custom connector and paste the URL.
- Claude Code: run
claude mcp add --transport http apify "https://mcp.apify.com?tools=hgservices/bilibili-columns-scraper". - Apify CLI: run
apify mcp install claude-code --tools hgservices/bilibili-columns-scraper(also works forcursor,vscodeandcodex). - ChatGPT: in Settings → Apps & Connectors, turn on developer mode, create a connector and paste the URL.
- Cursor, VS Code and other MCP clients: add the URL as a remote (HTTP) MCP server.
Sign in with your Apify account when asked. Then ask in plain language, for example:
- "Get the 20 newest Bilibili articles of creator 244503977 and summarize them in English."
- "Find Bilibili 专栏 articles about 人工智能 and list the 10 with the most likes."
- "Get the full text of https://www.bilibili.com/read/cv30946284 and translate it into English."
With integrations
Send the results to Google Sheets, Slack, email, Zapier, Make, n8n, Airbyte or any webhook from the Actor's Integrations tab. For example, run every morning for a list of creators and post new articles to a Slack channel.
Tips for faster runs
- Start with metadata only. Turn off Include full article content. The run is about 10 times faster and shows what a creator or keyword returns. Then run again with content for the articles you need. Metadata-only rows have no tags, coins or shares.
- Use the limit. Max articles per creator / keyword stops each creator and keyword early. Results are newest first for creators.
- Monitor creators on a schedule. Run a saved task daily or weekly and remove duplicates by
articleIdin your own system. In one run, an article that matches more than one creator, keyword or URL appears only once. - Give large runs more time. With full content, the Actor collects about 30 articles per minute. A creator with 2,000 articles needs more than 1 hour. Before you start, increase Timeout in the run options. If a run stops at the timeout, the articles that it collected stay in the dataset.
- Keep the default memory. More memory does not make the run faster, because the speed depends on Bilibili. It only makes the run cost more.
- Blocked requests. Bilibili sometimes blocks requests. The Actor then tries again automatically. If a run reports that Bilibili blocked it, run it again later.
- Interrupted runs continue. If the platform restarts a run, the run continues where it stopped. Articles that are already in the dataset are not scraped again.
FAQ, disclaimers and support
Do I need a Bilibili account? No. The Actor reads only public articles. You don't need a login, cookie or API key.
Why do some fields have null?
Bilibili doesn't show every field in every place. The summary and category fields are filled for articles found by creator or keyword, and wordCount for articles found by creator. Image-only articles have an empty contentText and a contentLength of 0.
If you turn off Include full article content, the rows have no tags, and coin and forward are null. Articles found by keyword also have favorite set to null. Turn the content on to get these fields.
Why do some emoji show as ??
Bilibili's article list and search replace emoji with ?. With Include full article content on, the Actor gets the correct title from the article itself. The summary field comes only from the list and search, so its emoji can stay ?.
Why did my keyword return unrelated articles? The results come from Bilibili's own article search, which also matches parts of your keyword. Use more specific keywords for more precise results.
Can it scrape Bilibili videos, comments or danmaku? No. This Actor scrapes articles (专栏, plus opus posts given by URL) only. Use a Bilibili video or comments scraper for other data.
Can it scrape private, deleted or paid articles? No. If you give the link of such an article, the Actor skips it. If a creator's list or a search still shows a deleted article, you get a row with its title and numbers, but with no content. The log tells you which articles had no content.
With Include full article content on, you don't pay for a row without content. This also applies when Bilibili blocks the content of an article.
Is it legal to scrape Bilibili? The Actor collects only data that is publicly available. You are responsible for using the data in line with Bilibili's terms of service, copyright law and data protection laws such as the GDPR and China's PIPL. Don't republish authors' articles without permission.
I found a problem or need a feature. Open an issue on the Issues tab, and we will look into it. Custom solutions for Bilibili and other Chinese websites are available on request.