SocialToAIStart freeConsole
POST/v1/call/douyin.video_stats

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

100 credits on sign-up, no card needed
2 creditsper call
One objectreturned per call
2026-10-17last tested
1.0 KBsample response, 1 item

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"}
Sign in to run2 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK1.0 KB2 credits
{  "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}
@…
likes 171,024comments nullshares nullcollects nullviews 7,234,165

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

Sample dataFull response

1 parameter.
All required.

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

NameTypeRequiredDefaultDescription
idstringRequired—Video ID, a string of digits

Where to get what you send.

id

Video ID, a string of digits (e.g. 7694940173372575014)

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

The fields of each item.
What Douyin cannot give is marked.

FieldTypeMeaning
items[].urlstringalways nullA link that opens the item.
items[].formatstringalways nullvideo, image, text or article.
items[].titlestringalways nullThe title.
items[].textstringalways nullThe body text or caption.
items[].published_atstringalways nullWhen it was published, ISO 8601 in UTC.
items[].author.idstringalways nullThe author's account ID.
items[].author.usernamestringalways nullThe author's handle.
items[].author.namestringalways nullThe author's display name.
items[].author.verifiedbooleanalways nullWhether the author is verified.
items[].author.followersintegeralways nullThe author's follower count.
items[].metrics.likesintegerLikes.
items[].metrics.commentsintegeralways nullComments.
items[].metrics.sharesintegeralways nullShares.
items[].metrics.collectsintegeralways nullSaves.
items[].metrics.viewsintegerViews or plays.
items[].metrics.repostsintegeralways nullReposts.
items[].imagesstring[]always nullImage addresses.
items[].hashtagsstring[]always nullHashtags, without the #.
items[].is_pinnedbooleanalways nullWhether the author pinned it.
nullFields Douyin cannot give

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

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

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.

  1. Get a Douyin video's counts as of now, by its ID: 7694940173372575014.
    call {"op":"douyin.video_stats","id":"7694940173372575014"}
    2 credits
  2. Search Douyin for videos about "露营", then for the first 3: get a Douyin video's counts as of now, by its ID.
    search {"platform":"douyin","query":"露营"}call {"op":"douyin.video_stats","id":"<ref>"} × 3
    18 credits

Questions.
Short answers.

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

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

100 credits on sign-up, no card needed