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

API Twitch Сведения

POST

Состояние API

Состояние за 24 ч
Норма
Среднее время за 24 ч
—
  • Стабильно / норма
  • Доступно
  • Ограничено
  • Почти недоступно
Норма

Получите профиль канала Twitch, статус Partner или Affiliate, данные текущей трансляции и последнего эфира. Недавние видео и топ-клипы возвращаются по умолчанию. Чтобы убрать эти разделы, задайте include_videos или include_clips логическим значением false. Доходы, имена подписчиков и закрытая аналитика недоступны.

Twitch Details получает один канал по username и возвращает его профиль (отображаемое имя, описание, аватар, баннер, подписчиков, дату создания), статус Partner или Affiliate, сведения о том, идёт ли сейчас трансляция, с текущим названием, игрой, числом зрителей и временем начала, а также название, игру и время последней трансляции. По умолчанию добавляются также недавние видео и лучшие клипы. Спонсоры, агентства и киберспортивные команды используют эту возможность, чтобы проверять стримеров, убеждаться, что канал всё ещё активен, и сравнивать каналы перед сделкой.

Поля о текущей трансляции описывают момент вызова; отличить активного стримера от того, кто перестал стримить, позволяет поле last_broadcast_at. Чтобы не получать видео или клипы, задайте для include_videos или include_clips логическое значение false, а не строку 'false'. Временной интервал для добавляемых здесь клипов отличается от интервала в возможности Twitch Clips, в которой период можно выбрать.

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

Промпт для ИИ

Помогите мне написать скрипт для сбора данных через эндпоинт EveryInfra Twitch Сведения (twitch/profile).

Как работает эндпоинт:
- Запрос: POST https://api.everyinfra.com/api/v1/social с заголовком Authorization: Bearer <API key>. Читайте ключ из переменной окружения EVERYINFRA_API_KEY и никогда не прописывайте его в коде.
- В теле запроса укажите platform: twitch и action: profile, а параметры передайте в params.
- Обязательные параметры:
  - username: Логин канала Twitch для profile или clips, можно с префиксом @. Полные URL twitch.tv не разбираются.
- Необязательные параметры:
  - include_clips: Логическое значение (по умолчанию true): включать ли в ответ profile подборку клипов. Период здесь отличается от отдельного эндпоинта clips.
  - include_videos: Логическое значение (по умолчанию true): включать ли в ответ profile данные о недавних видео из архива. Чтобы исключить этот раздел, передайте false; не передавайте строку "false".
- Возвращает один объект. Основные поля: user_id, username, display_name, bio, url, avatar_url, banner_url, follower_count, is_partner, is_affiliate, is_live, current_viewers; всего полей: 21, полный список: https://api.everyinfra.com/api/v1/social/catalog?platform=twitch.
- Пример тела запроса:
{
  "platform": "twitch",
  "action": "profile",
  "params": {
    "username": "shroud"
  }
}
- Цена: $1.39 за 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ДаtwitchИдентификатор платформы, фиксированное значение.
actionbodystringДаprofileИдентификатор возможности, фиксированное значение.
usernamebody.paramsstringДа-Логин канала Twitch для profile или clips, можно с префиксом @. Полные URL twitch.tv не разбираются.
include_clipsbody.paramsbooleanНет-Логическое значение (по умолчанию true): включать ли в ответ profile подборку клипов. Период здесь отличается от отдельного эндпоинта clips.
include_videosbody.paramsbooleanНет-Логическое значение (по умолчанию true): включать ли в ответ profile данные о недавних видео из архива. Чтобы исключить этот раздел, передайте false; не передавайте строку "false".

Примеры кода

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": "twitch",
  "action": "profile",
  "params": {
    "username": "shroud"
  }
}'

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

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

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

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

