# TikTok Profile API (https://www.socialcrawl.dev/platforms/tiktok/profile) > Returns public profile information for a TikTok user: follower count, following count, total likes, bio, avatar URL, verification status, and the ISO 3166-1 alpha-2 region of the account at `author.location` (the same leaf `/v1/tiktok/profile/region` returns, included here so you do not need a second call). `author.followers` is the unrounded integer when the source exposes it. When only the public rounded figure is available, the same integer field is returned and `author.ext.followers_approximate` is true. Pass either `handle` or `user_id`. Profiles behind TikTok's 'audience controls' (a login/age wall in the browser) now return their profile record normally; their posts are readable through `/v1/tiktok/profile/videos` with the same handle. A profile with no publicly readable record still returns `404 RESOURCE_NOT_FOUND` with `error.details.reason` set to `account_private`. A handle the platform reports as unused returns the same status with `reason` set to `account_gone`; because TikTok numeric ids are permanent, re-running the lookup with `user_id` tells a renamed account from a removed one. `author.location` can be absent when the region source is unavailable; the rest of the profile is still returned. TikTok keeps two live sets of profile counters, one for its app and one for its website (`statsV2`), and they can differ by a few percent in either direction. `author.followers`, `author.following`, `author.likes_count` and `author.posts_count` come from the app set by default; send `counts=web` to get the website set instead, at the same price. `author.ext.counts_source` names the set a response carries (`app` or `web`); a `counts=web` call answers with `app` when the website record could not be read. TL;DR: `GET /v1/tiktok/profile` costs 1 credit per call and returns SocialCrawl's unified JSON schema. Single x-api-key auth, 100 free credits on signup. ## Parameters | Parameter | Required | Description | | --- | --- | --- | | `handle` | no | TikTok username without the @ symbol. | | `user_id` | no | TikTok numeric user ID. Use this for faster responses. | | `counts` | no | `app` (default) or `web`. `web` returns the follower, following, likes and video counts TikTok's website shows (`statsV2` `followerCount`, `followingCount`, `heartCount`, `videoCount`) in place of the app's counters. Same price. `author.ext.counts_source` confirms which set was returned. (app \| web) | ## Code example ```bash curl -G "https://www.socialcrawl.dev/v1/tiktok/profile" \ --data-urlencode "handle=charlidamelio" \ -H "x-api-key: sc_YOUR_API_KEY" ``` ## FAQ ### How do I get TikTok profile data with an API? Send a GET request to /v1/tiktok/profile with the handle parameter (no @ symbol). SocialCrawl returns structured JSON with follower count, following count, total likes, bio, avatar URL, verification status, and computed engagement rate. ### What data does the TikTok Profile API return? The endpoint returns public profile fields: follower count, following count, total likes, bio text, avatar URL, verification status, the two-letter region at author.location, user id, handle, display name, and SocialCrawl's computed engagement_rate. A cached read returns the same fields as a fresh one, region included. ### How much does the TikTok Profile API cost? Each request costs 1 credit on the standard tier. New accounts get 100 free credits with no credit card required, so you can pull around 100 TikTok profiles before paying anything. ### Is scraping TikTok profiles legal? SocialCrawl reads only publicly visible profile fields, the same data anyone sees when visiting the user's TikTok page. Make sure your use case complies with TikTok's terms of service and applicable data protection laws. ### Can I use the TikTok Profile API in production? Yes. The endpoint uses the profile cache category with consistent sub-second response times after the first request, upstream retry handling, and a unified schema that does not break when TikTok updates their UI. ### Does the TikTok Profile API return the exact follower count? Yes. GET /v1/tiktok/profile returns author.followers as an unrounded integer when the source exposes one, not an abbreviated string such as 4.4M. If only the public rounded figure is available, the same integer field is returned and author.ext.followers_approximate is true. See the full TikTok API: https://www.socialcrawl.dev/platforms/tiktok ## Pricing - Standard endpoints: 1 credit per call - Advanced endpoints: 5 credits per call - Premium endpoints: 10 credits per call - 100 free credits on signup, no credit card required. Cached responses cost 0 credits. Credit packs never expire. - Full pricing: https://www.socialcrawl.dev/pricing ## Explore with AI Questions this API answers, phrased for an AI assistant: - What does the SocialCrawl TikTok Profile API return? - How to get TikTok follower count with the SocialCrawl API