TikTok Profile API — Account Data & Follower Counts
Documentation menu
FetchLayer FetchLayer API

Get a TikTok account profile

One public TikTok account’s profile, by username or profile URL. Returns the bio, avatar, verification and organization flags, region, the account creation date, the bio link, the secUid, and the full stats block. The counts are the exact published figures rather than the rounded ones shown on the page, so a follower count comes back as 1719888 rather than 1.7M — which is what makes week-to-week tracking possible at all. A private account is reported in notes rather than as an error. Billing: 1 credit.

POST /user-profile Accounts
https://api.fetchlayer.dev/tiktok/user-profile
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

username string required

A username with or without the leading @, or a profile URL.

format string optional

json or markdown. Markdown returns a rendered summary instead of the structured record. (default: json)

timeoutMs integer optional

Time limit for each individual page read, in milliseconds (max 60000). It bounds one page, not the whole request.

Response Fields

user-profile

Get a TikTok account profile

transport string

The upstream source. Always "tiktok".

notes string[]

Caveats you can act on — a private account, comments turned off, a list that ran out early, paging that has gone as deep as it goes. Empty when there are none. An empty result always comes with a note explaining it, never as an unexplained empty array.

pagesFetched number

Pages of results read, which is what the request costs: one credit per page. resolve-url reports 0 and is not billed.

profile.id string

TikTok’s numeric account id.

profile.uniqueId string

The @handle, without the @.

profile.nickname string

The display name.

profile.url string

Canonical profile URL.

profile.signature string

The bio text.

profile.avatarUrl string

Avatar image. Pass it to GET /media to re-fetch it after TikTok’s own signed link expires.

profile.verified boolean

Whether TikTok shows the verification badge.

profile.privateAccount boolean

Whether the account is private. A private account has no public posts, and notes says so.

profile.createdAt string

When the account was created, or null.

profile.region string

The region TikTok publishes for the account, or null.

profile.isOrganization boolean

Whether TikTok marks the account as an organization.

profile.bioLink string

The link in the bio, or null.

profile.secUid string

TikTok’s opaque secondary account id.

profile.stats.followerCount number

Followers — the exact figure, not the rounded one.

profile.stats.followingCount number

Accounts this one follows.

profile.stats.heartCount number

Total likes across the account’s videos.

profile.stats.videoCount number

Public videos posted.

profile.stats.friendCount number

Mutual follows.

Request

curl -X POST "https://api.fetchlayer.dev/tiktok/user-profile" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"username":"@nasa"}'

Response

{
  "transport": "tiktok",
  "notes": [],
  "pagesFetched": 1,
  "profile": {
    "id": "7664638705177150477",
    "uniqueId": "nasa",
    "nickname": "NASA",
    "url": "https://www.tiktok.com/@nasa",
    "signature": "Making the seemingly impossible, possible.✨",
    "avatarUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/...",
    "verified": true,
    "privateAccount": false,
    "createdAt": "2026-07-20T15:55:49.000Z",
    "region": null,
    "isOrganization": true,
    "bioLink": null,
    "secUid": "MS4wLjABAAAAU9BRVzC8oCaegVnia8IbqWhPb_-dbU7s00Y3wS1_Nx8g5RUaYvyXrpejgjdxTwd6",
    "stats": {
      "followerCount": 1719888,
      "followingCount": 23,
      "heartCount": 8962614,
      "videoCount": 45,
      "friendCount": 17
    }
  }
}