Appearance
Profile
GET /v1/tiktok/profile
Fetches public profile data for a TikTok user by their handle , useful for looking up a creator's identity, bio, and account stats. Returns a user object (display name, avatar URLs, bio/signature, verification status, bio link) and a stats object (followerCount, followingCount, heartCount/total likes, videoCount). This only returns profile metadata, not the user's actual videos or followers list.
Authentication
All requests require the x-api-key header. Get your key at scrapecreators.com.
Query Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
handle | string | yes | TikTok handle | stoolpresidente |
Example Request
curl
bash
curl 'https://api.scrapecreators.com/v1/tiktok/profile?handle=stoolpresidente' \
-H 'x-api-key: $SCRAPECREATORS_API_KEY'Node / TypeScript
js
const params = new URLSearchParams({ handle: 'stoolpresidente' });
const res = await fetch(`https://api.scrapecreators.com/v1/tiktok/profile?${params}`, {
headers: { 'x-api-key': process.env.SCRAPECREATORS_API_KEY }
});
const data = await res.json();
console.log(data);Python
python
import os, requests
r = requests.get(
'https://api.scrapecreators.com/v1/tiktok/profile',
headers={'x-api-key': os.environ['SCRAPECREATORS_API_KEY']},
params={'handle': 'stoolpresidente'},
)
r.raise_for_status()
print(r.json())CLI
bash
scrapecreators tiktok profile --helpExample Response
json
{
"user": {
"id": "6659752019493208069",
"shortId": "",
"uniqueId": "stoolpresidente",
"nickname": "Dave Portnoy",
"avatarLarger": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/7310178711609032710~c5_1080x1080.jpeg?lk3s=a5d48078&nonce=58494&refresh_token=466ff0b92ed2f51170dbbdc2a30b9e9a&x-expires=1737921600&x-signature=uZnt1AjbwQ5pMTWNSV5hqw8QhMM%3D&shp=a5d48078&shcp=81f88b70",
"avatarMedium": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/7310178711609032710~c5_720x720.jpeg?lk3s=a5d48078&nonce=18587&refresh_token=4c5e30ff3fe99ca813d9f79d74c41fb1&x-expires=1737921600&x-signature=6ropsZzca3J6jx%2BH49D%2BAgxMoe4%3D&shp=a5d48078&shcp=81f88b70",
"avatarThumb": "https://p16-sign-va.tiktokcdn.com/tos-maliva-avt-0068/7310178711609032710~c5_100x100.jpeg?lk3s=a5d48078&nonce=56685&refresh_token=52483b418cbeceeaf2863a9fe0feb830&x-expires=1737921600&x-signature=xGLErTLpukZpmPcYw1ZBHJpPEbM%3D&shp=a5d48078&shcp=81f88b70",
"signature": "El Presidente/Barstool Sports Founder.",
"createTime": 1550594547,
"verified": true,
"secUid": "MS4wLjABAAAAINC_ElRR-l1RCcnEjOZhNO-9wOzAMf-YHXqRY8vvG9bEhMRa6iu23TaE3JPZYXBD",
"ftc": false,
"relation": 0,
"openFavorite": false,
"bioLink": {
"link": "https://www.barstoolsports.com/bios/Surviving-Barstool",
"risk": 0
},
"commentSetting": 0,
"commerceUserInfo": {
"commerceUser": false
},
"duetSetting": 0,
"stitchSetting": 0,
"privateAccount": false,
"secret": false,
"isADVirtual": false,
"roomId": "",
"uniqueIdModifyTime": 0,
"ttSeller": false,
"downloadSetting": 0,
"profileTab": {
"showMusicTab": false,
"showQuestionTab": false,
"showPlayListTab": true
},
"followingVisibility": 1,
"recommendReason": "",
"nowInvitationCardUrl": "",
"nickNameModifyTime": 0,
"isEmbedBanned": false,
"canExpPlaylist": true,
"profileEmbedPermission": 1,
"language": "en",
"eventList": [],
"suggestAccountBind": false,
"isOrganization": 0
},
"stats": {
"followerCount": 4100000,
"followingCount": 74,
"heart": 190400000,
"heartCount": 190400000,
"videoCount": 2017,
"diggCount": 0,
"friendCount": 52
},
"itemList": []
}Credits
Most ScrapeCreators endpoints consume 1 credit per successful response. Some heavier endpoints (transcripts, AI-driven enrichment, ad detail lookups) may cost more. Check GET /v1/credit-balance for your remaining balance.
Errors
| Status | Meaning | Action |
|---|---|---|
| 200 | Success. | Use the JSON payload. |
| 400 | Invalid or missing parameter. | Verify required parameters and value format. |
| 401 | Missing or invalid x-api-key. | Pass a valid API key in the header. |
| 402 | Out of credits. | Top up at scrapecreators.com or wait for plan reset. |
| 404 | Resource not found or private. | Confirm the handle, URL, or id and that the resource is public. |
| 429 | Rate limited. | Backoff and retry with exponential delay. |
| 500 | Server error or upstream platform failure. | Retry with backoff; report persistent errors to support. |