SocialToAIStart freeConsole
POST/v1/call/douyin.brand_historyPreview

Douyin trend-index brand trends API

Only on Douyin.

The Douyin trend-index brand trends API returns a brand's day-by-day search, content and spread indexes on Douyin over a date range, from the platform's own index tool. An index is the platform's score, not a count; days are calendar days in China time (UTC+8). 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.4 KBsample response, 1 item

Last updated:

Preview: this interface is not marked stable yet, so its parameters and fields may still change. It is charged like any other call, and a failed call is not charged.

Request and response

curl https://api.socialtoai.com/v1/call/douyin.brand_history \  -H "Authorization: Bearer $SOCIALTOAI_KEY" \  -H "Content-Type: application/json" \  -d '{    "brand": "泡泡玛特",    "since": "2026-09-01T00:00:00Z",    "until": "2026-09-30T00:00:00Z"  }'
import osimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/call/douyin.brand_history",    headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"},    json={        "brand": "泡泡玛特",        "since": "2026-09-01T00:00:00Z",        "until": "2026-09-30T00:00:00Z",    },)print(response.json())
# Connected over MCP? Ask in plain words.Use the Douyin trend-index brand trends interface (douyin.brand_history) with brand: 泡泡玛特, since: 2026-09-01T00:00:00Z, until: 2026-09-30T00:00:00Z.# Your AI calls the call tool with:{  "brand": "泡泡玛特",  "since": "2026-09-01T00:00:00Z",  "until": "2026-09-30T00:00:00Z"}
Sign in to run2 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK1.4 KB2 credits
{  "op": "douyin.brand_history",  "platform": "douyin",  "status": "ok",  "items": [    {      "platform": "douyin",      "id": "泡泡玛特",      "ref": "泡泡玛特",      "approx": [],      "type": "entry",      "entry_type": "brand_history",      "title": "泡泡玛特",      "url": null,      "rank": null,      "heat": null,      "fields": {        "category": "母婴",        "points": [          {            "date": "2026-09-01T00:00:00Z",            "search_index": 121864,            "content_index": 41224,            "spread_index": 75601          },          {            "date": "2026-09-02T00:00:00Z",            "search_index": 122413,            "content_index": 46057,            "spread_index": 77637          },          {            "date": "2026-09-03T00:00:00Z",            "search_index": 122213,            "content_index": 45504,            "spread_index": 77642          },          {            "date": "2026-09-04T00:00:00Z",            "search_index": 122205,            "content_index": 54042,            "spread_index": 78337          },          {            "date": "2026-09-05T00:00:00Z",            "search_index": 124682,            "content_index": 42229,            "spread_index": 77377          },          {            "date": "2026-09-06T00:00:00Z",            "search_index": 124155,            "content_index": 42738,            "spread_index": 76569          },          {            "date": "2026-09-07T00:00:00Z",            "search_index": 121751,            "content_index": 41525,            "spread_index": 76108          }        ]      }    }  ],  "unavailable": [],  "cost_credits": 2}
entry_type
brand_history
category
母婴

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

Sample dataFull response

3 parameters.
All required.

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

NameTypeRequiredDefaultDescription
brandstringRequired—The brand's name, spelled as the index lists it
sincedatetimeRequired—The first day wanted: the China-time (UTC+8) calendar day this moment falls on
untildatetimeRequired—The last day wanted, read the same way. The platform publishes a day or two late: a day it has no figure for yet has a null index

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

FieldTypeMeaning
items[].titlestringThe entry's title or name.
items[].urlstringA link that opens it; null where the platform's list has none.
items[].rankintegerPosition on a board, from 1.
items[].heatintegerThe platform's heat score.
items[].fields.categorystringThe industry the platform puts the brand in, in the platform's words.
items[].fields.pointsarrayOne entry per day, oldest first: date, search_index, content_index, spread_index.
nullFields Douyin cannot give

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

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 brand's day-by-day search, content and spread indexes on Douyin over a date range, from the platform's own index tool (brand: 泡泡玛特, since: 2026-09-01T00:00:00Z, until: 2026-09-30T00:00:00Z).
    call {"op":"douyin.brand_history","brand":"泡泡玛特","since":"2026-09-01T00:00:00Z","until":"2026-09-30T00:00:00Z"}
    2 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.
What does “Preview” mean here?
Preview: this interface is not marked stable yet, so its parameters and fields may still change. It is charged like any other call, and a failed call is not charged.

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

100 credits on sign-up, no card needed