Search
metered, min 5 credits/v1/douyin/searchSearch Douyin videos.
query, limit, sort, published, duration
Fetch public Douyin videos, creators, comments, reply threads, and the hot-search board as structured JSON with one SocialCrawl API key. Same Post, Comment, and Author schema as every other platform. Reads are priced in credits.
8 active endpoints
8 live read endpoints for public Douyin data. Keyword video search, creator profiles and their uploads, single videos, comments, reply threads, creator search, and the hot-search board. Data API only. No posting and no private messages.
/v1/douyin/searchSearch Douyin videos.
query, limit, sort, published, duration
/v1/douyin/profileGet a Douyin creator profile.
handle, url, id
/v1/douyin/profile/postsList a Douyin creator's videos.
handle, url, id, limit
/v1/douyin/postGet a Douyin video.
url
/v1/douyin/post/commentsGet Douyin video comments.
url, limit
/v1/douyin/comment/repliesGet replies to a Douyin comment.
url, comment_id, limit, cursor
/v1/douyin/search/usersSearch Douyin creators.
query, limit, cursor, followers, user_type
/v1/douyin/trendingGet the Douyin hot-search board.
see docs
Returns Douyin videos matching a keyword with caption, creator, likes, comments, shares, saves, hashtags, music and cover image.
Use it to track a topic or brand across Douyin. For the creators behind the videos, call the creator search instead.
5-250 credits (metered)
query · Search keywords, for example 美食 or coffee.
$ curl https://www.socialcrawl.dev/v1/douyin/search?query=%E7%BE%8E%E9%A3%9F \
-H "x-api-key: sc_YOUR_API_KEY"// Running this live needs your own API key. Hit "Try it" to see an example responseDouyin is a normal SocialCrawl social surface. You call GET /v1/douyin/… with an API key, spend credits on live misses, and get a single JSON envelope back. No Chinese account, no VPN, and 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 search a topic, resolve the creators behind it, then deepen only the videos and threads that matter.
GET /v1/douyin/searchPostList of videos for a keyword, with engagement
Chinese, English, and mixed queries all work.
GET /v1/douyin/profileAuthor-shaped profile: followers, likes received, region
Resolve a sec_uid once, then track it over time.
GET /v1/douyin/profile/postsFull Post including music, place, and dimensions
Search rows carry less than the single-video record.
GET /v1/douyin/postCommentList, then replies keyed to a parent comment
Every reply carries the parent id, so a thread rebuilds exactly.
GET /v1/douyin/search
?query=美食
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, url, ext
items[].post with id, url, content, engagement, author, published_at, ext
items[] with author, content.text, engagement, published_at when comments ship
search hits, media metadata, or transcripts depending on route
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
Douyin is public-read data on SocialCrawl. We normalize it into the shared schema so your code does not learn a second OAuth flow.
Public Douyin surfaces exposed by the registry. Read-only for research, monitoring, and product jobs.
Social-read upstreams behind one gateway. Prism composites combine legs when a fat route is registered.
Unified JSON envelope: success, data, credits_used, request_id, cached. Shared Author / Post / Comment leaves where archetypes align.
No write endpoints and no private inbox. Disabled routes stay out of the active count. Prefer registry docs for the live inventory.
The jobs this API is most often used for.
China market research and creator discovery
Callers concentrate on profile, content lists, search, and deepen paths on Douyin. Douyin is a separate network from TikTok, with its own creators, catalog, and trends. This is that data on the same schema and the same key as every global platform.
Detail reads are typically a few seconds on live miss. Search and fat composites are slower paths.
Common ways teams put this data to work, and the stack each one tends to run.
Poll profiles and feeds on Douyin. Alert when engagement velocity jumps.
Search and expand posts for brand, product, and competitor language on Douyin.
Wire resolve to list to detail into pipelines. Cache hits keep recurring runs cheap.
Live misses spend credits by tier. Cache hits are free. Empty or hard failures refund.
curl "https://www.socialcrawl.dev/v1/douyin/search?query=美食" \
-H "x-api-key: sc_your_api_key_here"curl "https://www.socialcrawl.dev/v1/douyin/profile?url=https://www.douyin.com/user/MS4wLjABAAAAtxsy7VmVkU3RN9oIX0vdkh_6-LlQAb0gwI-tDf-bYNg" \
-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 Douyin data, two very different paths. Auth, rate limits, schema, and cost, side by side.
| Feature | SocialCrawl | DIY scraping |
|---|---|---|
| Access from outside China | Works from anywhere with an API key | Needs CN residential egress you run yourself |
| Request signing | Handled for you | You reimplement a_bogus and refresh it when it changes |
| Response shape | Same canonical JSON as every other platform | Raw Douyin protobuf-ish JSON, hundreds of fields |
| View counts | Null, because Douyin does not publish them | A literal 0 that reads as no audience |
| Reply threading | Every reply carries its real parent comment ID | Depends which endpoint you hit |
| Billing | Per row actually returned | Proxy bills plus your own engineering time |
Access from outside China
Request signing
Response shape
View counts
Reply threading
Billing
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usAsk AI about SocialCrawl