One key. Every platform we cover.

Plain HTTP, JSON in and out, and a bill that only counts the calls that worked. TikTok is live today, and whatever we add next arrives on the same key and the same terms.

Every request
POST /v1/{platform}/{endpoint}
content-type: application/json
authorization: Bearer sor_live_…

One key across every platform. Issued once, shown once, reissued if you lose it — never recovered.

Every answer
200  the upstream body, unchanged
x-sorina-shape: upstream
x-tt-logid: …

We do not reshape what you came for. What the platform returns is what you get.

When it does not
401 unauthenticated
402 insufficient_funds
429 daily_limit_reached

Named codes, not prose. A 429 tells you when to come back.

Everything you can ask for

tiktok next platform
18 endpoints
lookup

One record by id.

/users/comments/comments/replies/music/music/videos/playlists/videos/detail/feed/feed/from
batch

Several ids in one call.

/videos/links/shorten
search

Keyword search, paginated for you.

/search/search/videos/search/users/search/music/search/places/search/photos/search/live

How much you can ask for

free
200
a day · 2 rps
no balance needed
starter
5,000
a day · 5 rps
pro
50,000
a day · 20 rps
scale
250,000
a day · 60 rps

200 only. A request we serve badly is recorded in your usage at $0.00 and charged nothing — it still counts against the day's allowance, and it never touches your balance.

Three prices, and they are not about TikTok

full pricing →

A class describes the shape of the request, not the platform behind it — so the price list you learn now is the one you keep.

lookup  $0.0010
batch  $0.0020
search  $0.0040