Search — all results

search · $0.0040

The All tab: a mixed page of videos, users, sounds and places.

POST https://api.sorina.sh/v1/tiktok/search

Body

keyword string
What to search for.
offset integer?
Must be 0. This tab starts a search rather than continuing one, and any other value is refused with 400 offset_unsupported. Narrow to a vertical to go deeper.
count integer?
Page size. Defaults to 20, and is closer to a hint than a page size here.

A type written with ? is optional. Unknown fields are rejected rather than ignored, and the whole body is capped at 64 KiB.

Example

curl -X POST https://api.sorina.sh/v1/tiktok/search \
  -H "authorization: Bearer $SORINA_KEY" \
  -H 'content-type: application/json' \
  -d '{"keyword":"nasa","offset":0,"count":10}'

What comes back

A JSON array, which is the one place the API does not hand back a single upstream document. This tab answers in frames rather than as one body; we decode the framing and give you the frames in arrival order, unmerged and otherwise untouched.

Read every frame that has a data array and concatenate them. data holds result cards — mixed kinds, each with a type and a named payload such as aweme_info or card_profile.

Frames without a data array are layout hints the app uses to draw a skeleton before the results arrive, and later ones are patches against what it already drew. They carry no results. Do not branch on result_status: the same query has come back as one payload frame and as two, with different values.

cursor on this route tracks the count you asked for, not the number of cards returned, so it is not a page pointer.