SocialToAIStart freeConsole
POST/v1/detail"platform": "bilibili"

Bilibili Detail API

One video by ID or link.

Get any public Bilibili video by ID or link and get back text, author, likes, comment count, views and publish time, as JSON over HTTP or from your AI client over MCP. A call to the Bilibili Detail API costs 2 credits ($0.004 to $0.0067 depending on the pack), failed calls are free, and the response has the same format as every other call. Last tested 2026-11-05.

100 credits on sign-up, no card needed
2 creditsper call, ≈ $0.004–$0.0067
One objectreturned per call
2026-11-05last tested
1001 Bsample response, 1 item

Last updated:

What you get from the Bilibili Detail API.
From a recorded answer.

A recorded call returned the object below, field by field. Names and text are removed from the sample; the numbers are as recorded.

Lighter for your AI: the same recorded data (1 item) is about 73,357 tokens as the platform's raw JSON and about 446 as this interface returns it, 99% fewer (measured 2026-11-06). How it was measured

FieldIn the recorded answer
urlremoved from the sample
formatvideo
titleremoved from the sample
textremoved from the sample
published_at2026-10-09T09:00:00.000Z
author.idremoved from the sample
author.usernamenull: Bilibili cannot give it
author.nameremoved from the sample
author.verifiedtrue
author.followers18,634,892
metrics.likes140,338
metrics.comments2,707
metrics.shares4,696
metrics.collects20,492
metrics.views2,166,787
metrics.repostsnull: Bilibili cannot give it
imagesnull: Bilibili cannot give it
hashtagsnull: Bilibili cannot give it
is_pinnednull: Bilibili cannot give it

2 credits a call (≈ $0.004–$0.0067): about 1,500 calls for $10.

Easier with a ready-made tool: Bulk link data. One row per link with its numbers as they are now. Links that no longer work are marked.

Bilibili Detail API: request and response

curl https://api.socialtoai.com/v1/detail \  -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Content-Type: application/json" \  -d '{    "platform": "bilibili",    "id": "BV1ECeJ65EZS"  }'
import osimport uuidimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/detail",    headers={        "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}",        # A new key for each request; the same one again retries it without paying twice.        "Idempotency-Key": str(uuid.uuid4()),    },    json={        "platform": "bilibili",        "id": "BV1ECeJ65EZS",    },)print(response.json())
# Connected over MCP? Ask in plain words.Read this Bilibili video: BV1ECeJ65EZS# Your AI calls the detail tool with:{  "platform": "bilibili",  "id": "BV1ECeJ65EZS"}
Sign in to run2 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK1001 B2 credits
{  "platform": "bilibili",  "status": "ok",  "items": [    {      "platform": "bilibili",      "id": "…",      "ref": "…",      "approx": [],      "type": "content",      "url": "https://example.com/…",      "format": "video",      "title": "…",      "text": "…",      "published_at": "2026-10-09T09:00:00.000Z",      "author": {        "id": "…",        "username": null,        "name": "…",        "verified": true,        "followers": 18634892      },      "metrics": {        "likes": 140338,        "comments": 2707,        "shares": 4696,        "collects": 20492,        "views": 2166787,        "reposts": null      },      "images": null,      "hashtags": null,      "is_pinned": null    }  ],  "unavailable": ["author.username", "metrics.reposts", "images", "hashtags", "is_pinned"],  "cost_credits": 2}
@…·18,634,892 followers·
likes 140,338comments 2,707shares 4,696collects 20,492views 2,166,787

Names and text were removed from the sample; the numbers are as recorded.

Sample dataFull response

Bilibili Detail API parameters.
3 parameters, 1 required.

Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.

NameTypeRequiredDefaultDescription
platformstringRequired—Always "bilibili" on this page.
idstringOne of these—The video's BV number: 12 characters starting with BV1
urlstringOne of these—Link to the video, pasted as it is: the www.bilibili.com/video/BV… page, the phone site's m.bilibili.com/video/BV…, or the b23.tv short link the app copies. A short link is opened once to see which video it leads to

Where to get what you send.

id

The video's BV number: 12 characters starting with BV1 (e.g. BV1ECeJ65EZS)

Every item these return carries its ref; send it as it is:

Or send the web link: the url field of the same items.

Bilibili Detail API response fields.
What Bilibili cannot give is marked.