json
{
  "id": "req_…",
  "platform": "twitch",
  "action": "profile",
  "results": {
    "user_id": "•••",
    "username": "shroud",
    "display_name": "shroud",
    "bio": "I'm back baby",
    "url": "https://www.twitch.tv/shroud",
    "avatar_url": "https://static-cdn.jtvnw.net/•••",
    "banner_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/dbee25e8-55b7-4565-87f0-e9d4661dcc66-profile_banner-480.jpeg",
    "follower_count": 11293129,
    "is_partner": true,
    "is_affiliate": false,
    "is_live": false,
    "last_broadcast_title": "we are SAVED!",
    "last_broadcast_game": "WARDOGS",
    "last_broadcast_at": "2026-09-26T04:34:47.953850+00:00",
    "created_at": "2012-11-03T15:50:32.878470+00:00",
    "recent_videos": [
      {
        "id": "•••",
        "title": "we are SAVED!",
        "url": "https://www.twitch.tv/videos/2883804788",
        "view_count": 2687,
        "duration_seconds": 35971,
        "game": "WARDOGS",
        "created_at": "2026-09-25T18:35:12+00:00"
      },
      {
        "id": "•••",
        "title": "surely were saved..?",
        "url": "https://www.twitch.tv/videos/2882888067",
        "view_count": 252586,
        "duration_seconds": 28465,
        "game": "WARDOGS",
        "created_at": "2026-09-24T17:23:48+00:00"
      },
      {
        "id": "•••",
        "title": "playing till we get ddosed",
        "url": "https://www.twitch.tv/videos/2882056326",
        "view_count": 194144,
        "duration_seconds": 21413,
        "game": "WARDOGS",
        "created_at": "2026-09-23T17:50:24+00:00"
      }
    ],
    "top_clips": [
      {
        "id": "•••",
        "title": "wtf !!",
        "url": "https://www.twitch.tv/shroud/clip/SeductiveFurryPotCmonBruh--v2IUlxXQxpw8YUZ",
        "view_count": 2230,
        "duration_seconds": 39,
        "game": "Active Matter",
        "curator_username": "•••",
        "curator_name": "Taisseeer",
        "thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/f4e752a4-c4c1-42b9-a4a1-a7a28106a717/landscape/thumb/thumb-0000000000-1920x1080.jpg",
        "created_at": "2026-09-19T22:08:27+00:00"
      },
      {
        "id": "•••",
        "title": "Pilot Kill",
        "url": "https://www.twitch.tv/shroud/clip/BreakableAssiduousBulgogiUnSane-oAR-wxU-JuRMLxdl",
        "view_count": 1042,
        "duration_seconds": 21,
        "game": "WARDOGS",
        "curator_username": "•••",
        "curator_name": "primo11119",
        "thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/f45445b1-9e8c-4cfd-88b0-d6cbe5d00b61/landscape/thumb/thumb-0000000000-1920x1080.jpg",
        "created_at": "2026-09-21T18:00:52+00:00"
      },
      {
        "id": "•••",
        "title": "next level bush camper",
        "url": "https://www.twitch.tv/shroud/clip/VainCloudyHawkRiPepperonis-imxaRCvFhJlfVtvo",
        "view_count": 784,
        "duration_seconds": 60,
        "game": "WARDOGS",
        "curator_username": "•••",
        "curator_name": "Plot_C4",
        "thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/84be87c7-bea1-4ed5-b709-8fdcc5482baa/landscape/thumb/thumb-0000000000-1920x1080.jpg",
        "created_at": "2026-09-20T17:44:19+00:00"
      }
    ],
    "platform": "twitch"
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Поля ответа

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

ПолеЗначение
user_idУникальный ID пользователя на платформе.
usernameИмя пользователя (@handle).
display_nameОтображаемое имя; может отличаться от username.
bioОписание профиля, написанное владельцем аккаунта; может содержать переносы строк и эмодзи.
urlСсылка на запись на платформе.
avatar_urlСсылка на аватар. Некоторые платформы возвращают CDN-ссылки с заданным размером, срок действия которых может истечь.
banner_urlТрактуется так же, как на самой платформе
follower_countПодписчики. null означает, что значение не раскрыто, а не 0.
is_partnerТрактуется так же, как на самой платформе
is_affiliateТрактуется так же, как на самой платформе
is_liveТрактуется так же, как на самой платформе
current_viewersТрактуется так же, как на самой платформе
stream_titleТрактуется так же, как на самой платформе
current_gameТрактуется так же, как на самой платформе
stream_started_atТрактуется так же, как на самой платформе
last_broadcast_titleТрактуется так же, как на самой платформе
last_broadcast_gameТрактуется так же, как на самой платформе
last_broadcast_atТрактуется так же, как на самой платформе
created_atВремя создания, в том же формате, что и posted_at.
recent_videosНедавно опубликованные видео: у каждого есть название, ссылка, число просмотров, длительность и т. д.; поле отсутствует, если видео нет.
top_clipsТрактуется так же, как на самой платформе
platformИдентификатор исходной платформы. Совпадает со значением platform в запросе (например, xiaohongshu, tiktok).

FAQ

Что передавать в username?

Логин канала, как в twitch.tv/shroud, с @ в начале или без него. Полные ссылки twitch.tv не разбираются, поэтому передавайте только имя. Имя, которое показывается на канале, может отличаться от логина: в username хранится логин, а в display_name — отображаемое имя.

Чем Partner отличается от Affiliate?

Affiliate и Partner — уровни монетизации Twitch. is_affiliate обозначает начальный уровень Affiliate, а is_partner — высший уровень Twitch Partner, на ступень выше Affiliate. Уровень позволяет быстро оценить, насколько развит канал, ещё до обсуждения спонсорства.

Как понять, что стример всё ещё активен?

Смотрите на last_broadcast_at, время начала последней трансляции, вместе с last_broadcast_title и last_broadcast_game. is_live, current_viewers и stream_title описывают только момент вызова, поэтому канал, который сейчас не в эфире, всё равно может регулярно проводить трансляции.

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

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

Ошибки

Официальные источники

Используются только для проверки объектов и терминов. Они не означают, что платформа разрешила или одобрила работу EveryInfra.

  • Twitch: логин, отображаемое имя и тип вещателя ↗

    Официальная документация Twitch отдельно определяет login, display_name и broadcaster_type. Здесь параметр username должен содержать короткое имя канала: отображаемое имя и тип Partner/Affiliate не являются логином. Другие параметры, поддерживаемые официальными запросами данных пользователей, не добавляются в этот API автоматически.

    Проверено 2026-09-04