# Bilibili Full Scraper (`ecommerce_leads/bilibili-full-scraper`) Actor

Download Bilibili videos, plus Bilibili comments, danmaku, uploaders, search, rankings, manga and games. 18 modes, no login or cookies needed.

- **URL**: https://apify.com/ecommerce\_leads/bilibili-full-scraper.md
- **Developed by:** [Monster Leads](https://apify.com/ecommerce_leads) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 50.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 bilibili video downloadeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Bilibili Full Scraper — Download Bilibili Videos & Scrape All Bilibili Data

**Download Bilibili videos** and scrape everything else on Bilibili from one
actor: Bilibili comments, Bilibili danmaku, Bilibili uploaders, Bilibili
search, Bilibili rankings, Bilibili manga and Bilibili games.

Paste any Bilibili link — `bilibili.com/video/BV...`, a `b23.tv` short link, a
BV id or an old `av` number — and get direct video download URLs back, with no
Bilibili login, no cookies and no browser.

**18 modes. Every public Bilibili endpoint, one actor.**

***

### Every Bilibili scraper in one

| # | Mode | What this Bilibili scraper returns |
|---|------|-------------------------------------|
| ⬇️ | **Bilibili video downloader** | Direct video + audio download URLs, quality, codec, resolution, ready-to-run `ffmpeg` command |
| 🎬 | **Bilibili video scraper** | Title, description, tags, partition, uploader, views, likes, coins, favourites |
| 💬 | **Bilibili comment scraper** | Comments and replies with likes, author level and IP region |
| 🌠 | **Bilibili danmaku scraper** | The scrolling 弹幕 comments with their timestamp in the video |
| 👤 | **Bilibili uploader scraper** | UP主 followers, total views, total likes, level, verification, video list |
| 🔎 | **Bilibili search scraper** | Bilibili video search results for any keyword, Chinese or English |
| 🔥 | **Bilibili popular scraper** | The 综合热门 popular feed |
| 🏆 | **Bilibili ranking scraper** | Bilibili ranking boards (排行榜), site-wide or per partition |
| 🔗 | **Bilibili related videos scraper** | What Bilibili recommends beside a given video |
| 🧭 | **Bilibili channel scraper** | Every Bilibili partition (分区) and its `tid` |
| 📚 | **Bilibili manga scraper** | Bilibili Manga (漫画) titles, authors, genres, episodes, fans, scores |
| 🎮 | **Bilibili games scraper** | Bilibili Games entries with biligame ids |
| 📣 | **Bilibili promo scraper** | What Bilibili promotes on its homepage right now |
| 📈 | **Bilibili heatmap scraper** | 高能进度条 — which seconds of a video get rewatched most |
| 🖼️ | **Bilibili thumbnail scraper** | Seek-bar preview sprite sheets |
| 📄 | **Bilibili video parts scraper** | The 分P part list, with the `cid` for each part |
| 🪪 | **Bilibili uploader card scraper** | Fast, lightweight UP主 profile |
| 🎪 | **Bilibili campaign scraper** | 征稿企划 submission drives |

***

### How to download Bilibili videos

1. Pick **⬇️ Download Bilibili videos** in *What do you want to do?*
2. Paste one or more Bilibili links into **Bilibili video links**.
3. Choose a quality, codec and audio track (the defaults are fine).
4. Run it.

Each Bilibili video becomes one row containing:

| Field | What it is |
|-------|------------|
| `video_url` | The Bilibili video file — **no audio**, see below |
| `audio_url` | The Bilibili audio file, separate |
| `ffmpeg_command` | Paste-ready command that joins the two into one MP4 |
| `needs_mux` | `true` when the two files must be joined |
| `quality_name` | What you actually got — `480P`, `1080P`, … |
| `quality_capped` | Why you got less than you asked for, when that happens |
| `expires_in_human` | How long the download URLs stay alive |
| `required_user_agent` / `required_referer` | Headers the CDN demands |

#### ⚠️ Three things that make a Bilibili download look broken when it is not

**1. Bilibili videos have separate video and audio files.**
Bilibili serves DASH. `video_url` on its own downloads a perfectly valid,
completely **silent** file. Use the `ffmpeg_command` on the row to join them:

```bash
ffmpeg -user_agent '<UA>' -referer 'https://www.bilibili.com/' -i '<video_url>' \
       -user_agent '<UA>' -referer 'https://www.bilibili.com/' -i '<audio_url>' \
       -c copy 'video.mp4'
```

The command on each row already has the right URLs and headers filled in.

**2. Downloading needs two headers, or the CDN returns 403.**
A plain `curl -O` on a Bilibili stream URL fails every time. Both a browser
`User-Agent` **and** a `https://www.bilibili.com/` `Referer` are required.
Every row carries them, and `curl_video_command` has them pre-filled.

**3. Bilibili download URLs expire in about two hours.**
Bilibili's CDN links are time-limited and tied to the IP that fetched them.
`expires_in_human` on each row tells you how long you have. Re-run to get
fresh Bilibili download URLs.

#### Bilibili video quality without an account

Bilibili gates high-quality streams behind a logged-in account. Because this
Bilibili scraper runs without any login, downloads are **capped at 480P**.
Asking for 1080P still works and still returns the file — you get the best
tier Bilibili serves anonymously, and `quality_capped` says exactly why.

| Bilibili quality | Available here |
|------------------|----------------|
| 360P, 480P | ✅ Yes |
| 720P, 1080P | ❌ Needs a Bilibili account |
| 1080P+, 1080P60, 4K, HDR, 8K | ❌ Needs Bilibili Premium (大会员) |

***

### Scrape Bilibili comments and danmaku

**Bilibili comments** come with likes, reply counts, author level and the
coarse IP region Bilibili shows publicly. Turn on replies to walk the full
thread under each comment.

**Bilibili danmaku (弹幕)** is Bilibili's signature feature and has no
equivalent on other platforms — the comments that scroll across the video.
Each row carries the second of the video it appears at, its style and colour,
so you can plot comment density over a video's timeline.

The Danmaku mode returns the historical snapshot Bilibili stores per video.
Live danmaku travels over a websocket and cannot be scraped.

***

### Scrape Bilibili manga and games

**Bilibili Manga scraper (漫画)** — three boards: hot, fans (popularity chart
with fan counts) and recommend. Each Bilibili manga row has authors, genres,
tags, episode count, latest chapter, completion status, chart rank, fan count,
supporter count, review score and synopsis.

Bilibili Manga is a separate service from the video site, so a `comic_id`
opens the manga reader and is not a video id.

**Bilibili Games scraper** — entries from Bilibili's games navigation with
their biligame id where one exists. Not every entry is a game; the `kind`
column separates real games from campaign and activity pages.

***

### Bilibili analytics: heatmap, rankings and trends

**Bilibili heatmap scraper (高能进度条)** returns one row per time bucket
showing how heavily each moment of a video is rewatched, with the peak flagged
— it plots directly as a chart, and shows which parts of a Bilibili video
actually hold attention.

**Bilibili ranking scraper** reads any partition's board; run the Bilibili
channel scraper first to get every partition's `tid`.

**Bilibili popular scraper** reads the site-wide 综合热门 feed.

***

### Reading your Bilibili results

Every run writes to one dataset, and the tab you land on is **Overview** — it
shows readable columns for **every** Bilibili row type, so a manga run, a
heatmap run and a download run all display properly there. Columns are never
left blank: a value that genuinely does not exist for a row type shows as `—`,
while a real zero shows as `0`.

Switch tabs for the full field set of one Bilibili record type:

| Tab | Contains |
|-----|----------|
| **Overview** | Everything, in shared columns |
| **Bilibili downloads** | Download URLs, quality, ffmpeg commands, expiry |
| **Bilibili videos** | Video metadata and engagement stats |
| **Bilibili comments** | Comments and replies |
| **Bilibili danmaku** | Scrolling 弹幕 comments |
| **Bilibili uploaders** | UP主 profiles |
| **Bilibili manga** | 漫画 titles |
| **Bilibili games** | Games navigation |
| **Bilibili promos** | Homepage promo slots |
| **Bilibili heatmap** | Rewatch heat per second |
| **Bilibili preview thumbnails** | Seek-bar sprite sheets |
| **Bilibili video parts** | 分P list with cids |
| **Bilibili channels** | Partitions and their `tid` |
| **Bilibili campaigns** | 征稿企划 drives |

Because the Overview keeps only shared columns, these mean different things
per row type:

| Overview column | Bilibili video | Bilibili comment | Bilibili uploader | Bilibili manga |
|-----------------|----------------|------------------|-------------------|----------------|
| **Bilibili result** | title | comment text | uploader name | manga title |
| **Uploader** | uploader | comment author | uploader name | authors |
| **Views / likes / followers** | views | likes | followers | fans |
| **Bilibili ID** | BV id | comment id | mid | comic id |

#### Getting Bilibili data out by API

Omitting `?view=` returns **all** fields of every row. Adding a view filters
the response to that view's columns:

```
https://api.apify.com/v2/datasets/<datasetId>/items                    ← all fields
https://api.apify.com/v2/datasets/<datasetId>/items?view=downloads     ← download URLs
https://api.apify.com/v2/datasets/<datasetId>/items?view=comments      ← Bilibili comments
https://api.apify.com/v2/datasets/<datasetId>/items?view=danmaku       ← Bilibili danmaku
https://api.apify.com/v2/datasets/<datasetId>/items?view=manga         ← Bilibili manga
https://api.apify.com/v2/datasets/<datasetId>/items?view=heatmap       ← Bilibili heatmap
```

***

### Bilibili links this scraper accepts

| Format | Example |
|--------|---------|
| Full Bilibili video link | `https://www.bilibili.com/video/BV1xx411c7mD` |
| Bilibili short link | `https://b23.tv/aBcDeF` |
| Bare BV id | `BV1xx411c7mD` |
| Legacy av number | `av170001` or `170001` |
| Bilibili uploader page | `https://space.bilibili.com/546195` |
| Bare uploader id (mid) | `546195` |

BV ids are **case-sensitive** — `BV1xx411c7mD` is not the same as
`bv1xx411c7md`.

***

### One form, every mode

The Apify input form has no way to hide fields that do not apply to the mode
you picked, so **every mode's fields are visible at once**. Only the fields
belonging to the selected mode are read.

Each section header names the mode that owns it, and the run **warns you
before it scrapes** if you filled in a field the selected mode ignores:

```
Mode is 'manga', so these inputs are IGNORED by this run: videoUrls
  • "videoUrls" is used by the ⬇️ Download Bilibili videos mode.
If that is not what you wanted, change "What do you want to do?" at the top
of the input form and run again.
```

***

### Pricing

Pay per result. You are charged only for Bilibili data actually delivered.

**$0.01 per result** — Bilibili video download, uploader profile, video info,
preview thumbnails, campaign.

**$0.001 per result** — Bilibili comment, danmaku, video in a list (search,
ranking, popular, related), manga title, game, promo, heatmap point, video
part, channel.

A Bilibili video that is deleted, members-only or region-locked still appears
in your dataset with an `error` field explaining why — and **costs nothing**.
A run of 50 Bilibili links where 3 fail bills for 47.

***

### Frequently asked questions

**Can I download Bilibili videos without an account?**
Yes. No Bilibili login, cookie or token is needed. Quality is capped at 480P
without an account — that is Bilibili's limit, not this scraper's.

**Why is my downloaded Bilibili video silent?**
Bilibili stores video and audio separately. Download `audio_url` too and join
them with the `ffmpeg_command` on the row.

**Why does my Bilibili download URL return 403?**
The CDN requires a browser `User-Agent` and a bilibili `Referer`. Use the
`curl_video_command` on the row, which includes both.

**Why did my Bilibili download URL stop working?**
Bilibili URLs expire in roughly two hours. Re-run to get fresh ones.

**Can this scrape Bilibili manga?**
Yes — the Bilibili manga scraper mode reads the hot, fans and recommend
boards with authors, genres, episode counts, fan counts and scores.

**Can this download Bilibili anime, films or paid series?**
No. Bilibili PGC content (番剧, 电影, 电视剧) is behind a paid account and is
not accessible anonymously.

**Can I get Bilibili live danmaku?**
No. Live danmaku travels over a websocket. The Danmaku mode returns the
historical snapshot Bilibili stores per video.

**Does the Bilibili search scraper work with Chinese keywords?**
Yes. Bilibili search handles both Chinese and English terms.

**How do I scrape a specific part of a multi-part Bilibili video?**
Run the Bilibili video parts mode to list every 分P and its `cid`.

***

### Legal

This Bilibili scraper collects only publicly available Bilibili data — nothing
behind a Bilibili login. You are responsible for how you use what you collect,
including complying with Bilibili's terms and any copyright in the videos you
download. Downloaded Bilibili videos remain the property of their creators.

# Actor input Schema

## `mode` (type: `string`):

Pick the Bilibili task to run. **Download videos** is the default and the most used: paste Bilibili links and get direct video download URLs back. Every mode's fields are shown below — the run warns you if you fill in a field the selected mode ignores.

## `videoUrls` (type: `array`):

Bilibili videos to download. Paste anything Bilibili gives you — full links (`https://www.bilibili.com/video/BV1xx411c7mD`), `b23.tv` short links, a bare BV id, or an old `av` number. Each link becomes one row in the output.

## `quality` (type: `string`):

Target quality. The best stream at or below this is picked, so a lower value really does give a smaller file. ⚠️ Without a logged-in Bilibili account the API caps downloads at **480P** no matter what you ask for — the row's `quality_capped` field says so when that happens, and you still get the file.

## `codec` (type: `string`):

`avc` (H.264) plays everywhere and is the safe choice. `hevc` (H.265) and `av1` produce smaller files but need a newer player. If the video has no track in the codec you pick, the best available one is used instead rather than returning nothing.

## `audioTrack` (type: `string`):

Bilibili serves video and audio as **separate files** (DASH). `best` returns the highest-bitrate audio track alongside the video. Pick `none` if you only want the silent video file.

## `includeRawData` (type: `boolean`):

Adds a `raw` field with the full untouched Bilibili payload. Leave off unless you need a Bilibili field this actor does not already map — it makes each row much larger.

## `videoUrl` (type: `string`):

The Bilibili video whose comments, danmaku, related videos, heatmap or preview thumbnails you want. Accepts a full Bilibili link, a `b23.tv` short link, a BV id or an av number. Example: `https://www.bilibili.com/video/BV1xx411c7mD`

## `maxComments` (type: `integer`):

How many top-level Bilibili comments to fetch. Bilibili serves these in pages of 20 and the actor keeps paging until it reaches this number or Bilibili runs out.

## `includeReplies` (type: `boolean`):

Fetches the reply thread under every Bilibili comment that has one. Each reply that comes back is billed as one Bilibili comment.

## `maxRepliesPerComment` (type: `integer`):

Cap on replies fetched per Bilibili comment. Only applies when replies are enabled.

## `maxDanmaku` (type: `integer`):

How many danmaku (弹幕) to return from the video, ordered by their position in the video. This is the historical snapshot Bilibili stores — live danmaku travels over a websocket and cannot be scraped.

## `maxRelated` (type: `integer`):

How many Bilibili videos recommended alongside the target video to return.

## `uploaderUrls` (type: `array`):

Bilibili uploaders (UP主) to scrape. Paste the space link (`https://space.bilibili.com/546195`) or the bare numeric uploader id (mid).

## `maxUploaderVideos` (type: `integer`):

How many of the uploader's recent Bilibili videos to include alongside their profile. Leave at 0 for profile stats only.

## `keyword` (type: `string`):

What to search Bilibili for. Works with Chinese and English terms. Example: `原神` or `minecraft`.

## `maxSearchResults` (type: `integer`):

How many Bilibili search results to return. Bilibili pages these 20 at a time.

## `maxPopular` (type: `integer`):

How many videos to pull from Bilibili's overall popular feed (综合热门).

## `rankingPartition` (type: `integer`):

Which Bilibili partition's ranking board to read. `0` is the site-wide board. Run the 🧭 Bilibili channel list mode to get every partition's `tid`. Note that 番剧 / 影视 partitions are PGC and have no ranking board.

## `maxRanking` (type: `integer`):

How many entries to return from the Bilibili ranking board.

## `mangaBlock` (type: `string`):

Which Bilibili Manga (漫画) board to read. Bilibili Manga is a separate service from the video site — its `comic_id` opens the manga reader and does not work as a video id.

## `maxManga` (type: `integer`):

How many Bilibili manga titles to return from the selected board.

## `promoSlots` (type: `string`):

Comma-separated Bilibili homepage slot ids. `3449` is the homepage carousel, `4694` the homepage promo row, `142` the player overlay. Video promos come back with a BV id in `target` that you can feed straight into the Download mode.

## `activityId` (type: `string`):

The Bilibili campaign / 征稿企划 id to look up. Bilibili cannot find a campaign from a video link alone, so this id is required — it appears as `mission_id` on a video's detail data, or in the campaign page URL. Optionally also fill in the Bilibili video link above to tie the campaign to a video.

## `crawlerUrl` (type: `string`):

Base URL of the Bilibili crawler backend, e.g. `https://ping.example.com`. Falls back to the `CRAWLER_URL` environment variable.

## `crawlerApiKey` (type: `string`):

API key for the Bilibili crawler backend. Falls back to the `CRAWLER_API_KEY` environment variable.

## Actor input object example

```json
{
  "mode": "download",
  "videoUrls": [
    "https://www.bilibili.com/video/BV1xx411c7mD"
  ],
  "quality": "80",
  "codec": "any",
  "audioTrack": "best",
  "includeRawData": false,
  "maxComments": 50,
  "includeReplies": false,
  "maxRepliesPerComment": 10,
  "maxDanmaku": 500,
  "maxRelated": 20,
  "maxUploaderVideos": 0,
  "maxSearchResults": 20,
  "maxPopular": 20,
  "rankingPartition": 0,
  "maxRanking": 50,
  "mangaBlock": "hot",
  "maxManga": 50,
  "promoSlots": "3449,4694"
}
```

# Actor output Schema

## `results` (type: `string`):

Every row from this run, whatever mode produced it: Bilibili downloads, videos, comments, danmaku, uploaders or channels. Rows carrying an `error` field are Bilibili items that could not be fetched — they are recorded so you can see which input failed, and they are never charged. Start here if you are not sure which mode the run used.

## `all` (type: `string`):

Every field this actor can produce for every Bilibili record type, in one wide table. Most columns are blank on any given row — a Bilibili comment has no download URL — so use this when you need a field the per-type views omit.

## `downloads` (type: `string`):

Downloadable Bilibili videos. Bilibili serves DASH, so `video_url` and `audio_url` are separate files — the `ffmpeg_command` on each row joins them into one MP4. Downloading a stream needs both the `required_user_agent` and `required_referer` headers, and the URLs expire in about two hours.

## `videos` (type: `string`):

Bilibili video metadata with uploader, partition, tags and full engagement stats (views, likes, coins, favourites, danmaku). Produced by the Video info, Search, Popular, Ranking and Related modes.

## `comments` (type: `string`):

Bilibili comments and replies with likes, reply counts, author level and the coarse IP region Bilibili shows publicly. Produced by the Comments mode.

## `danmaku` (type: `string`):

The scrolling comments overlaid on a Bilibili video, each with the second of the video it appears at, its style and colour. Produced by the Danmaku mode.

## `uploaders` (type: `string`):

Bilibili uploader profiles with follower counts, total views, total likes, verification status and level. Produced by the Uploader mode.

## `channels` (type: `string`):

Bilibili's channel / partition list with the `tid` each one uses. Feed a `tid` into the Ranking mode to read that partition's board. Produced by the Channels mode.

## `manga` (type: `string`):

Bilibili Manga titles with authors, genres, episode counts, fan counts, scores and synopses. Produced by the Manga mode. Bilibili Manga is a separate service from the video site, so a comic\_id opens the manga reader rather than a video.

## `games` (type: `string`):

Entries from Bilibili's games navigation, with the biligame id where one exists. Produced by the Games mode.

## `promos` (type: `string`):

What Bilibili is promoting on its homepage right now. The `target` field carries a BV id, live room id or bangumi ep id that feeds straight into another mode. Produced by the Promos mode.

## `heatmap` (type: `string`):

A Bilibili video's replay heatmap as one row per time bucket, ready to plot — showing which seconds viewers rewatch most, with the peak moment flagged. Produced by the Heatmap mode.

## `thumbnails` (type: `string`):

Seek-bar preview sprite sheets for a Bilibili video, with the grid and tile sizes needed to crop individual thumbnails out of them. Produced by the Preview thumbnails mode.

## `parts` (type: `string`):

The parts of a multi-part Bilibili video. Each row's `cid` addresses that specific part in the Download, Danmaku and Heatmap modes. Produced by the Video parts mode.

## `campaigns` (type: `string`):

Bilibili submission-drive campaigns with their run dates and cover. Produced by the Campaign mode.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "download",
    "videoUrls": [
        "https://www.bilibili.com/video/BV1xx411c7mD"
    ],
    "maxComments": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecommerce_leads/bilibili-full-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "download",
    "videoUrls": ["https://www.bilibili.com/video/BV1xx411c7mD"],
    "maxComments": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("ecommerce_leads/bilibili-full-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "download",
  "videoUrls": [
    "https://www.bilibili.com/video/BV1xx411c7mD"
  ],
  "maxComments": 50
}' |
apify call ecommerce_leads/bilibili-full-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecommerce_leads/bilibili-full-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/EVqOF7yXDR8F3FqIg/builds/VVnfuJvNpRusCnkXf/openapi.json
