InsightSocial API
How-to

Find TikTok creators similar to one you know

Get about 30 TikTok accounts similar to a seed creator, with bio, verified badge and follower, video and like counts. 50 credits per call.

To find TikTok creators similar to one you already know, call GET /v1/tiktok/similar with the seed creator's handle. It returns about 30 accounts, each with username, display name, avatar, bio, verified badge, and follower, following, video and like counts. It costs 50 credits per call. The list is fixed: there are no further pages, so to go wider you call it again on one of the results.

Cost

50 credits per call for about 30 accounts. Going one level wider, by calling it on each of those 30 accounts, costs 30 × 50 = 1,500 credits more. Asking for the same handle again within 6 hours is answered from the shared cache for 2 credits. Failed calls and empty results are free.

How do I find the handle?

The handle is the name after the @ in the profile URL: https://www.tiktok.com/@gordonramsayofficial has the handle gordonramsayofficial. Send it without the @.

Make the request

cURL
curl "https://api.insightsocial.app/v1/tiktok/similar?handle=gordonramsayofficial" \
  -H "x-api-key: $INSIGHTSOCIAL_API_KEY"

What comes back

A real response from 2026-10-14 for @gordonramsayofficial, shortened: two accounts instead of 30 and long URLs cut.

Response (shortened)
{
  "success": true,
  "endpoint": "/v1/tiktok/similar",
  "schema_version": "2",
  "data": {
    "items": [
      {
        "author": {
          "id": "14598641",
          "username": "tillyramsay",
          "display_name": "tillyramsay",
          "avatar_url": "https://p19-common-sign.tiktokcdn-us.com/…",
          "bio": "Official TikTok of Tilly Ramsay",
          "verified": true,
          "followers": 9816700,
          "followers_approximate": null,
          "following": 107,
          "posts_count": 84,
          "likes_count": 126856718,
          "url": "https://www.tiktok.com/@tillyramsay",
          "location": null,
          "external_url": null,
          "private": false,
          "joined_at": "2015-11-03T00:00:00.000Z",
          "last_post_at": null
        }
      },
      {
        "author": {
          "id": "6614519312189947909",
          "username": "mrbeast",
          "display_name": "MrBeast",
          "bio": "Checkout My New Book!👇",
          "verified": true,
          "followers": 143936169,
          "following": 346,
          "posts_count": 471,
          "likes_count": 1532891512,
          "url": "https://www.tiktok.com/@mrbeast",
          "private": false,
          "joined_at": "2018-10-20T00:00:00.000Z"
        }
      }
    ],
    "total": 30,
    "truncated": null
  },
  "pagination": { "next_cursor": null, "has_more": false, "page_size": 30 },
  "unavailable": [],
  "credits_used": 50
}
FieldWhat it holds
data.items[].authorOne similar account in the shared author shape.
author.followers / author.followingFollower and following counts.
author.posts_countHow many videos the account has posted.
author.likes_countTotal likes across the account's videos.
author.bio / author.verifiedProfile bio and verified badge.
author.joined_atThe day the account was created.
data.totalHow many accounts this call returned: 30 here.
pagination.has_moreAlways false: the list is one fixed set.

How do I go wider than 30 accounts?

Call the endpoint again with a result's username as the new handle, and drop accounts you have already seen by author.id. Each call is 50 credits, so set a budget first.

Python: two levels, deduplicated
import os
import requests

BASE = "https://api.insightsocial.app/v1"
HEADERS = {"x-api-key": os.environ["INSIGHTSOCIAL_API_KEY"]}

def similar(handle):
    body = requests.get(f"{BASE}/tiktok/similar", params={"handle": handle}, headers=HEADERS, timeout=120).json()
    return [item["author"] for item in body["data"]["items"]]

seen = {}
first = similar("gordonramsayofficial")
for a in first:
    seen[a["id"]] = a
for a in first[:5]:  # 5 more calls = 250 credits
    for b in similar(a["username"]):
        seen.setdefault(b["id"], b)
print(len(seen), "unique accounts")

What are the limits?

  • About 30 accounts, one fixed list. There is no cursor; has_more is false. Repeat the call on a result to go wider.
  • Similarity is TikTok's, not topical. For @gordonramsayofficial the list held Tilly Ramsay and kitchen clip accounts, but also MrBeast, Megan Thee Stallion and the Denver Broncos. Filter by bio or follower count in your own code.
  • Mixed sizes. The same list ran from under 3,000 followers to over 143 million.
  • Some fields come back empty. location, external_url and last_post_at were null on every account in the sample. null means unknown, not empty.

What can I build with it?

  • Influencer lookalikes. Start from a creator who performed well for you and get a shortlist of similar accounts with their reach.
  • Competitor mapping. Seed with a competitor's brand account to see which accounts TikTok groups with it.
  • Creator database seeding. Walk two levels out from a few seeds and store every account with its counts.

On this page