TikTok profile analyzer

Enter a public username. See followers and recent view counts.

SampleRecorded public data, shortened. Run the tool for a live result.

Khabane lame @khaby.lame, account language en

6,000,000Average views
3.68%Views per follower
Followers
162,967,647
Following
82
Total likes
2,691,641,827
Videos
1,359
Friends
77
Highest views
7,100,000

Hashtags on these videos

#comedy (2)#learnfromkhaby (2)

Views per follower: the average play count of these videos, divided by followers. TikTok rounds these play counts. Likes, comments and shares are not on this list, so this is not an engagement rate. No country, age or gender split is returned.

Free, no signup. A limited number of lookups per visitor each hour. Public data only.

How it works

The tool reads the public profile and one page of the newest videos, about 10, pinned videos first. It averages the play counts and divides that average by the follower count.

Use this in your app

This tool calls GET /v1/tiktok/profile. See the reference, or get early access for a key.

It also calls /v1/tiktok/profile/videos. Two requests, 1 credit each.

curl
curl -G "https://api.socialscrape.io/v1/tiktok/profile" \
  -H "x-api-key: $SOCIALSCRAPE_API_KEY" \
  --data-urlencode "handle=khaby.lame"
Python
import os
import requests

params = {
    "handle": "khaby.lame",
}
res = requests.get(
    "https://api.socialscrape.io/v1/tiktok/profile",
    headers={"x-api-key": os.environ["SOCIALSCRAPE_API_KEY"]},
    params=params,
)
body = res.json()

if body["ok"]:
    print(body["data"])
else:
    print(body["error"]["code"], body["error"]["message"])
TypeScript
const url = new URL("https://api.socialscrape.io/v1/tiktok/profile");
url.search = new URLSearchParams({
  "handle": "khaby.lame"
}).toString();
const res = await fetch(url, {
  headers: { "x-api-key": process.env.SOCIALSCRAPE_API_KEY! },
});
const body = await res.json();

if (body.ok) {
  console.log(body.data);
} else {
  console.error(body.error.code, body.error.message);
}
n8n
{
  "nodes": [
    {
      "name": "SocialScrape TikTok profile",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        0,
        0
      ],
      "parameters": {
        "method": "GET",
        "url": "https://api.socialscrape.io/v1/tiktok/profile",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "handle",
              "value": "khaby.lame"
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "x-api-key",
              "value": "={{ $env.SOCIALSCRAPE_API_KEY }}"
            }
          ]
        }
      }
    }
  ],
  "connections": {}
}

Questions

Is the account language the audience's language?

No. It is the language code on the profile, not a breakdown of who watches.

Why only one page of videos?

The logged-out list does not continue. Pinned videos come first, then the newest, about 10 in all. Play counts on that list are rounded.

Is this tool free?

Yes. No account and no card. Each visitor gets a limited number of lookups an hour, so it stays free for everyone.

How do I get this data in my own app?

The tool makes several API calls; each one is a single request in your code. Send GET /v1/tiktok/profile with your key in the x-api-key header. A request costs 1 credit. A repeat of something fetched recently costs 0 credits, and failed requests are free. See the reference.