Profile
1 credit/v1/tiktok/profileGet TikTok user profile.
handle, user_id
Fetch public TikTok profiles, videos, comments, sounds, and search as structured JSON with one SocialCrawl API key. Same Post, Comment, and Author schema as every other platform. Reads are priced in credits.
20 active endpoints
20 live read endpoints for public TikTok data. Profiles, video posts, comment pages, transcripts, hashtag and keyword search, sounds, and trending surfaces. Data API only. No posting or private DMs.
/v1/tiktok/profileGet TikTok user profile.
handle, user_id
/v1/tiktok/profile/fullTikTok profile, recent posts, and computed analytics in one call.
handle, user_id, posts, cursor
/v1/tiktok/profile/videosList TikTok user videos.
handle, user_id, sort_by, max_cursor, region
/v1/tiktok/postGet TikTok post details.
url, region, trim, download_media
/v1/tiktok/post/commentsList TikTok post comments.
url, cursor, trim
/v1/tiktok/post/transcriptGet TikTok video transcript.
url, language, use_ai_as_fallback
/v1/tiktok/searchSearch TikTok videos by keyword.
query, date_posted, sort_by, region, cursor
/v1/tiktok/search/hashtagSearch TikTok by hashtag.
hashtag, region, cursor, trim
/v1/tiktok/songGet TikTok song details.
clipId
/v1/tiktok/trendingGet TikTok trending feed.
region, trim
Returns a TikTok account's public profile: display name, bio, follower count on author.followers (or the rounded figure with author.ext.followers_approximate), likes, verification, and user id.
Use it when you have a handle and want a quick snapshot of an account before pulling its videos or followers.
1 credit
$ curl https://www.socialcrawl.dev/v1/tiktok/profile?handle=charlidamelio \
-H "x-api-key: sc_YOUR_API_KEY"// Edit the params above and hit "Try it" to run a live request against the APITikTok is a normal SocialCrawl social surface. You call GET /v1/tiktok/… with an API key, spend credits on live misses, and get a single JSON envelope back. No TikTok developer app. No second SDK.
Send your key in the x-api-key header. The same key works across the SocialCrawl catalog.
Routes are GET. Pass handles, urls, queries, and cursors as query strings. We validate formats before charging.
Live misses debit the route tier. Cache hits cost 0. Empty or hard failures refund.
Every response is the same shape: success, data, credits_used, credits_remaining, request_id, cached.
Most products resolve a handle, page videos, then deepen only the posts that matter.
GET /v1/tiktok/profileAuthor-shaped account: bio, followers, likes, user id
Resolve the handle once before listing content.
GET /v1/tiktok/profile/fullPostList of recent public videos with metrics
Page with cursor. Optional trim for a smaller payload.
GET /v1/tiktok/profile/videosFull Post including sound and video metadata
Search titles are not enough when you need the video record.
GET /v1/tiktok/postCommentList page for one video
Expand replies with video/comment/replies when a thread matters.
GET /v1/tiktok/profile
?handle=example
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here{
"success": true,
"data": { "/* Author | Post | PostList | CommentList | … */": true },
"credits_used": 1,
"credits_remaining": 9999,
"request_id": "req_…",
"cached": false
}Field names match the rest of SocialCrawl where archetypes align.
id, username, display_name, avatar_url, bio, followers, engagement totals, url, ext
items[].post with id, url, content, engagement (views, likes, comments, shares), author, published_at, sound/media ext
items[] with author, content.text, engagement, published_at; pagination cursor when more remains
spoken text from captions or AI fallback; profile/full engagement rollups
Same request lifecycle as every other /v1 platform endpoint.
Next.js catch-all routes into the Hono social API. We mint a request_id, authenticate the key, then enforce rate limit and concurrency.
Registry lookup finds the route. Required params run first. Invalid input returns 400 with no charge. Valid calls debit before upstream work.
A deterministic cache key is built from platform + resource + params. Hit: credits_used = 0. Miss: upstream fetch with retries and circuit breaker.
Upstream JSON is mapped to Author / Post / PostList / CommentList (or route archetype), validated, wrapped in the success envelope, and logged for billing audit.
Billing rules that matter in production
TikTok is public-read social data. We normalize it into the SocialCrawl schema so your code does not learn a second OAuth flow or raw upstream shapes.
Public profiles, videos, comments, sounds, and search. Read-only surface for research, monitoring, and product jobs. No posting or private inbox access.
Public endpoints are read live on request and normalized at our edge before they reach you. Prism composites such as profile/full combine multiple legs into one call when you opt in.
A unified JSON envelope: success, data, credits_used, request_id, cached. Profiles become Author objects. Posts and comments share the same leaves as other platforms.
No write endpoints. No private messages. Disabled or soft-failed routes stay out of the active count. Prefer registry docs for the live inventory.
The jobs this API is most often used for.
Creator monitoring and short-form content intelligence
Callers concentrate on profile to videos chains, keyword and hashtag search, and post to comments when a video spikes. Structured TikTok JSON on the shared schema, transcripts when you need spoken text, and one key across the rest of SocialCrawl.
Profile and post detail are typically a few seconds on live miss. Search and fat profile composites are slower social-read paths.
The jobs TikTok data is most often used for. Each one is a full recipe with the endpoint chain and pricing.
Common ways teams put this data to work, and the stack each one tends to run.
Poll profile/videos for a fixed handle set. Alerts when views or comment velocity jumps.
Hashtag and keyword search, then expand post and comments for product language and competitor clips.
Wire profile to videos to post to comments into pipelines. Cache hits keep recurring runs cheap.
Standard tier is one credit per live call on most reads. Cache hits are free. Advanced and premium rungs cost more.
curl "https://www.socialcrawl.dev/v1/tiktok/profile?handle=example" \
-H "x-api-key: sc_your_api_key_here"curl "https://www.socialcrawl.dev/v1/tiktok/profile/full?handle=example" \
-H "x-api-key: sc_your_api_key_here"Same key as the rest of the catalog
Every endpoint returns structured JSON in a unified envelope. Computed fields such as engagement rate and content category are included only where the endpoint supports them and the required source inputs are present.
Same TikTok data, two very different paths. Auth, rate limits, schema, and cost, side by side.
| Feature | SocialCrawl | Official TikTok API |
|---|---|---|
| Authentication | One x-api-key header | OAuth 2.0 client keys with user access tokens |
| Setup / approval | Sign up and call in under a minute | Developer app registration and review before any data access |
| Rate limits | Pay per request in credits, with no daily quota | Per-app daily quotas set by TikTok |
| Data coverage | Public profiles, videos, comments, search, trending, songs, transcripts, and audience data | Scoped to authorized users; Research API restricted to qualified researchers |
| Response schema | Unified JSON envelope shared across 51 platforms | TikTok-specific payloads per endpoint |
| Pricing | From 1 credit per request, 100 free credits to start | Free within approved quotas |
| Maintenance | Schema stays stable when TikTok changes its frontend | Official support, versioned deprecations, and content posting for authorized accounts |
Authentication
Setup / approval
Rate limits
Data coverage
Response schema
Pricing
Maintenance
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usAsk AI about SocialCrawl