TikTok Trending API: trending feed and hashtag search as JSON

Read the TikTok trending feed and the videos behind any hashtag through REST calls. Each response is JSON with play, like and share counts, so you can find viral videos and rising hashtags from a script or a scheduled job.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/tiktok/search_hashtagSearch by Hashtag1$0.0017
/v1/tiktok/get_trending_feedTrending Feed1$0.0017

Endpoint details

/v1/tiktok/search_hashtag

Search by Hashtag 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
hashtagstringyesHashtag to search for (without #)
regionstringnoRegion the proxy will be set to. Note: this isn't going to grab you all tiktoks from this region, you're just setting the proxy there.
trimbooleannoSet to true to get a trimmed response
next_cursornumbernoCursor to get more videos. Get 'cursor' from previous response.

Sample response (trimmed):

{
 "videos": [
  {
   "video_id": "7277923990184742177",
   "desc": "best boys #friends #joeytribbiani #chandlerbing #joeyandchandler #sitcom #mecore #uscore #bromance #matthewperry #mattleblanc ",
   "desc_language": "en",
   "region": "DE",
   "statistics": {
    "video_id": "7277923990184742177",
    "collect_count": 385471,
    "comment_count": 94635,
    "like_count": 2840077,
    "download_count": 1318,
    "forward_count": 0,
    "lose_comment_count": 0,
    "lose_count": 0,
    "view_count": 12711728,
    "repost_count": 0,
    "share_count": 614428,
    "whatsapp_share_count": 19390
   },
   "video": {
    "cover_tsp": 7.68255116568915,
    "ai_dynamic_cover": {
     "uri": "tos-useast2a-p-0037-euttp/5a4c497ba73c4d3f90203a4debd33196_1694523739",
     "url_list": [
      "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-p-0037-euttp/5a4c497ba73c4d3f90203a4debd33196_1694523739~tplv-tiktokx-origin.image?dr=9229&refresh_token..."
     ],
     "url_prefix": null
    },
    "ai_dynamic_cover_bak": {
     "uri": "tos-useast2a-p-0037-euttp/5a4c497ba73c4d3f90203a4debd33196_1694523739",
     "url_list": [
      "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-p-0037-euttp/5a4c497ba73c4d3f90203a4debd33196_1694523739~tplv-tiktokx-origin.image?dr=9229&refresh_token..."
     ],
     "url_prefix": null
    },
    "animated_cover": {
     "uri": "tos-useast2a-p-0037-euttp/5a4

/v1/tiktok/get_trending_feed

Trending Feed 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
regionstringyesWhere you want the proxy to be. This doesn't mean that you will only see TikToks from this region, you will just see the content that isn't banned in that regio
trimbooleannoSet to true to get a trimmed response.

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/tiktok/search_hashtag"

Example: Python

import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/tiktok/search_hashtag",
    headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())

FAQ

Is this a replacement for an Apify TikTok hashtag scraper?

It does the same job with a REST call and JSON response. You pay per successful call instead of per actor run.

How often can I check trends?

As often as your credits allow. Each call is billed separately, so a daily or hourly job costs what the cost table shows times the number of calls.

Does it return trending songs?

The trending feed returns videos with their music info, so you can count which sounds appear most. Check the sample response for the fields.

How do I pay and get my API key?

Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.

How many credits does one call use?

The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.

Get an API key and credits

Full reference: all tiktok endpoints.