Discover/Bilibili API
live

Bilibili APIt.bilibili.com

Discover what's trending on Bilibili by accessing real-time popular searches, viral videos, and video rankings all in one place. Stay ahead of trends on China's biggest video platform with up-to-date insights into what millions of users are watching and searching for.

Endpoint health
monitored
get_popular_videos
get_ranking
get_trending_searches
Checks pendingself-healing
Endpoints
3
Updated
2h ago
Try it
Maximum number of trending keywords to return.
api.parse.bot/scraper/4ef30c47-7997-40e7-9ff5-4eef68ec61ac/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/4ef30c47-7997-40e7-9ff5-4eef68ec61ac/get_trending_searches?limit=10' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace t-bilibili-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: Bilibili Trends API — trending searches, popular videos, rankings."""
from parse_apis.t_bilibili_com_api import Bilibili, CategoryId, CategoryNotFound

client = Bilibili()

# Get current trending/hot search keywords
for keyword in client.trending_searches.get(limit=5):
    print(keyword.show_name, keyword.heat_score)

# Browse popular videos (auto-paginated)
video = client.populars.list(limit=1).first()
if video:
    print(video.title, video.stat.view, video.owner.name)

# Get ranking for a specific category using typed enum
try:
    for v in client.rankings.get(category_id=CategoryId.GAMING, limit=3):
        print(v.title, v.bvid, v.stat.like)
except CategoryNotFound as exc:
    print(f"Category error: {exc}")

print("exercised: trending_searches.get / populars.list / rankings.get")
All endpoints · 3 totalmissing one? ·

Retrieves the current hot/trending search keywords on Bilibili. Each keyword includes a display name, optional icon, and a heat score indicating relative popularity. Results are ordered by popularity descending.

Input
ParamTypeDescription
limitintegerMaximum number of trending keywords to return.
Response
{
  "type": "object",
  "fields": {
    "items": "array of trending keyword objects with keyword, show_name, icon, heat_score",
    "title": "string"
  },
  "sample": {
    "data": {
      "items": [
        {
          "icon": "http://i0.hdslb.com/bfs/activity-plat/static/20221118/eaf2dd702d7cc14d8d9511190245d057/UF7B1wVKT2.png",
          "keyword": "王冰冰解读世界杯",
          "show_name": "王冰冰解读世界杯",
          "heat_score": 12234418
        }
      ],
      "title": "bilibili热搜"
    },
    "status": "success"
  }
}

About the Bilibili API

The Bilibili API on Parse exposes 3 endpoints for the publicly available data on t.bilibili.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.