InsightSocial API
TikTok

TikTok Trending API reference

Your first 10 calls are free, no card needed. Pricing and FAQ

Get a free API key
Example request
curl "https://api.insightsocial.app/v1/tiktok/trending?region=US" \
  -H "x-api-key: $INSIGHTSOCIAL_API_KEY"
GET
/v1/tiktok/trending

Returns a page of popular TikTok videos with caption, view and like counts, author and thumbnail. Every row carries post.ext.region, the country the video is registered to.

Use it with feed=local for videos mostly from one country (57% measured). The default feed is largely worldwide whatever region you pass, so filter on post.ext.region.

50 credits per call.

x-api-key<token>

Your key from the dashboard. It starts with isk_.

In: header

Query Parameters

region*string

ISO 3166-1 alpha-2 country code (e.g., US, GB, DE). On the default feed it sets the country the request is routed through and does not filter videos; with feed=local it sets the country the For You feed is built for. Either way, check ext.region on each row for the country a video is actually from.

trim?boolean

Accepted for compatibility; it has no effect with feed=local.

feed?string

global (default): the web trending feed routed through region, mostly worldwide content, about 13 videos in 3 to 12 seconds.

Value in

  • "global"
  • "local"
since?string

Only rows published on or after this date: YYYY-MM-DD (midnight UTC) or an ISO 8601 timestamp. Rows older than it are left off each page. This list is not in date order, so the walk does not stop at the date: keep following next_cursor, and each page costs what a page costs even when every row on it is filtered out. A row with no date is kept.

until?string

Only rows published on or before this date: YYYY-MM-DD (that whole UTC day is included) or an ISO 8601 timestamp. Newer rows are left off each page and the walk does not stop, so older pages follow. A row with no date is kept.

dry_run?"1"

Set to 1 to get the price of this call without making it: data.dry_run carries credits_min and credits_max. Nothing is charged.

Value in

  • "1"

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.insightsocial.app/v1/tiktok/trending?region=string"
{  "success": true,  "platform": "string",  "endpoint": "string",  "schema_version": "2",  "pagination": {    "next_cursor": "string",    "has_more": true,    "page_size": 0,    "stopped_at": "since"  },  "unavailable": [    "string"  ],  "credits_used": 0,  "credits_remaining": 0,  "request_id": "string",  "cached": true,  "idempotent_replay": true,  "charge_reason": "string",  "free_call": true,  "data": {    "items": [      {        "post": {          "id": "string",          "url": "http://example.com",          "kind": "string",          "content": {            "text": "string",            "media_urls": [              "http://example.com"            ],            "thumbnail_url": "http://example.com",            "duration_seconds": 0          },          "author": {            "id": "string",            "username": "string",            "display_name": "string",            "avatar_url": "http://example.com",            "verified": true          },          "engagement": {            "views": 0,            "likes": 0,            "comments": 0,            "shares": 0,            "saves": 0          },          "flags": {            "nsfw": true,            "spoiler": true,            "pinned": true,            "deleted": true,            "likes_hidden": true,            "comments_hidden": true,            "shares_hidden": true,            "views_hidden": true,            "saves_hidden": true          },          "published_at": "2019-08-24T14:15:22Z",          "language": "string",          "ext": {            "property1": null,            "property2": null          }        }      }    ],    "total": 0,    "truncated": true,    "ext": {      "property1": null,      "property2": null    }  }}