---
title: "TikTok Channel Details API"
method: GET
path: "/v1/tiktok/channel-details"
tags: ["TikTok"]
---

# TikTok Channel Details API

`GET /v1/tiktok/channel-details`

## Request

- Base URL: `https://api.captapi.com`
- URL: `https://api.captapi.com/v1/tiktok/channel-details`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags.

Pass a profile URL or @handle and get a curated identity card for CRM joins and chaining — not a geography endpoint. Single key set: platform, id, handle, url, displayName, bio, avatar, followers + followersIsApproximate, following, likes + likesIsApproximate, postCount + postCountIsApproximate, verified, private, secUid, likesGiven (videos this account has liked — not likes received; null when TikTok hides it), category, createTime (ISO; the unix twin is raw.createTimeUnix), bioLink{link,risk: low|medium|high}, ttSeller (user.ttSeller — has a TikTok Shop storefront; act on this for Shop joins), isCommerceUser (commerceUserInfo.commerceUser — TikTok's commerce-user flag, not a shop; can disagree with ttSeller), isOrganization, friendCount, language, region only when TikTok exposes it on the profile page, decoded privacy (commentsAllowedFrom / duetsAllowedFrom / stitchesAllowedFrom / downloadsAllowed), contact{emails,links} (bio-only links — bioLink.link is not duplicated), and source / timings (same envelope as user-showcase and video-details; this path is web-only). Upstream TikTok privacy ints, createTimeUnix, and other internals are behind raw=true. For creator country with regionSource / regionConfidence use /tiktok/profile-region (2 credits). Pass cacheMaxAge=1d|3d|7d|14d|30d. Flat 1 credit.

Docs: https://captapi.com/apis/tiktok-channel-details

## Query parameters

- `url` string, required
- `raw` boolean
- `cache` boolean
- `cacheMaxAge` '1d' | '3d' | '7d' | '14d' | '30d'

## Response `200`

Success. The data object for this endpoint.

- object
  - `success` unknown, required
  - `data` object, required
    - `platform` string: Platform identifier for this response (matches the endpoint's platform).
    - `url` string: Canonical URL of the item.
    - `id` string: Stable platform ID for the item.
    - `displayName` string: Display name of the account. Canonical across profile endpoints (prefer over name).
    - `bio` string: Profile bio. Canonical across profile endpoints (prefer over description on YouTube).
    - `followers` integer: Follower count.
    - `following` integer: Number of accounts followed.
    - `likes` integer: Total likes across the creator's videos (TikTok heartCount). Not likesGiven.
    - `postCount` integer: Total posts/statuses/videos for the account. Canonical across profile endpoints (prefer over posts / videoCount / tweetCount).
    - `verified` boolean: Whether TikTok shows a verified badge on this profile.
    - `private` boolean: Whether the account is private.
    - `avatar` string: Avatar / profile picture URL. Canonical across profile endpoints.
    - `category` string: Generic category label for the item or community.
    - `secUid` string: TikTok secure user ID — required for many platform-internal list endpoints.
    - `createTime` string: When the account was created (ISO 8601).
    - `createTimeUnix` integer: Unix twin of createTime — only under raw=true. The curated card is ISO createTime only.
    - `friendCount` integer: Mutual-follow (friends) count when exposed.
    - `diggCount` unknown
    - `bioLink` object
      - `link` string: Link. Example: "spr.ly/natgeotiktok".
      - `risk` integer: Risk. Example: 3.
    - `isCommerceUser` boolean: TikTok's commerce-user flag (commerceUserInfo.commerceUser). Not a shop. Independent of ttSeller.
    - `ttSeller` boolean: Has a TikTok Shop storefront (user.ttSeller). Act on this for /tiktok-shop/* joins.
    - `isOrganization` boolean: Whether the account is an organization account.
    - `language` string: Detected or requested language code.
    - `commentsAllowedFrom` string: Who can comment: "everyone", "friends", or "off".
    - `duetsAllowedFrom` string: Who can duet: "everyone", "friends", or "off".
    - `stitchesAllowedFrom` string: Who can stitch: "everyone", "friends", or "off".
    - `downloadsAllowed` boolean: Whether others may download this creator's videos.
    - `contact` object
      - `links` string[]: Links listed on the page.
    - `fetchedAt` string: When this snapshot was fetched (ISO 8601 UTC).
    - `handle` string: TikTok @handle (canonical). No username twin on this endpoint.

## Other responses

- `400`: Bad request: wrong platform URL, unknown endpoint, or an invalid parameter value. Not billed.
- `401`: Missing, invalid or revoked API key. Not billed.
- `402`: Not enough credits for this request. Not billed.
- `404`: The resource does not exist or is not public. Not billed.
- `422`: A required parameter is missing or has the wrong type. Not billed.
- `429`: Rate limit reached. Wait for Retry-After seconds. Not billed.
- `502`: The platform could not be reached or returned nothing usable. Retryable, not billed. 503 and 504 use the same envelope.

---

[API](https://skmtc.dev/captapi/apis/captapi-api.md) · [All operations](https://skmtc.dev/captapi/apis/captapi-api/llms.txt) · [OpenAPI document](https://skmtc.dev/captapi/apis/captapi-api/revisions/c9b9ac5ff1bd?raw)
