Bilibili API

Retrieve video metadata, creator profiles, audience comments, bullet chats, and voice transcripts to analyze content engagement.

Look up creators via numeric identifiers and videos via sharing links, noting that automated transcripts differ from manual subtitles.

Platform availability

24h health
99%
Healthy

Last 30 days

Available capabilities

Each Bilibili action, what it does, its price and its health over the last 24 hours. Open an action for its parameters, response fields and code samples.

CapabilityWhat it doesPer 1,00024-hour health
SearchsearchSearch Bilibili for videos on a topic, with duration, views, likes, coins, favorites, danmaku and comment counts, uploader and publish time.$0.56 per 1,000 requestsNormal
ProfilesprofileLook up a Bilibili uploader by numeric ID for name, bio, level, follower and video counts, verification title and premium membership.$0.56 per 1,000 requestsNormal
Posts by useruser_postsList the videos an uploader has posted on Bilibili, each with link, title, duration, views and engagement counts.$0.56 per 1,000 requestsHealthy · health 100%
Video detailsvideoFetch one Bilibili video by its BV link for description, duration, publish date, uploader, category, tags and view, like, coin, favorite and share counts.$0.56 per 1,000 requestsNormal
CommentscommentsRead viewer comments under a Bilibili video, each with text, likes, reply count, commenter name and profile link, and post time.$0.56 per 1,000 requestsNormal
On-screen video commentsdanmakuPull the on-screen bullet comments (danmaku) from a Bilibili video, each with text, playback time, display mode, color and send time.$0.56 per 1,000 requestsNormal
SubtitlessubtitlesGet the subtitle text of a Bilibili video, with timed segments, a language code, the title, uploader and length in seconds.$0.56 per 1,000 requestsNormal

Open a capability for its parameters, response fields, code samples and trial.

What does each Bilibili action accept?

Each answer below pairs one callable action with its real inputs. Parameter meanings and allowed values are action-specific; a familiar name does not carry the same meaning across every platform.

Official sources are linked only to clarify the platform term beside them. They do not imply platform authorization or endorsement, and they do not add official-site features to the EveryInfra API contract.

ActionRequiredOptionalDeliveryLimitPer 1,000Response fields
search

Search

Search Bilibili for videos on a topic, with duration, views, likes, coins, favorites, danmaku and comment counts, uploader and publish time. Note that most_liked sorts by favorites rather than likes, and counts are a snapshot, not a history.

keywordsortSync deliveryCatalog values: defaultLimit=20, maxLimit=50. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestsid · url · title · text · duration_seconds · duration_sec · duration_text · view_count · like_count · comment_count · danmaku_count · favorite_count · coin_count · share_count · thumbnail_url · posted_at · category · author_name · author_id · author_url · platform · tags
profile

Profiles

Look up a Bilibili uploader by numeric ID for name, bio, level, follower and video counts, verification title and premium membership. Pass only the integer from the space.bilibili.com link in user_id; their videos come from user_posts.

user_id—Sync delivery—$0.56 per 1,000 requestsuser_id · name · url · bio · avatar_url · gender · level · follower_count · following_count · video_count · like_count · is_verified · verified_title · is_vip · vip_label · birthday · school · platform · recent_videos
user_posts

Posts by user

List the videos an uploader has posted on Bilibili, each with link, title, duration, views and engagement counts. Pass the numeric ID in user_id; one batch is not guaranteed to cover the creator's full archive.

user_id—Sync deliveryCatalog values: defaultLimit=20, maxLimit=50. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestsid · url · title · text · duration_seconds · duration_sec · duration_text · view_count · like_count · comment_count · danmaku_count · favorite_count · coin_count · share_count · thumbnail_url · posted_at · category · author_name · author_id · author_url · platform · tags
video

Video details

Fetch one Bilibili video by its BV link for description, duration, publish date, uploader, category, tags and view, like, coin, favorite and share counts. Comments and danmaku come from the separate comments and danmaku actions.

url—Sync delivery—$0.56 per 1,000 requestsid · url · title · text · duration_seconds · duration_sec · duration_text · view_count · like_count · comment_count · danmaku_count · favorite_count · coin_count · share_count · thumbnail_url · posted_at · category · author_name · author_id · author_url · platform · tags
comments

Comments

Read viewer comments under a Bilibili video, each with text, likes, reply count, commenter name and profile link, and post time. Replies are counted, but the full conversation tree is not rebuilt.

url—Sync deliveryCatalog values: defaultLimit=20, maxLimit=50. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$0.56 per 1,000 requestsid · text · like_count · reply_count · author_name · author_id · author_url · posted_at · video_id · platform
danmaku

On-screen video comments

