Look Up a TikTok Profile by Username
View all TikTok Profiles, Videos & Sounds API endpoints →Retrieve a TikTok profile using the required username path parameter as a string, such as khaby.lame. This is a lookup for a known handle, not keyword-based user discovery. A successful observed request returned HTTP 200 with status=ok, data.status_code=0 and a data.user object. Observed user fields were unique_id (the account handle), uid (the account identifier), nickname (the display name), follower_count (the reported follower count) and aweme_count (the reported post count). The khaby.lame sample matched unique_id=khaby.lame and uid=127905465618821121; its counters describe that collection time, not current or historical totals. A request for a nonexistent test handle returned HTTP 404 with status=error, error=not found and error_description=resource not found. Treat that observed miss as a lookup outcome rather than evidence of a service outage, while handling other failures separately. These response fields come from supplied request observations; no separate response example was available to verify additional fields. Timestamp stored profiles and interpret counter changes as differences between snapshots, not a historical analytics feed.
API Features
Live API Demo
🔒 Sign in to try it live
Log in to call this API with your own API key. New accounts get 100 free credits — no card required.
Log in / Sign upNo active API key found. Create one in your Dashboard, then reload this page. Dashboard →
/api/project/tiktok/user-data-by-username API Response (JSON)
{} curl -X GET 'https://api.opendata-api.com/api/project/tiktok/user-data-by-username?key=<API_KEY>&username=khaby.lame'
Query Result
Use Cases
- Verify a creator shortlist by checking each supplied handle against its returned unique_id, uid and nickname before adding profile counters to a review card.
- Resolve a known username to data.user.uid for later user-ID-based lookups while retaining the original handle for auditability.
- Maintain timestamped follower_count and aweme_count snapshots for a known-handle monitoring panel, labeling differences as observed counter changes.
- Show a dedicated profile-not-found state for a response matching the observed HTTP 404 error envelope instead of presenting it as a general outage.
Frequently asked questions
What should I put in the username parameter?
Supply the TikTok account handle as a string, such as the documented example khaby.lame. This route targets a known username; it does not take a display name, numeric user ID or keyword-search query.
Which profile fields were observed in a successful lookup?
The HTTP 200 sample had status=ok and data.status_code=0. Its data.user object included unique_id, uid, nickname, follower_count and aweme_count. Additional profile fields have not been verified by the supplied evidence.
How can I convert a username to a TikTok user ID?
Read data.user.uid from a successful profile lookup. The observed khaby.lame profile returned uid=127905465618821121 and unique_id=khaby.lame. Keep the identifier as an identifier rather than converting it for arithmetic.
How did a nonexistent username behave in testing?
The negative test returned HTTP 404 with status=error, error=not found and error_description=resource not found. Handle that response as a missing profile, while keeping unrelated HTTP errors or malformed responses in a separate failure path.
Are follower_count and aweme_count historical analytics?
No. They were observed as reported profile counters at request time: follower_count for followers and aweme_count for posts. Save your own collection timestamp if comparing snapshots; the endpoint does not document a historical analytics series.