100 free credits. No credit card required.Start building
Logo
Douyin logoDouyin API

Scrape Douyin data with one API

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.

Douyin logo
/v1/douyin

8 active endpoints

  • GET /v1/douyin/search
  • GET /v1/douyin/profile
  • GET /v1/douyin/profile/posts
  • GET /v1/douyin/post
  • GET /v1/douyin/post/comments
  • GET /v1/douyin/comment/replies
  • GET /v1/douyin/search/users
  • GET /v1/douyin/trending

What Douyin endpoints does SocialCrawl ship?

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.

Search

metered, min 5 credits
/v1/douyin/search

Search Douyin videos.

query, limit, sort, published, duration

Profile

6 credits
/v1/douyin/profile

Get a Douyin creator profile.

handle, url, id

Profile posts

metered, min 5 credits
/v1/douyin/profile/posts

List a Douyin creator's videos.

handle, url, id, limit

Post

10 credits
/v1/douyin/post

Get a Douyin video.

url

Post comments

metered, min 2 credits
/v1/douyin/post/comments

Get Douyin video comments.

url, limit

Comment Replies

metered, min 5 credits
/v1/douyin/comment/replies

Get replies to a Douyin comment.

url, comment_id, limit, cursor

User search

metered, min 5 credits
/v1/douyin/search/users

Search Douyin creators.

query, limit, cursor, followers, user_type

Trending

25 credits
/v1/douyin/trending

Get the Douyin hot-search board.

see docs

Douyin API8 endpoints supported
View docs
Search
Profiles
Posts
Comments
Trending

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)

GET/v1/douyin/search?query=%E7%BE%8E%E9%A3%9F

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"
idle
// Running this live needs your own API key. Hit "Try it" to see an example response

How the Douyin API works

Douyin 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.

Authenticate every call

Send your key in the x-api-key header. The same key works across the SocialCrawl catalog.

GET with query params

Routes are GET. Pass handles, urls, queries, and cursors as query strings. We validate formats before charging.

Pay in credits, not seats

Live misses debit the route tier. Cache hits cost 0. Empty or hard failures refund.

Read one JSON envelope

Every response is the same shape: success, data, credits_used, credits_remaining, request_id, cached.

The usual integration chain

Most products search a topic, resolve the creators behind it, then deepen only the videos and threads that matter.

01Search
GET /v1/douyin/search

PostList of videos for a keyword, with engagement

Chinese, English, and mixed queries all work.

02Creator
GET /v1/douyin/profile

Author-shaped profile: followers, likes received, region

Resolve a sec_uid once, then track it over time.

03Video
GET /v1/douyin/profile/posts

Full Post including music, place, and dimensions

Search rows carry less than the single-video record.

04Thread
GET /v1/douyin/post

CommentList, then replies keyed to a parent comment

Every reply carries the parent id, so a thread rebuilds exactly.

request
GET /v1/douyin/search
  ?query=美食
Host: www.socialcrawl.dev
x-api-key: sc_your_api_key_here
response envelope
{
  "success": true,
  "data": { "/* Author | Post | PostList | CommentList | … */": true },
  "credits_used": 1,
  "credits_remaining": 9999,
  "request_id": "req_…",
  "cached": false
}

What lands in data

Field names match the rest of SocialCrawl where archetypes align.

Authorsearch

id, username, display_name, avatar_url, bio, followers, url, ext

PostList / Postprofile

items[].post with id, url, content, engagement, author, published_at, ext

CommentListprofile/posts

items[] with author, content.text, engagement, published_at when comments ship

Search / Mediapost

search hits, media metadata, or transcripts depending on route

Inside the gateway

Same request lifecycle as every other /v1 platform endpoint.

  1. 01

    Edge receives the call

    Next.js catch-all routes into the Hono social API. We mint a request_id, authenticate the key, then enforce rate limit and concurrency.

  2. 02

    Validate, then debit

    Registry lookup finds the route. Required params run first. Invalid input returns 400 with no charge. Valid calls debit before upstream work.

  3. 03

    Cache or fetch

    A deterministic cache key is built from platform + resource + params. Hit: credits_used = 0. Miss: upstream fetch with retries and circuit breaker.

  4. 04

    Normalize and return

    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

  • Standard live miss: tier cost (often 1 credit)
  • Advanced reads: typically 5 credits
  • Premium reads: typically 10 credits
  • Metered routes: min floor when documented
  • Cache hit: 0 credits
  • Empty / hard fail: auto-refund
  • Bad params: 400, never charged
  • No credits: 402, never charged
  • Disabled routes: 503, never charged

How we get the data

Douyin is public-read data on SocialCrawl. We normalize it into the shared schema so your code does not learn a second OAuth flow.

What Douyin is for this API