FieldTypeMeaning
items[].urlstringA link that opens the item.
items[].formatstringvideo, image, text or article.
items[].titlestringThe title.
items[].textstringThe body text or caption.
items[].published_atstringWhen it was published, ISO 8601 in UTC.
items[].author.idstringThe author's account ID.
items[].author.usernamestringalways nullThe author's handle.
items[].author.namestringThe author's display name.
items[].author.verifiedbooleanWhether the author is verified.
items[].author.followersintegerThe author's follower count.
items[].metrics.likesintegerLikes.
items[].metrics.commentsintegerComments.
items[].metrics.sharesintegerShares.
items[].metrics.collectsintegerSaves.
items[].metrics.viewsintegerViews or plays.
items[].metrics.repostsintegeralways nullReposts.
items[].imagesstring[]always nullImage addresses.
items[].hashtagsstring[]always nullHashtags, without the #.
items[].is_pinnedbooleanalways nullWhether the author pinned it.
nullFields Bilibili cannot give

Read null as “Bilibili did not give this”, not as zero. These are always null on this call:

  • author.usernameThe author's handle.
  • metrics.repostsReposts.
  • imagesImage addresses.
  • hashtagsHashtags, without the #.
  • is_pinnedWhether the author pinned it.

Compared with the Douyin Detail API, this call also gives author followers and views but does not give images or hashtags.

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format

Bilibili Detail API: paging and billing.

One call returns one object, with no pages, for 2 credits.

5 calls per second per key, 20 after a purchase; going over is not charged. Rate limits

A failed call costs 0 credits and is never retried on its own. Error codes

“Last tested” above is the last day a real call of this interface succeeded. Each call reads from the platform, and fetched_at in the answer is when it was read. The same request sent again with the same key within 5 minutes is a replay (replayed: true): 0 credits, and the answer as first read.

Once connected over MCP, these questions use the Bilibili Detail API.

  1. Read this Bilibili video: BV1ECeJ65EZS
    detail {"platform":"bilibili","id":"BV1ECeJ65EZS"}
    2 credits
  2. Search Bilibili for videos about "机械键盘", then for the first 3: read this Bilibili video.
    search {"platform":"bilibili","query":"机械键盘"}detail {"platform":"bilibili","id":"<ref>"} × 3
    8 credits

Give this to your AI.
Copy it into Claude or ChatGPT.

How to connect
Prompt
Use the SocialToAI MCP server (https://mcp.socialtoai.com/mcp) for this: Read this Bilibili video: BV1ECeJ65EZSCall the detail tool with {"platform":"bilibili","id":"BV1ECeJ65EZS"}. Needed: id, url.For several, call it once for each: 2 credits each.Before you start, work out how many credits it will take in all and ask me; call it only after I agree.What usually comes next, with the ref or username it returns: comments (Comments).If SocialToAI is not connected yet, tell me how to connect it; never ask me to paste a key into the chat.Answer with a link to every item you used, and tell me how many credits it cost.

Paste it into a chat once SocialToAI is connected over MCP. There is no key in it: Claude and ChatGPT sign in, other clients send a key in a header.

These ready-made tools call it when they run.

batch-stats
Bulk link data

One row per link with its numbers as they are now. Links that no longer work are marked

Work scenarios that use it.

china-market-research
Chinese market research

Your AI reads what Chinese consumers post on Xiaohongshu, Douyin, Weibo and other Chinese platforms, and answers in your language, with the posts it read and their links.

The same call on other platforms.

All platforms and prices
Change one word in the request: platform. The response keeps the same shape.

Read next.

Bilibili official API: access, prices and limits

What its own API allows, who can use it and what it costs, with sources.

Bilibili MCP server

Let your AI read Bilibili.

Bilibili Detail API: questions.
Short answers.

All Bilibili data APIs
Do I need a Bilibili account or Bilibili's own API access?
No. You only need a SocialToAI key. The call returns content and account information publicly visible on Bilibili; you never sign in to Bilibili or apply for anything there.
What does one call cost in dollars?
2 credits: $0.0067 at 300 credits per dollar (purchases from $10), $0.004 at 500 per dollar (from $200). Credits never expire and there is no subscription. 100 free credits on sign-up, no card.
Am I charged when a call fails or finds nothing?
A failed call costs 0 credits and is never retried on its own.
How much does one call return?
One call returns one object, with no pages, for 2 credits.
Is there a rate limit?
5 calls a second per key, 20 a second after your first purchase. A request over the limit is told how long to wait and is not charged.
How do I use it from Claude, ChatGPT or Cursor?
Yes. In Claude or ChatGPT, add the MCP address https://mcp.socialtoai.com/mcp as a custom connector, sign in with the code we email you and press Allow; there is no key to paste. In Claude Code, run one command, type /mcp, pick socialtoai and sign in; Codex and Cursor sign in too, with their steps on the connect page. Then ask in plain words and your AI calls detail for you.
Start free · 100 credits

Your AI is one URL away
from all of social media.

100 credits on sign-up, no card needed