TikTok Post search API
One GET request returns post search from TikTok as JSON. $0.004 per call, no account and no OAuth — pay with x402 or spend a prepaid balance with one API key.
$0.004 per callGET · JSON envelopeUSDC · gas sponsored
pay from any of:BasePolygonArbitrumMonadSolana
endpoint
GET /api/post/search/api/post/searchfill required: keyword
opens the payment page in a new tab · $0.004 per call
Parameters
| name | in | req | values |
|---|---|---|---|
| keyword | query | required | — |
| cursor | query | optional | — |
| region | query | optional | — |
| sortType | query | optional | RELEVANCE · MOST_LIKED · DATE_POSTED |
| dateRange | query | optional | ALL_TIME · YESTERDAY · THIS_WEEK · THIS_MONTH · LAST_THREE_MONTHS · LAST_SIX_MONTHS |
Pay per call (x402)
Call it with no payment and the server answers 402 with machine-readable requirements on Base, Polygon, Arbitrum, Monad or Solana. Sign, retry, done — libraries like @x402/fetch do the loop for you.
curl — the payment challenge
# call without payment to inspect the 402 challenge
curl -i 'https://tiktok.fetcher.sh/api/post/search?keyword=...'
# HTTP/1.1 402 Payment Required
# payment-required: <base64 payment requirements>Prepaid credits
Top up once and every call is a plain HTTP request against your balance — no signing, no chain round trip. Generate a key.
curl — with your API key
curl -H 'Authorization: Bearer bby_live_...' \
'https://tiktok.fetcher.sh/api/post/search?keyword=...'Response
Every endpoint returns the same envelope, and the HTTP status mirrors the status field. The upstream payload arrives untouched in data.
200 OK
{
"status": 200,
"message": "ok",
"data": { }
}All TikTok endpoints: TikTok · machine contract: openapi.json