SocialToAIStart freeConsole
POST/v1/user_profile"platform": "douyin"

Douyin User Profile API

One account.

Get any public Douyin account by ID or link and get back name, bio, followers, following and post count, as JSON over HTTP or from your AI client over MCP. A call to the Douyin User Profile API costs 2 credits ($0.004 to $0.0067 depending on the pack), failed calls are free, and the response has the same format as every other call. Last tested 2026-11-02.

100 credits on sign-up, no card needed
2 creditsper call, ≈ $0.004–$0.0067
One objectreturned per call
2026-11-02last tested
763 Bsample response, 1 item

Last updated:

What you get from the Douyin User Profile API.
From a recorded answer.

A recorded call returned the object below, field by field. Names and text are removed from the sample; the numbers are as recorded.

Lighter for your AI: the same recorded data (1 item) is about 3,532 tokens as the platform's raw JSON and about 449 as this interface returns it, 87% fewer (measured 2026-11-06). How it was measured

FieldIn the recorded answer
usernameremoved from the sample
nameremoved from the sample
urlremoved from the sample
bioremoved from the sample
verifiedtrue
followers4,022
following115
posts_count1,094

2 credits a call (≈ $0.004–$0.0067): about 1,500 calls for $10.

Easier with a ready-made tool: Viral finder. Posts that did clearly better than their authors usually do.

Douyin User Profile API: request and response

curl https://api.socialtoai.com/v1/user_profile \  -H "Authorization: Bearer $SOCIALTOAI_API_KEY" \  -H "Idempotency-Key: $(uuidgen)" \  -H "Content-Type: application/json" \  -d '{    "platform": "douyin",    "id": "MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8"  }'
import osimport uuidimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/user_profile",    headers={        "Authorization": f"Bearer {os.environ['SOCIALTOAI_API_KEY']}",        # A new key for each request; the same one again retries it without paying twice.        "Idempotency-Key": str(uuid.uuid4()),    },    json={        "platform": "douyin",        "id": "MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8",    },)print(response.json())
# Connected over MCP? Ask in plain words.Look up this Douyin account: MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8# Your AI calls the user_profile tool with:{  "platform": "douyin",  "id": "MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8"}
Sign in to run2 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK763 B2 credits
{  "platform": "douyin",  "status": "ok",  "items": [    {      "platform": "douyin",      "id": "…",      "ref": "…",      "approx": [],      "type": "account",      "username": "…",      "name": "…",      "url": "https://example.com/…",      "bio": "…",      "verified": true,      "followers": 4022,      "following": 115,      "posts_count": 1094    }  ],  "unavailable": [],  "cost_credits": 2}
@…·text removed from the sample
4,022 followers115 following1,094 posts

Names and text were removed from the sample; the numbers are as recorded.

Sample dataFull response

Douyin User Profile API parameters.
3 parameters, 1 required.

Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.

NameTypeRequiredDefaultDescription
platformstringRequired—Always "douyin" on this page.
idstringOne of these—Account ID (the sec_uid, the string that starts with MS4w). With only a profile link or a share text, give it as url
urlstringOne of these—Link to the profile, pasted as it is: the https://www.douyin.com/user/… web link, the page a share opens on a phone, the v.douyin.com short link the app copies, or a whole share text with one of these in it. A short link is opened once to see which account it leads to

Where to get what you send.

id

Account ID (the sec_uid, the string that starts with MS4w). With only a profile link or a share text, give it as url (e.g. MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8)

Every item these return carries its ref; send it as it is:

Douyin User Profile API response fields.
What Douyin cannot give is marked.

FieldTypeMeaning
items[].usernamestringThe handle.
items[].namestringThe display name.
items[].urlstringA link to the profile.
items[].biostringThe bio.
items[].verifiedbooleanWhether the account is verified.
items[].followersintegerFollower count.
items[].followingintegerHow many accounts it follows.
items[].posts_countintegerHow many posts it has published.
nullFields Douyin cannot give

Douyin gives every field of this call. Where one item lacks a value, that field is null.

Compared with the WeChat Articles User Profile API, this call also gives bio, verified, followers, following and posts.

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format

Douyin User Profile API: paging and billing.

One call returns one object, with no pages, for 2 credits.

5 calls per second per key, 20 after a purchase; going over is not charged. Rate limits

A failed call costs 0 credits and is never retried on its own. Error codes