Pull the on-screen bullet comments (danmaku) from a Bilibili video, each with text, playback time, display mode, color and send time. On multi-part videos the rows come from the first part, and they are separate from the comments below the video.

url—Sync delivery—$0.56 per 1,000 requestsid · text · video_id · video_time · video_time_seconds · mode · color · pool · sent_at · platform
subtitles

Subtitles

Get the subtitle text of a Bilibili video, with timed segments, a language code, the title, uploader and length in seconds. It covers what is said in the video, not viewer comments, and the language label can be wrong.

url—Sync delivery—$0.56 per 1,000 requestsvideo_id · title · author_name · duration_seconds · duration_sec · language · text · platform · segments

What do the Bilibili search parameters mean?

Search Bilibili for videos on a topic, with duration, views, likes, coins, favorites, danmaku and comment counts, uploader and publish time. Note that most_liked sorts by favorites rather than likes, and counts are a snapshot, not a history.

Full API reference: parameters, code samples, response example and health →
keywordRequired
Specifies video search terms for Bilibili based on titles or topics, rather than an exact uploader nickname search. Use user_id to query uploader profiles or user submissions.
sortOptional
Specifies the video sort order: relevance, newest for latest, most_viewed for view count, most_commented for comment relevance, and most_liked for favorites rather than likes. It applies to video search only and does not set the order of comments.
Allowed values:most_commentedmost_likedmost_viewednewestrelevance

What do the Bilibili profile parameters mean?

Look up a Bilibili uploader by numeric ID for name, bio, level, follower and video counts, verification title and premium membership. Pass only the integer from the space.bilibili.com link in user_id; their videos come from user_posts.

Full API reference: parameters, code samples, response example and health →
user_idRequired
Specifies a Bilibili uploader's numeric mid, extracted from https://space.bilibili.com/<mid>. Provide only the raw integer in user_id, without nicknames, BV IDs, or full space URLs.

What do the Bilibili user_posts parameters mean?

List the videos an uploader has posted on Bilibili, each with link, title, duration, views and engagement counts. Pass the numeric ID in user_id; one batch is not guaranteed to cover the creator's full archive.

Full API reference: parameters, code samples, response example and health →
user_idRequired
Specifies a Bilibili uploader's numeric mid, extracted from https://space.bilibili.com/<mid>. Provide only the raw integer in user_id, without nicknames, BV IDs, or full space URLs.

What do the Bilibili video parameters mean?

Fetch one Bilibili video by its BV link for description, duration, publish date, uploader, category, tags and view, like, coin, favorite and share counts. Comments and danmaku come from the separate comments and danmaku actions.

Full API reference: parameters, code samples, response example and health →
urlRequired
Specifies a full Bilibili video URL, formatted as https://www.bilibili.com/video/<BVID>. The url parameter fetches video comments on comments, first-part timed comments on danmaku, and audio transcription on subtitles, treating each as distinct text sources. The danmaku action must be able to extract a valid BV ID from the provided path.
Bilibili: Official Announcement on Upgrading AV Numbers to BV Identifiers — Bilibili's 2020 announcement defines BV identifiers as video submission IDs containing numbers and case-sensitive letters, distinguishing them from pure numeric AV numbers. This reference only explains video identifier types; this API accepts links per the format above and does not guarantee parsing for all legacy links or multi-part video segments. · Checked

What do the Bilibili comments parameters mean?

Read viewer comments under a Bilibili video, each with text, likes, reply count, commenter name and profile link, and post time. Replies are counted, but the full conversation tree is not rebuilt.

Full API reference: parameters, code samples, response example and health →
urlRequired
Specifies a full Bilibili video URL, formatted as https://www.bilibili.com/video/<BVID>. The url parameter fetches video comments on comments, first-part timed comments on danmaku, and audio transcription on subtitles, treating each as distinct text sources. The danmaku action must be able to extract a valid BV ID from the provided path.
Bilibili: Official Announcement on Upgrading AV Numbers to BV Identifiers — Bilibili's 2020 announcement defines BV identifiers as video submission IDs containing numbers and case-sensitive letters, distinguishing them from pure numeric AV numbers. This reference only explains video identifier types; this API accepts links per the format above and does not guarantee parsing for all legacy links or multi-part video segments. · Checked

What do the Bilibili danmaku parameters mean?

Pull the on-screen bullet comments (danmaku) from a Bilibili video, each with text, playback time, display mode, color and send time. On multi-part videos the rows come from the first part, and they are separate from the comments below the video.

