/v1/call/douyin.video_statsDouyin video play count API
Only on Douyin.
The Douyin video play count API returns a Douyin video's counts as of now, by its ID: plays and likes. One call costs 2 credits ($0.004 to $0.0067 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP. Last tested 2026-10-17.
Last updated:
Request and response
curl https://api.socialtoai.com/v1/call/douyin.video_stats \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "id": "7694940173372575014" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/call/douyin.video_stats", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "id": "7694940173372575014", },)print(response.json())# Connected over MCP? Ask in plain words.Use the Douyin video play count interface (douyin.video_stats) with id: 7694940173372575014.# Your AI calls the call tool with:{ "id": "7694940173372575014"}{ "op": "douyin.video_stats", "platform": "douyin", "status": "ok", "items": [ { "platform": "douyin", "id": "…", "ref": "…", "approx": [], "type": "content", "url": null, "format": null, "title": null, "text": null, "published_at": null, "author": null, "metrics": { "likes": 171024, "comments": null, "shares": null, "collects": null, "views": 7234165, "reposts": null }, "images": null, "hashtags": null, "is_pinned": null } ], "unavailable": ["url", "format", "title", "text", "published_at", "author.id", "author.username", "author.name", "author.verified", "author.followers", "metrics.comments", "metrics.shares", "metrics.collects", "metrics.reposts", "images", "hashtags", "is_pinned"], "cost_credits": 2}nullshares nullcollects nullviews 7,234,165Names and text were removed from the sample; the numbers are as recorded.
1 parameter.
All required.
Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Required | — | Video ID, a string of digits |
Where to get what you send.
idVideo ID, a string of digits (e.g. 7694940173372575014)
Every item these return carries its ref; send it as it is:
searchSearchuser_postsUser Postsrelated_videosRelated videoshashtag_videosHashtag videostrending · type=videosTrendingaccount_top_videosTrend-index creator top videoskeyword_videosTrend-index keyword hot videos
The fields of each item.
What Douyin cannot give is marked.
| Field | Type | Meaning |
|---|---|---|
| items[].url | stringalways null | A link that opens the item. |
| items[].format | stringalways null | video, image, text or article. |
| items[].title | stringalways null | The title. |
| items[].text | stringalways null | The body text or caption. |
| items[].published_at | stringalways null | When it was published, ISO 8601 in UTC. |
| items[].author.id | stringalways null | The author's account ID. |
| items[].author.username | stringalways null | The author's handle. |
| items[].author.name | stringalways null | The author's display name. |
| items[].author.verified | booleanalways null | Whether the author is verified. |
| items[].author.followers | integeralways null | The author's follower count. |
| items[].metrics.likes | integer | Likes. |
| items[].metrics.comments | integeralways null | Comments. |
| items[].metrics.shares | integeralways null | Shares. |
| items[].metrics.collects | integeralways null | Saves. |
| items[].metrics.views | integer | Views or plays. |
| items[].metrics.reposts | integeralways null | Reposts. |
| items[].images | string[]always null | Image addresses. |
| items[].hashtags | string[]always null | Hashtags, without the #. |
| items[].is_pinned | booleanalways null | Whether the author pinned it. |
nullFields Douyin cannot giveRead null as “Douyin did not give this”, not as zero. These are always null on this call:
urlA link that opens the item.formatvideo, image, text or article.titleThe title.textThe body text or caption.published_atWhen it was published, ISO 8601 in UTC.author.idThe author's account ID.author.usernameThe author's handle.author.nameThe author's display name.author.verifiedWhether the author is verified.author.followersThe author's follower count.metrics.commentsComments.metrics.sharesShares.metrics.collectsSaves.metrics.repostsReposts.imagesImage addresses.hashtagsHashtags, without the #.is_pinnedWhether the author pinned it.
Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format
What to expect.
1 call per second per key, 5 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
Once connected over MCP, these questions use it.
Get a Douyin video's counts as of now, by its ID: 7694940173372575014.
2 creditscall {"op":"douyin.video_stats","id":"7694940173372575014"}Search Douyin for videos about "露营", then for the first 3: get a Douyin video's counts as of now, by its ID.
18 creditssearch {"platform":"douyin","query":"露营"}call {"op":"douyin.video_stats","id":"<ref>"} × 3