“Last tested” above is the last day a real call of this interface succeeded. Each call reads from the platform, and fetched_at in the answer is when it was read. The same request sent again with the same key within 5 minutes is a replay (replayed: true): 0 credits, and the answer as first read.

Once connected over MCP, these questions use the Douyin User Profile API.

  1. Look up this Douyin account: MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8
    user_profile {"platform":"douyin","id":"MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8"}
    2 credits
  2. Find Douyin accounts about "博物馆", then for the first 3: look up this Douyin account.
    search {"platform":"douyin","query":"博物馆","type":"user"}user_profile {"platform":"douyin","id":"<ref>"} × 3
    8 credits

Give this to your AI.
Copy it into Claude or ChatGPT.

How to connect
Prompt
Use the SocialToAI MCP server (https://mcp.socialtoai.com/mcp) for this: Look up this Douyin account: MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8Call the user_profile tool with {"platform":"douyin","id":"MS4wLjABAAAAZ0aPDJzFhBrs0q3wVsp2a9WWrBuAUMsVyygoaO0bCw8"}. Needed: id, url.For several, call it once for each: 2 credits each.Before you start, work out how many credits it will take in all and ask me; call it only after I agree.What usually comes next, with the ref or username it returns: user_posts (User Posts).If SocialToAI is not connected yet, tell me how to connect it; never ask me to paste a key into the chat.Answer with a link to every item you used, and tell me how many credits it cost.

Paste it into a chat once SocialToAI is connected over MCP. There is no key in it: Claude and ChatGPT sign in, other clients send a key in a header.

These ready-made tools call it when they run.

account-watch
Account snapshot

What each one posted lately, and which posts beat its usual numbers

creator-card
Creator profile

Their accounts on other platforms, the numbers on each, and how sure the match is

batch-stats
Bulk link data

One row per link with its numbers as they are now. Links that no longer work are marked

viral-finder
Viral finder

Posts that did clearly better than their authors usually do

Work scenarios that use it.

competitor-tracking
Competitor tracking

Your AI follows the accounts you name and tells you what each one published lately and which posts did clearly better than that account usually does, with the numbers and links.

creator-discovery
Creator discovery

Your AI finds creators in a niche on one platform, with their size, their recent posts and how well each one fits, then reads a shortlisted creator's accounts across platforms.

The same call on other platforms.

All platforms and prices
Change one word in the request: platform. The response keeps the same shape.

Read next.

Douyin official API: access, prices and limits

What its own API allows, who can use it and what it costs, with sources.

How to let Claude read Douyin comments

connect Claude to the comments under Douyin videos

Let Claude Code and Cursor read Xiaohongshu and Douyin, with no QR code or cookie

connect Claude Code and Cursor to Xiaohongshu and Douyin with no QR code or cookie, and what a self-run server costs you

How brands outside China monitor Xiaohongshu (RedNote), Douyin and Weibo with AI

monitor Xiaohongshu, Douyin and Weibo from outside China with AI, in English, with original links

What is a Douyin sec_uid, and how do I get it?

where a sec_uid is, how to get it from a share link, and the two IDs it is confused with

Douyin MCP server

Let your AI read Douyin.

Douyin User Profile API: questions.
Short answers.

All Douyin data APIs
Do I need a Douyin account or Douyin's own API access?
No. You only need a SocialToAI key. The call returns content and account information publicly visible on Douyin; you never sign in to Douyin or apply for anything there.
What does one call cost in dollars?
2 credits: $0.0067 at 300 credits per dollar (purchases from $10), $0.004 at 500 per dollar (from $200). Credits never expire and there is no subscription. 100 free credits on sign-up, no card.
Am I charged when a call fails or finds nothing?
A failed call costs 0 credits and is never retried on its own.
How much does one call return?
One call returns one object, with no pages, for 2 credits.
Is there a rate limit?
5 calls a second per key, 20 a second after your first purchase. A request over the limit is told how long to wait and is not charged.
How do I use it from Claude, ChatGPT or Cursor?
Yes. In Claude or ChatGPT, add the MCP address https://mcp.socialtoai.com/mcp as a custom connector, sign in with the code we email you and press Allow; there is no key to paste. In Claude Code, run one command, type /mcp, pick socialtoai and sign in; Codex and Cursor sign in too, with their steps on the connect page. Then ask in plain words and your AI calls user_profile for you.
Start free · 100 credits

Your AI is one URL away
from all of social media.

100 credits on sign-up, no card needed