Full API reference: parameters, code samples, response example and health →
urlRequired
Specifies a full Bilibili video URL, formatted as https://www.bilibili.com/video/<BVID>. The url parameter fetches video comments on comments, first-part timed comments on danmaku, and audio transcription on subtitles, treating each as distinct text sources. The danmaku action must be able to extract a valid BV ID from the provided path.
Bilibili: Official Announcement on Upgrading AV Numbers to BV Identifiers — Bilibili's 2020 announcement defines BV identifiers as video submission IDs containing numbers and case-sensitive letters, distinguishing them from pure numeric AV numbers. This reference only explains video identifier types; this API accepts links per the format above and does not guarantee parsing for all legacy links or multi-part video segments. · Checked

What do the Bilibili subtitles parameters mean?

Get the subtitle text of a Bilibili video, with timed segments, a language code, the title, uploader and length in seconds. It covers what is said in the video, not viewer comments, and the language label can be wrong.

Full API reference: parameters, code samples, response example and health →
urlRequired
Specifies a full Bilibili video URL, formatted as https://www.bilibili.com/video/<BVID>. The url parameter fetches video comments on comments, first-part timed comments on danmaku, and audio transcription on subtitles, treating each as distinct text sources. The danmaku action must be able to extract a valid BV ID from the provided path.
Bilibili: Official Announcement on Upgrading AV Numbers to BV Identifiers — Bilibili's 2020 announcement defines BV identifiers as video submission IDs containing numbers and case-sensitive letters, distinguishing them from pure numeric AV numbers. This reference only explains video identifier types; this API accepts links per the format above and does not guarantee parsing for all legacy links or multi-part video segments. · Checked

How to use the Bilibili API

  1. 01Read the public catalog and choose a platform action.
  2. 02Send the platform, action, and required parameters to POST /api/v1/social.
  3. 03Handle a synchronous result, or poll the returned job ID when the action runs asynchronously.
  4. 04Store the structured response fields needed by your application.
bilibili_search.sh
curl -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"bilibili","action":"search","params":{"keyword":"<keyword>"}}'

Bilibili guides

Worked examples and methods built on these actions. Check the current actions, parameters and fields on this page first; an article's examples and limits do not replace the live catalog.

Blog

How to structure creator data for pre-campaign due diligence: avoiding follower counts as audience proof

Creator data products should avoid generating black-box authenticity scores. This article discusses how public metrics, authorized analytics, content and brand alignment, disclosure requirements, small-scale testing, and post-campaign feedback form verifiable due diligence.

Read the article →
Build

Multiplatform Reputation Monitoring Blueprint: Define Scope Before Evaluating Negative Shifts

Design a traceable reputation monitoring workflow starting with target lists, comment identities, and incremental cursors; use offline samples to demonstrate deduplication and ingestion gaps while preserving manual review.

Read the article →
Build

Unified Data API Getting Started: From Capability Catalog to First Available Result

Access multi-platform data using platform, action, and params: read the capability catalog, complete minimal requests, handle asynchronous tasks, partial results, and billing, and establish traceable data records.

Read the article →

Bilibili API questions

What can I retrieve with the Bilibili API?

Set platform to bilibili. The current catalog lists search, profiles, posts by user, video details, comments, and more. These action names identify different Bilibili objects or views; they are not interchangeable search modes.

Does Bilibili have an official API?

Bilibili Open Platform serves creators and service partners: after identity verification, apps can publish and manage videos and articles for authorized accounts, read those accounts' data and connect to their live rooms. Its published API list has no endpoint for searching public videos or reading other users' comments or danmaku.

Official sources: Bilibili Open Platform · Bilibili Open Platform: API documentation · Checked

Do I need a Bilibili developer account or API key?

No. Requests go through EveryInfra with an EveryInfra API key: sign up, create a key in the console and send it as Authorization: Bearer <API_KEY>. You do not register a Bilibili developer app, apply for Bilibili API access or sign in with a Bilibili account, and the actions return public Bilibili data only.

How much does the Bilibili API cost per 1,000 requests?

$0.56 per 1,000 requests, depending on the action; each action's price is listed in the table on this page and in the public catalog. There is no subscription: you top up a USD balance and pay per call, and failed calls and empty results are not charged.

Which input starts a Bilibili `search` request?

Specifies video search terms for Bilibili based on titles or topics, rather than an exact uploader nickname search. Use user_id to query uploader profiles or user submissions. Send it as keyword inside params.

Which fields can Bilibili `search` return?

Its declared schema includes title, text, duration_seconds, and duration_sec. A declared field can still be absent from an individual record, and every other action has its own field list.

Does every Bilibili action return immediately?

Actions labeled asynchronous return a job ID you poll. Every other action can also run asynchronously: add "mode": "async" to the request body to receive a job ID immediately, useful for slow tasks or large limits. The current catalog contains sync delivery.