How to get TikTok channel details
GET request to /v1/tiktok/channel-details with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Resolve a TikTok @handle to id + secUid — createTime, ttSeller, bioLink, decoded privacy flags.How to get TikTok channel details (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the TikTok Channel Details API
Send an authenticated GET request to /v1/tiktok/channel-details with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/tiktok/channel-details?url=https%3A%2F%2Fwww.tiktok.com%2F%40natgeo" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"platform": "tiktok",
"url": "https://www.tiktok.com/@natgeo",
"id": "6780344874811442181",
"displayName": "National Geographic",
"bio": "Step into wonder and find your inner explorer with National Geographic 🌎",
"followers": 9590041,
"following": 61,
"likes": 53508645,
"postCount": 1454,
"verified": true,
"private": false,
"avatar": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/324924e171e481040a1ea202962f6e07~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=2d807a74&x-expires=1786435200&x-signature=VLjDqS0313BGst8y0tyrQFabZB4%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8",
"category": "Media & Entertainment",
"secUid": "MS4wLjABAAAAEf96k3JW8-3eOhgzgQswlFF6ZDnn1dzqWWorJjwDsiNZymqTtvOcFhp_RiYYST6s",
"createTime": "2020-01-10T16:08:37.000Z",
"createTimeUnix": 1578672517,
"friendCount": 58,
"diggCount": null,
"bioLink": {
"link": "spr.ly/natgeotiktok",
"risk": 3
},
"isCommerceUser": true,
"ttSeller": false,
"isOrganization": true,
"language": "en",
"commentsAllowedFrom": "everyone",
"duetsAllowedFrom": "off",
"stitchesAllowedFrom": "off",
"downloadsAllowed": false,
"contact": {
"links": [
"spr.ly/natgeotiktok"
]
},
"fetchedAt": "2026-08-09T08:56:19.857Z",
"handle": "natgeo"
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble. |
| raw | boolean | No | Set true to include TikTok's upstream user/statsV2 blob under raw, plus createTimeUnix (unix twin of createTime). Default false — curated fields only. |
| cache | boolean | No | Set true to serve from the response cache (default TTL). Default false — always fetch fresh. Prefer cacheMaxAge when you need 1d–30d freshness control. |
| cacheMaxAge | string | No | Max age of a cached response: 1d, 3d, 7d, 14d, or 30d. When set, enables caching with that TTL. |
Frequently asked questions
What does the TikTok Channel Details API do?
The TikTok Channel Details API lets you fetch profile or page details and audience stats from a public TikTok profile or page using one GET request to /v1/tiktok/channel-details. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the TikTok Channel Details API cost?
Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.
Do I need a TikTok API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Does channel-details return id and secUid?
Yes. Resolving @handle → id + secUid is the main job of this endpoint. Prefer those for CRM joins and for chaining into user-followers, channel-posts, and other secUid-gated TikTok calls. Handles change; id/secUid do not.
ttSeller vs isCommerceUser — which should I use?
Two different raw bits. ttSeller is user.ttSeller — has a TikTok Shop storefront; chain into /tiktok-shop/* when true. isCommerceUser is commerceUserInfo.commerceUser — TikTok's commerce-user flag (often with a category). It is not a shop. They can disagree in both directions. Act on ttSeller for Shop joins.
Where did createTimeUnix go?
Under raw=true as raw.createTimeUnix (and raw.user.createTime is the same unix). The curated card keeps ISO createTime only — one instant, one format.
Why is region often null here when profile-region returns a country?
channel-details only returns region when TikTok exposes it on the profile page (rare). It does not run geo inference. Use /tiktok/profile-region for creator country with regionSource / regionConfidence.
What is channel-details for vs profile-region?
Same profile-page JSON. channel-details (1 credit) is the identity/CRM card and only emits region when TikTok publishes it. profile-region (2 credits) is the geography surface: gpt-4o-mini inference when that field is missing, plus an Apify caption-language fallback when the page has neither region nor language. Price tracks that extra work, not a duplicate lookup.
Are followers / likes / postCount exact?
Often not on large accounts. followersIsApproximate / likesIsApproximate / postCountIsApproximate use the same display-rounding ladder as video-details (v ≥ 10 000 and a clean hundred, or a clean 100k above 1M). 162 700 000 followers is true. Values under 10 000 are exact.
Why is likesGiven null when likes is 1615?
They are different counters. likes is heartCount — hearts received on the creator's videos. likesGiven is diggCount — videos this account has liked. TikTok hides likes-given on most accounts and ships 0; we return null, not a chartable zero. diggCount is gone from this surface.
Is the TikTok Channel Details API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.
Ready to get TikTok channel details?
Start free with 100 credits — no credit card required.
Get your free API key