# Bilibili search API

search on Bilibili: 0.2 credits per successful call, with clear inputs, source data and billing.

Canonical: https://socialtoai.com/bilibili-search-api/

## One request

0.2 credits per successful or empty call. Failed calls cost 0.

Replace any PASTE_PUBLIC placeholder with a supported public identifier. This is a request template; it does not run automatically.

```
curl --request POST 'https://api.socialtoai.com/v1/search' \
  --header "X-API-Key: $SOCIALTOAI_API_KEY" \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: REPLACE_WITH_A_UNIQUE_REQUEST_ID' \
  --data '{"platform":"bilibili","query":"AI research","count":5}'
```

## Native support

Result shape: item. Pagination: returned opaque cursor.

sort: relevance, latest, most_collected.

time_range: 1d, 7d, 30d, all.

content_type: all, video.

type: content.

These values describe the reference card. Additional restrictions can apply to user discovery or a content subtype. Inspect applied_params and warnings instead of assuming an unsupported filter was honored.

## A schema-checked example

Illustrative result with one invented value and an example trial balance. It shows the response shape; it is not a live response or a production availability measurement.

```
{
  "request_id": "example_only_not_a_live_call",
  "schema_version": "v1",
  "fetched_at": "2026-09-05T00:00:00Z",
  "status": "ok",
  "applied_params": {},
  "warnings": [],
  "items": [
    {
      "kind": "item",
      "id": "EXAMPLE_ITEM_ID",
      "author": {
        "name": "example_author"
      },
      "published_at": "2026-09-01T08:30:00Z",
      "metrics": {
        "likes": 412,
        "comments": 96
      },
      "title": "Illustrative post title",
      "text": "Illustrative excerpt, not real content."
    }
  ],
  "platform": "bilibili",
  "billing": {
    "cost": 0.2,
    "balance": 1.8,
    "unit": "credits",
    "pricing": "standard"
  }
}
```

## Platform limitations

Search returns videos. Unsupported popularity sorts fall back to relevance; image and text filters fall back to video, with warnings.

Search reads up to 20 native records per call. The default count=20 can advance directly to the next native page; filtering non-video or duplicate records may return fewer items.

A smaller search count reads the remaining portion of the same source page on continuation. If upstream items or order change, continuation fails with upstream_error and is not charged. Snapshot stability is not guaranteed; the gateway does not automatically retry or increase your count.

Use a BV ID, a standard video URL or a b23.tv share link for items. Use a numeric UID or a space.bilibili.com profile URL for accounts.

Pass returned opaque cursors unchanged for comment pages and reply branches.

[All Bilibili actions →](https://socialtoai.com/platforms/bilibili/)