Public Douyin surfaces exposed by the registry. Read-only for research, monitoring, and product jobs.

How SocialCrawl reaches it

Social-read upstreams behind one gateway. Prism composites combine legs when a fat route is registered.

What leaves our edge

Unified JSON envelope: success, data, credits_used, request_id, cached. Shared Author / Post / Comment leaves where archetypes align.

What we do not ship live

No write endpoints and no private inbox. Disabled routes stay out of the active count. Prefer registry docs for the live inventory.

field map sketch
public profile / channelauthor.*profile identity and counters
public post / mediapost.* / items[].postpost content and engagement
comment page / treeCommentList items[]comments or search hits when present

What this API is used for

The jobs this API is most often used for.

8active Douyin endpoints in the registry
1 / 5 / 10credit ladder across standard, advanced, premium

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.

Use case examples

Common ways teams put this data to work, and the stack each one tends to run.

Monitoring jobs

Python, cron, Slack bots

Poll profiles and feeds on Douyin. Alert when engagement velocity jumps.

Research and VoC

Node, notebooks, BI loads

Search and expand posts for brand, product, and competitor language on Douyin.

Backend product jobs

Go, workers, Explorer

Wire resolve to list to detail into pipelines. Cache hits keep recurring runs cheap.

Call it in two lines

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"
Douyin logoDouyin on SocialCrawl

Same key as the rest of the catalog

Endpoints

What data does the Douyin API return?

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.

Comparison

How does SocialCrawl compare to DIY scraping for Douyin data?

Same Douyin data, two very different paths. Auth, rate limits, schema, and cost, side by side.

Access from outside China

SocialCrawl
Works from anywhere with an API key
DIY scraping
Needs CN residential egress you run yourself

Request signing

SocialCrawl
Handled for you
DIY scraping
You reimplement a_bogus and refresh it when it changes

Response shape

SocialCrawl
Same canonical JSON as every other platform
DIY scraping
Raw Douyin protobuf-ish JSON, hundreds of fields

View counts

SocialCrawl
Null, because Douyin does not publish them
DIY scraping
A literal 0 that reads as no audience

Reply threading

SocialCrawl
Every reply carries its real parent comment ID
DIY scraping
Depends which endpoint you hit

Billing

SocialCrawl
Per row actually returned
DIY scraping
Proxy bills plus your own engineering time
FAQ

Have a question? We got answers

Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.

Contact us
Is Douyin the same as TikTok?
No. Douyin is the mainland-China app and TikTok is the international one. They are separate networks with separate creators, separate catalogues and separate trending topics, so a Douyin search returns videos you will not find on TikTok.
Why is post.engagement.views always null on Douyin?
Douyin does not publish play counts outside its own app. Every source returns zero for that field, so returning null is the honest answer: a zero would read as a video with no audience. Likes, comments, shares and saves are all real numbers.
Do I need a Chinese IP address or a Douyin account?
No. You call the API with your SocialCrawl key from anywhere. The China-side access, request signing and residential egress are handled behind the endpoint, and no Douyin login or cookie is needed.
How do I identify a Douyin creator?
By sec_uid, the MS4wLjAB... string in a profile URL, or by the numeric user ID. Most Douyin creators never set a human handle, so author.username is often null and author.id carries the stable identifier to join on.
How is Douyin billed?
Search, creator posts, creator search and comment replies are metered per row at the rate shown on each endpoint, and you are charged only for rows actually returned. Single-video, profile and hot-search calls are flat priced.
Can I read a full Douyin comment thread?
Yes. Call the comments endpoint for top-level comments, then pass a comment ID with a non-zero reply count to the replies endpoint. Every reply comes back with parent_id set to the comment you asked about.
How much does the Douyin API cost?
Douyin endpoints are billed per call in credits: standard endpoints cost 1 credit, advanced 5, and premium 10. On Douyin that works out to between 1 and 25 credits per call. Every account starts with 100 free credits, and there is no subscription. You only pay for the calls you make.
Is scraping Douyin data legal?
SocialCrawl returns publicly available Douyin data and does not access private or login-gated content. Whether scraping fits your project depends on your use case and jurisdiction. You are responsible for complying with Douyin's terms of service and applicable data-protection laws such as GDPR and CCPA. This is general information, not legal advice.
Douyin scraping API vs the official Douyin API: what's the difference?
With SocialCrawl there is no app review or approval queue. Sign up and call Douyin endpoints immediately with a single x-api-key. Responses share one unified schema with every other SocialCrawl platform, and credit-based pricing replaces per-platform quotas. Official APIs are still the right choice for posting and other write actions: SocialCrawl is read-only data.

Ask AI about SocialCrawl

Read the Douyin API reference in the docs

🤖 AI agent or LLM? Read this page as markdown