Наша собственная статистика посещений включена всегда. Google Analytics помогает нам понять, как пользуются нашими публичными страницами (но не вашим рабочим пространством после входа), и включается только с вашего разрешения. См. нашу политику конфиденциальности.

API Douyin Тренды

POST

Состояние API

Данные о состоянии этого API временно недоступны, поэтому неизвестно, как он работал в последнее время. Это не значит, что API не работает.

Получайте популярные ключевые слова из списков трендов Douyin. У каждого ключевого слова есть позиция, показатель популярности, число связанных видео, статей и прямых эфиров, метка и лучшая позиция. Выберите списки через boards (по умолчанию hotspot). hot_value является собственным показателем Douyin, и сравнивать его можно только в пределах одного списка.

Douyin Trending получает текущие записи из одного или нескольких списков трендов Douyin: позицию, фразу тренда, показатель популярности, число связанных видео, название списка и обложку, а также, если Douyin их показывает, время события, лучшую достигнутую позицию и число связанных постов и прямых трансляций. Эти данные показывают, что пользователи Douyin смотрят прямо сейчас, и помогают в контент-планировании, ньюсджекинге, раннем выявлении связанных с брендом тем и планировании публикаций.

Выберите один или несколько списков с помощью boards: hotspot, seeding, entertainment, social или challenge. Если параметр не указан, возвращается список hotspot. Ключевое слово не нужно. hot_value содержит внутренний показатель популярности Douyin, который можно сравнивать только в пределах одного списка и который часто отсутствует в списке hotspot. rank отражает позицию на момент вызова, поэтому выполняйте вызовы по расписанию и сохраняйте каждый снимок, чтобы видеть, как меняются позиции.

Цена: $0.56 за 1 000 запросов ($0.000556 за вызов). Неудачные вызовы и пустые результаты не оплачиваются. Синхронный режим. Для долгих задач добавьте в тело запроса "mode": "async", получите job_id и опрашивайте статус.

Промпт для ИИ

Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra Douyin Тренды (douyin/trending).

Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: douyin и action: trending, а параметры передайте в params.
- Обязательных параметров нет.
- Необязательные параметры:
  - boards: Типы списков трендов для действия trending; передаются одной строкой или массивом строк: hotspot, seeding, entertainment, social и challenge. Если параметр не передан или передан пустой массив, используется hotspot. (допустимые значения: challenge / entertainment / hotspot / seeding / social)
  - limit: Максимальное число записей в этом вызове, целое число от 1 до 60. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. (по умолчанию: 20)
