TikTok Search Hashtag API reference
Your first 10 calls are free, no card needed. Pricing and FAQ
Get a free API keycurl "https://api.insightsocial.app/v1/tiktok/search/hashtag?hashtag=fyp" \ -H "x-api-key: $INSIGHTSOCIAL_API_KEY"
Returns TikTok videos posted under a given hashtag, each with caption, view, like, comment and share counts, author details, and a thumbnail.
Use it to track one tag such as a campaign or challenge; use search when you want a free text keyword rather than a tag.
10 credits per call.
Paginates by cursor: see Pagination.
Authorization
apiKey Your key from the dashboard. It starts with isk_.
In: header
Query Parameters
Hashtag to search for without the # symbol
Region 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.
Cursor to get more videos. Get 'cursor' from previous response.
Accepted for compatibility; the response is already the canonical shape, so this flag has no effect.
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"
Keep only rows with at least this many views (post.engagement.views). A row whose view count is unknown is discarded, so every returned row meets the floor.
0 <= valueKeep only rows published within this many days (post.published_at), 1 to 3650. A row with no date is discarded.
1 <= value <= 3650views: return the kept rows ordered by view count, highest first, across every page walked. Rows without a view count go last.
Value in
- "views"
1 to 5 (default 1). Walk up to this many pages in one call and return the rows from all of them (after any filter). Each page walked is billed as one call to this endpoint; the whole walk counts once against your rate limit.
1 <= value <= 5Response 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/search/hashtag?hashtag=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 } }}Profile GET
Returns a TikTok account's public profile: display name, bio, follower count on author.followers (or the rounded figure with followers_approximate), likes, verification, and user id.
Search › Music GET
Returns TikTok sounds matching a keyword, each with title, artist, duration, cover art, a preview audio URL, and how many videos use it.