Search sounds

search · $0.0040

The Sounds tab.

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

Body

keyword string
What to search for.
cursor integer?
Where to start. This tab pages on cursor, not offset.
count integer?
Page size. Defaults to 20.
search_id string?
Required from the second page on: the first page’s x-tt-logid.

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/music \
  -H "authorization: Bearer $SORINA_KEY" \
  -H 'content-type: application/json' \
  -d '{"keyword":"nasa","cursor":0,"count":10}'

What comes back

JSON, around 313 KB. Two parallel containers hold the same tracks: music is the flat list — id_str, title, author, album, covers, play_url, duration, user_count — and music_info_list is the card view, the same tracks plus example videos using them under aweme_list.

Take music unless you want the example videos. total is here and nowhere else — this is the only vertical that reports a match count.

play_url entries carry an x-expires stamp and stop working once it passes. Fetch what you need; do not store the URL.

pages on cursor

Send the value the previous response returned, not one you counted. Page two and later must also carry the first page's x-tt-logid back as search_id, or the call is refused with 400 search_id_required. Pagination has the rest.