- Возвращает список записей. Основные поля каждой записи: rank (Позиция (нумерация с 1): место в тренда…), keyword (Ключевое слово: трендовая фраза в trend…), hot_value (Значение популярности, собственная метр…), video_count (Число видео: видео аккаунта в profile и…), board (Рейтинг, к которому относится запись), image_url, event_time (Время трендового события), sentence_id (ID трендовой фразы (trending)), group_id (ID трендового события (trending)), label (Числовой код значка записи в рейтинге (…), word_type (Числовой код типа трендовой фразы (tren…), article_count (Число связанных постов с изображениями…); всего полей: 19, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=douyin.
- Пример тела запроса:
{
  "platform": "douyin",
  "action": "trending",
  "params": {}
}
- Цена: $0.56 за 1 000 запросов; неудачные и пустые результаты не оплачиваются.
- Для десятков или сотен целей добавьте в тело запроса "mode": "async": вы сразу получите job_id и сможете опрашивать GET https://api.everyinfra.com/api/v1/jobs/{job_id}, чтобы получить результат.
- При ответе 422 исправьте запрос, используя предложенные в ошибке имена параметров и допустимые значения; при ответе 429 или 503 подождите указанное в Retry-After время и повторите попытку.

Прежде чем писать код, спросите меня, какие цели мне нужны, сколько их будет, какие поля мне нужны и в каком формате вывести результат; затем согласуйте со мной план и примерную стоимость.

Параметры запроса

ИмяРасположениеТипОбязательныйПо умолчаниюОписание
AuthorizationheaderstringДа-Укажите Bearer, а после него — ваш API-ключ. Создайте ключ в консоли; никогда не указывайте его в URL и не храните в репозитории кода.
platformbodystringДаdouyinИдентификатор платформы, фиксированное значение.
actionbodystringДаtrendingИдентификатор возможности, фиксированное значение.
boardsbody.paramsarrayНет-Типы списков трендов для действия trending; передаются одной строкой или массивом строк: hotspot, seeding, entertainment, social и challenge. Если параметр не передан или передан пустой массив, используется hotspot.Допустимые значенияchallengeentertainmenthotspotseedingsocial
limitbody.paramsinteger (1–60)Нет20Максимальное число записей в этом вызове, целое число от 1 до 60. Если параметр не указан, применяется значение по умолчанию; вызов может вернуть меньше записей. При значениях выше максимума эндпоинт возвращает ошибку 422 до списания средств.

Примеры кода

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "douyin",
  "action": "trending",
  "params": {}
}'

Спецификация OpenAPI (JSON)Примеры читают ключ из переменной окружения EVERYINFRA_API_KEY; скопированный код никогда не содержит ваш ключ.

Пример ответа

Реальный ответ

Получено October 24, 2026 at 18:28 (UTC) вызовом этого API с параметрами из примера кода выше. results и count — реальный ответ этого вызова, из которого удалены персональные данные (имена, никнеймы, аватары, ссылки на профили, контакты); в списке оставлены первые 2. id, billing и quota меняются при каждом вызове, поэтому показана только их структура.

json
{
  "id": "req_…",
  "platform": "douyin",
  "action": "trending",
  "results": [
    {
      "rank": 1,
      "keyword": "渡船之上 信仰如磐",
      "video_count": 1,
      "board": "hotspot",
      "event_time": "2026-10-25 02:34:26",
      "sentence_id": "2711825",
      "label": 0,
      "word_type": 14,
      "is_pinned": true,
      "platform": "douyin"
    },
    {
      "rank": 2,
      "keyword": "中超成都蓉城0:1大连英博",
      "hot_value": 11367047,
      "video_count": 12,
      "board": "hotspot",
      "image_url": "https://p5-ex-gddgtc-sign.douyinpic.com/tos-cn-i-dy/782a03e57ee24eb7b51eac3c0ee20e5e~noop.jpeg?lk3s=bfd515bb&x-expires=1792886400&x-signature=TFoV42oMHa89HkqBwV3AKbDx6sI%3D&from=3218412987",
      "event_time": "2026-10-24T07:01:06.000Z",
      "sentence_id": "2711309",
      "group_id": "7699487992537503010",
      "label": 3,
      "word_type": 1,
      "article_count": 0,
      "is_pinned": false,
      "max_rank": 1,
      "live_room_count": 0,
      "topic_view_count": 59034929,
      "sentence_tag": 5000,
      "label_icon_url": "https://lf3-static.bytednsdoc.com/obj/eden-cn/vjl_avo_upfbvk/ljhwZthlaukjlkulzlp/hotspot_detail_page/3.png",
      "platform": "douyin"
    }
  ],
  "count": 20,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Поля ответа

Бизнес-данные находятся в results. В таблице перечислены поля, которые может содержать запись; значения, которые платформа не показывает, никогда не выдумываются.

ПолеЗначение
rankПозиция (нумерация с 1): место в трендах в trending, позиция в рейтинге Xingtu в xingtu_creator_rankings, позиция в поисковом рейтинге в billboard_search_hot и место подсказки в поисковой строке Douyin в search_suggest.
keywordКлючевое слово: трендовая фраза в trending, поисковый запрос в billboard_search_hot, поисковая подсказка в search_suggest.
hot_valueЗначение популярности, собственная метрика Douyin, сопоставимая только в пределах одного рейтинга и временного интервала: в trending это популярность записи (в рейтинге горячих тем часто отсутствует); в видеорейтингах Hot Spot Treasure это оценка популярности в рейтинге, записи упорядочены по убыванию; в billboard_search_hot это популярность поискового запроса за этот интервал.
video_countЧисло видео: видео аккаунта в profile и billboard_account_search, видео, связанные с записью, в trending.
boardРейтинг, к которому относится запись.
image_urlСсылка на изображение. Возможности с несколькими изображениями могут возвращать массив image_urls.
event_timeВремя трендового события.
sentence_idID трендовой фразы (trending).
group_idID трендового события (trending); у некоторых записей пустой.
labelЧисловой код значка записи в рейтинге (trending), например «горячее», «новое» или «набирает популярность»; 0 означает, что значка нет.
word_typeЧисловой код типа трендовой фразы (trending).
article_countЧисло связанных постов с изображениями в тренде (trending).
is_pinnedЗакреплён ли элемент (записи постов: закреплён в профиле автора; trending: закреплён в рейтинге).
max_rankНаивысшая позиция, которой тренд достиг в рейтинге (trending).
live_room_countЧисло связанных прямых эфиров в тренде (trending).
topic_view_countТрактуется так же, как на самой платформе
sentence_tagТрактуется так же, как на самой платформе
label_icon_urlТрактуется так же, как на самой платформе
related_music_idТрактуется так же, как на самой платформе
platformИдентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok).

FAQ

Можно ли запросить несколько списков сразу?

Да. boards принимает одну строку или массив, а поле board каждой записи указывает, из какого списка она получена, поэтому группируйте по нему, прежде чем объединять результаты. Если не передать boards или передать пустой массив, вернётся только список hotspot.

Можно ли сравнивать hot_value между списками?

Нет. Это собственный показатель популярности Douyin, и он имеет смысл только в пределах одного списка; в записях hotspot он часто пустой. Для сравнения между списками используйте rank или счётчики связанного контента, например video_count и article_count.

Как отслеживать тренд во времени?

Вызывайте по расписанию и сохраняйте каждый результат со временем вызова. sentence_id связывает записи одной и той же фразы тренда между снимками, max_rank показывает лучшую достигнутую ею позицию, а is_pinned отмечает фразу, закреплённую вверху списка; такие фразы, возможно, стоит исключить из анализа позиций.

Ошибки и оплата

401
Ключ отсутствует или недействителен.
402
Недостаточно средств на балансе. Сначала пополните баланс.
422
Недопустимое имя или значение параметра. Исправьте запрос по подсказкам в сообщении об ошибке. Без списания.
429
Достигнут лимит запросов в минуту. Подождите указанное в Retry-After время, затем повторите попытку.
503
Не удалось выполнить. Зарезервированная сумма возвращается на баланс. Если результат неизвестен, проверьте его перед повторной попыткой.
200 (пусто)
Нет данных. Без списания.

Ошибки