API-ключ TikHub, документация API и SDK на GitHub: проверили шаг за шагом
Как получить API-ключ TikHub, где искать документацию API и какие SDK на GitHub всё ещё работают: проверка по состоянию на 3 ноября 2026 года и три реальных вызова API через EveryInfra.

3 ноября 2026 года мы скачали все публичные материалы TikHub для разработчиков и проанализировали их с помощью скриптов. Файл openapi.json объёмом 3,1 МБ содержит 1 058 путей к эндпоинтам — это около 840 000 токенов, которые модели придётся прочитать. Для 1 052 из этих эндпоинтов задокументированный ответ при успешном запросе представляет собой универсальную обёртку без полей данных. На GitHub последние коммиты в SDK для TypeScript, Go, Java и C++ датированы мартом 2025 года. Они охватывают лишь 32,3% из 1 055 активных сейчас эндпоинтов. Исключение — SDK для Python: версия 2.2.0 охватывает 99,2%.
В ту же ночь мы выполнили через EveryInfra три реальных вызова API: с помощью curl, нашего SDK для Python и удалённого MCP-сервера. Мы получили данные профиля TikTok, видео Douyin и заметки Xiaohongshu; общая стоимость составила $0,006668. По прейскуранту TikHub те же три запроса обошлись бы в 1,8 раза дороже, поэтому наши цены примерно на 44% ниже. TikHub дешевле в двух случаях: при большом суточном объёме запросов и для одного недокументированного эндпоинта Xiaohongshu. Оба случая мы рассматриваем ниже.
Охват, источники и чем эта статья отличается от остальных
У нас уже есть три статьи о TikHub. Статья об альтернативе TikHub сравнивает общее покрытие и цены. В разборе цен TikHub мы детально анализируем прайс-лист из 1 470 строк и бесплатные кредиты. Статья об альтернативе API TikHub для Douyin оценивает стоимость 37 возможностей Douyin по отдельности, а на странице альтернатив TikHub собрана сводка. Эта статья отвечает на другой вопрос: что хотят знать те, кто ищет «tikhub api key», «tikhub api doc» и «tikhub github», прежде чем написать первую строку кода.
Где взять ключ? Как устроена аутентификация? Какую документацию читать и какой SDK ещё работает? Сколько шагов отделяет вас от первого успешного ответа? К цене мы обращаемся только в конце, лишь для краткой сверки.
При анализе TikHub мы использовали только публичные материалы: страницу с тарифами, страницу начала работы, сайт документации и файл openapi.json. Сюда же входят прайс-лист и демо-эндпоинты, которые работают без ключа, публичная организация на GitHub и страницы на PyPI и npm. Все эти материалы мы изучили 3 ноября 2026 года с 00:15 до 00:37 по сингапурскому времени.
Мы не регистрировали аккаунт TikHub и не вызывали ни одного платного эндпоинта TikHub. Поэтому все сведения о работе платных функций TikHub основаны на его собственной документации. Со стороны EveryInfra все цифры получены в результате реальных вызовов в течение того же получаса. Токены подсчитывал скрипт, который прогоняет каждый скачанный файл через токенизатор o200k_base.

Как получить API-ключ TikHub: четыре действия в TikHub и четыре в EveryInfra
Первое, что хочет получить новый пользователь, — ключ. Страница начала работы TikHub называется «First API Call in 4 Steps». Первый шаг — зарегистрироваться и подтвердить email. На втором нужно просмотреть маркетплейс API, чтобы узнать цену каждого эндпоинта и условия использования бесплатных кредитов. Третий шаг — пополнить баланс для платных эндпоинтов, четвёртый — начать писать код. Мы прочитали страницу от первого до последнего слова.
Ни в одном из четырёх шагов не сказано, что нужно создать API-ключ. Инструкции по получению ключа находятся в конце страницы README - English на сайте документации, в разделе «Get API Token». Вы входите в аккаунт, открываете личный кабинет и выбираете пункт меню API token. Затем создаёте токен и копируете его в заголовок запроса. Читатель, который ограничится страницей начала работы, пройдёт все четыре шага и так и не узнает, где находится ключ.
Подтверждение email обязательно. На странице руководств и FAQ фраза «email is not verified» указана как одна из причин ответа 403. Там же сказано, что каждый пользователь может создать до 100 API-ключей, поэтому каждому проекту легко выдать свой ключ. На странице тарифов указано, что новым аккаунтам начисляют бесплатные кредиты на $0,05, которых хватает примерно на 50 запросов. Каждый человек может получить их только один раз. Если удалить аккаунт и создать его заново, повторно кредиты не начислят.
Там же сказано, что использовать бесплатные кредиты можно не для каждого эндпоинта, поэтому для некоторых эндпоинтов основной баланс требуется уже при первом вызове. Минимальная сумма пополнения — $5. Оплатить пополнение можно через PayPal, Alipay (до $250 в день) или USDT (сетевую комиссию вы оплачиваете сами). Политика возврата средств, обновлённая 20 июля 2026 года, гласит: «All Sales Are Final». Возврат средств возможен, только если эндпоинт действительно не работает и это подтвердила техническая команда TikHub.
Есть ещё одна ловушка: у TikHub два вида ключей. Ключи для эндпоинтов с данными из соцсетей создаются в личном кабинете на user.tikhub.io. Кроме того, у TikHub есть сервис ИИ-прокси в бета-версии. На его странице AI API сказано, что регистрироваться нужно отдельно на ai.tikhub.io, а ключ создавать в этой консоли.
На той же странице сказано, что прокси не работает с OpenAI Python SDK, Anthropic SDK и Google AI SDK. Нужно отправлять обычные HTTP-запросы без SDK. Ключ от одного сервиса не подходит для другого. Если поиск по «tikhub api key» привёл вас на страницу ИИ-прокси, созданный там ключ не откроет доступ к эндпоинтам данных.
В EveryInfra тоже четыре действия. Вы входите через GitHub, Google, номер телефона или адрес email. В консоли в разделе API Keys создаёте ключ; полный ключ показывается только один раз. Затем передаёте его в заголовке Authorization: Bearer, как описано в нашей документации.
Чтобы бесплатно попробовать EveryInfra, поставьте звёзды двум нашим репозиториям на GitHub и получите в консоли пробные кредиты на $1. Они действуют 24 часа. Сколько вызовов на них можно сделать, зависит от цены каждой возможности; ниже, в разделе о бесплатных кредитах, приведён расчёт для трёх случаев.
Если не хотите ничего отмечать звёздами, можно сразу пополнить баланс. Минимальный пакет на нашей странице тарифов стоит $10. По сравнению с TikHub у нас нет отдельной проверки email, но минимальное пополнение баланса вдвое больше, чем $5 у TikHub. Тем, кто хочет в первый день заплатить как можно меньше, TikHub подойдёт лучше.
| Действие | TikHub (публичная документация, дата обращения: 3 ноября 2026 г.) | EveryInfra (/docs и страница входа, дата обращения: 3 ноября 2026 г.) |
|---|---|---|
| Зарегистрироваться | user.tikhub.io/register, регистрация по email | GitHub, Google, номер телефона или email |
| Подтверждение | Нужно перейти по ссылке из письма, иначе вызовы завершаются ответом 403 | Отдельного шага нет (провайдер входа или одноразовый код) |
| Создание ключа | Личный кабинет → API token → создать; до 100 ключей на пользователя | Консоль → API Keys → создать; полный ключ показывается один раз |
| Область действия ключа | В документации упомянут ответ 403 «token lacks required permissions»; шагов настройки мы не нашли | Для каждого ключа можно отключить продукт (403 capability_denied); доступ на запись по умолчанию выключен |
| Бесплатные кредиты | Бесплатные кредиты на $0,05 начисляются при регистрации и позволяют сделать около 50 вызовов; они не действуют для эндпоинтов, доступных только за плату | Пробные кредиты на $1, если поставить звёзды двум репозиториям; действуют 24 часа, их нельзя использовать для решения капчи |
| Минимальное пополнение баланса | $5 (PayPal, Alipay, USDT) | Пакет на $10 |
| Второй тип ключа | Ключи ИИ-прокси выдаются на ai.tikhub.io | Один ключ даёт доступ к данным, поиску и решению капчи |
Для команд важнее всего строки о создании ключа и его области действия. Сто ключей на пользователя — щедрый лимит, если нужно разделять расходы по проектам. Но публичная документация TikHub не говорит, можно ли ограничить ключ отдельными эндпоинтами. Единственный намёк — примечание к коду статуса о токене, который «lacks required permissions». Наши ключи можно ограничить по продуктам в консоли.
Например, можно открыть ИИ-агенту API данных и закрыть решение капчи. Ключ можно и отключить, тогда каждый вызов будет возвращать 401. Чтобы изменить область действия ключа, повысить его лимиты или оплатить услуги, в консоль всегда должен войти человек. Ключ, созданный через API, никогда не получает больше прав, чем ключ, которым его создали. Поэтому ИИ-агент, у которого есть ключ, не может с его помощью изменить аккаунт.
Аутентификация: Bearer-токен в заголовке, cookie и ключи в URL
Оба сервиса используют Authorization: Bearer <key>. Эта форма описана в RFC 6750. В разделе 2.3 стандарта сказано, что токен в строке запроса URL «SHOULD NOT be used». В разделе 5.3 приведены ещё два правила. Не помещайте bearer-токены в URL страниц, потому что они могут сохраниться в истории браузера и логах сервера. Не храните их в файлах cookie, которые могут передаваться открытым текстом.
README TikHub описывает два способа. Первый, рекомендуемый, — заголовок. Второй — cookie с именем Authorization с пометкой «not recommended, only when method one is not available». На странице Swagger есть ещё одна мелочь. Когда вы нажимаете Authorize в правом верхнем углу, вставлять нужно только токен, без префикса Bearer. Страница добавляет префикс сама.

То, что сервис возвращает при ошибке аутентификации, говорит о нём больше, чем документация. Когда что-то идёт не так, ИИ-агент видит только тело ответа. В 00:19:39 по сингапурскому времени мы вызвали эндпоинт профиля TikTok в TikHub без ключа. Он ответил 401 за 0,21 секунды.
В заголовках ответа был WWW-Authenticate: Bearer, как того требует для 401 раздел 15.5.2 RFC 9110. Поле message содержало ссылку на якорь «api-token-introduction» в README. Там же были китайская версия сообщения и ссылка на Discord. Поле docs было равно null, а время было указано по часовому поясу Лос-Анджелеса.
В 00:18:54 по сингапурскому времени мы вызвали EveryInfra без ключа. Ответ: 401 с кодом missing_key, fault: account и retryable: false. Поле next_steps подсказывало передать ключ в заголовке Authorization и сообщало, что ничего не списано. В наших заголовках ответа нет WWW-Authenticate, так что здесь TikHub точнее следует стандарту, чем мы.

Неверные параметры — более частая ошибка. В 00:19:24 по сингапурскому времени мы вызвали tiktok/profile, передав user вместо username. EveryInfra вернул 422 missing_param и назвал username недостающим полем. В ответе говорилось, что user не является параметром этой возможности, а также были приложены рабочий пример и адрес каталога для платформы.
В openapi.json TikHub для 973 эндпоинтов объявлена ошибка валидации 422, а документированный формат совпадает со стандартным сообщением о валидации полей из его веб-фреймворка. Ключа TikHub у нас не было, поэтому мы не смогли проверить, как он на практике отвечает на опечатку в имени параметра. На этом сравнение заканчиваем.
| Статус | Причины в README TikHub | Ответ EveryInfra (/docs и этот тест) |
|---|---|---|
| 400 | Неверный формат запроса или неверные параметры; иногда внутренняя ошибка | unknown_capability: платформа или возможность не существует; сверьтесь с каталогом |
| 401 | Токен недействителен, отсутствует, не проходит проверку, неактивен, истёк или пользователь не найден | missing_key и связанные коды с next_steps; без списания |
| 402 | Недостаточно средств на балансе; отдельно для эндпоинтов, которые принимают бесплатные кредиты, и для тех, что не принимают | quota_exhausted: проверьте GET /api/v1/account, пополните баланс и повторите попытку |
| 403 | Права на маршрут, отключённый аккаунт, неподтверждённый email, права токена | account_disabled; продукт, отключённый для ключа, возвращает capability_denied |
| 422 | Ошибка валидации полей (объявлена для 973 эндпоинтов) | missing_param или недопустимое значение enum; в ответе указаны правильные имена параметров, допустимые значения и пример |
| 429 | Превышен лимит запросов (по умолчанию 10 запросов в секунду) | rate_limited; выдержите паузу, указанную в Retry-After |

Как не допустить, чтобы ключ попал в Git, логи и историю чатов
Когда ключ уже получен, обычно проблема не в том, что его угадает посторонний. Чаще вы сами добавляете его в репозиторий, показываете на скриншоте или вставляете в чат с ИИ-инструментом. Список поддерживаемых шаблонов GitHub делит правила сканирования секретов на три группы: универсальные правила, секреты, обнаруженные ИИ, и правила для конкретных провайдеров. 3 ноября в списке было 531 правило для конкретных провайдеров.
Здесь важнее всего одно общее правило. Оно называется http_bearer_authentication_header и ищет заголовок Authorization: Bearer, прописанный в коде. GitHub оценивает его точность как среднюю. Поэтому ключ, закоммиченный вместе с заголовком, может быть обнаружен. Но уведомление получают и могут отозвать ключ за вас только провайдеры из партнёрской программы GitHub. Во всех остальных случаях ключ нужно отключить самостоятельно в консоли.
28 октября 2026 года GitHub добавил в push protection обнаружение секретов с помощью ИИ. Новой проверке не нужен фиксированный формат ключа. Она анализирует имена переменных, пути к файлам и соседний код. По первым результатам число пушей, остановленных push protection, выросло более чем вдвое.
Однако по умолчанию эта проверка выключена. Сначала нужно включить обнаружение секретов с помощью ИИ и push protection. Функция доступна только организациям, которые платят за Secret Protection или Advanced Security, и расходует ИИ-кредиты. Большинству разработчиков-одиночек на обоих сервисах по-прежнему помогут три привычки.
Храните ключ в переменной окружения или в разделе для секретов в настройках клиентского приложения. В конфигурациях MCP указывайте ссылку вида ${EVERYINFRA_API_KEY} вместо самого ключа. Выдавайте каждому проекту отдельный ключ, чтобы при утечке отключить только его, а не все ключи. Лимит TikHub в 100 ключей на пользователя упрощает последнюю привычку. Наша консоль тоже позволяет создать несколько ключей, настроить для каждого список разрешённых IP-адресов и отключить продукты, к которым этому ключу не нужен доступ.
Оба сервиса по-прежнему поддерживают один менее надёжный способ. TikHub принимает токен в cookie с именем Authorization и помечает этот способ как нерекомендуемый. Раздел 5.3 RFC 6750 говорит, что токен в cookie нуждается в защите от межсайтовой подделки запросов. Он не должен передаваться в cookie, которые могут отправляться открытым текстом. У нас ранние MCP-коннекторы могли передавать ключ в строке запроса URL.
В нашей документации сказано, что этот способ ещё работает, но URL попадают в историю и логи, поэтому в новых конфигурациях его использовать не стоит. Наш ИИ-эндпоинт сразу отклоняет ключи в URL. RFC 6750 прямо говорит о токенах в строке запроса: «SHOULD NOT be used». Сегодня оба сервиса рекомендуют заголовок, так что здесь они сходятся.
Публичная документация TikHub не объясняет, как отключить или ротировать отдельный ключ; в ней лишь перечислены шесть причин ответа 401. У нас отключённый ключ возвращает 401, и снова включить или ротировать его может только человек в консоли.
| Риск | TikHub | EveryInfra |
|---|---|---|
| Ключ вставлен в репозиторий | Жёстко заданный в коде заголовок Bearer может быть обнаружен общим правилом GitHub; храните ключ в переменных окружения | То же самое; храните ключ в переменных окружения |
| Ключ вне заголовка | В README только заголовок и cookie; cookie помечен как нерекомендуемый способ | В старых MCP-коннекторах ключи в URL по-прежнему работают, но этот способ не рекомендуется; ИИ-эндпоинт такие ключи отклоняет |
| Отдельный ключ на проект | До 100 ключей на пользователя | Несколько ключей с отдельным списком разрешённых IP-адресов и настройками доступа к продуктам для каждого |
| Утечка ключа | Шагов по отключению в публичной документации нет | Мгновенное отключение; снова включить ключ может только человек |
Что можно сделать до получения ключа
Оба сервиса позволяют осмотреться до регистрации. У TikHub 8 демо-эндпоинтов; на сайте документации перечислено 9 позиций, и девятая показывает состояние кеша демо-эндпоинтов. Токен им не нужен: они возвращают фиксированные объекты и кешируют их на один час. Среди них фиксированные видео Douyin из веб-версии и приложения, поиск по Douyin и фиксированное видео Kuaishou. Кроме того, есть фиксированный пользователь TikTok, фиксированное видео из приложения TikTok, фиксированный пользователь Instagram и эндпоинт для извлечения статей WeChat.
В 00:19:38 по сингапурскому времени мы вызвали фиксированное демо для пользователя TikTok. Оно вернуло 200 за 0,65 секунды с аккаунтом tiktok: 96 500 000 подписчиков, 1 514 видео и точное значение 96 519 349 подписчиков в statsV2. Это удачное решение: вы видите реальную структуру ответа вообще без ключа. Но одна деталь сбивает с толку.
В демо-ответе сказано: «Request successful. This request will incur a charge.» Мы не передавали токен, поэтому списание было невозможно. Вероятная причина в том, что все эндпоинты используют одну и ту же модель ответа, а эта фраза — текст модели по умолчанию.
В EveryInfra демо-эндпоинтов нет. Вместо них без ключа работают каталог возможностей, список поисковых инструментов, список типов капчи и метод MCP tools/list. В каждой записи каталога указаны обязательные и необязательные параметры, максимальное число записей за вызов, price_usd, available и response_fields. Поэтому ещё до первого вызова вы знаете, какие поля получите и сколько стоит каждый вызов.
В 00:21:11 по сингапурскому времени мы отправили запрос tools/list по адресу https://api.everyinfra.com/mcp без ключа и получили 12 инструментов. У двух подходов разные сильные стороны. Демо TikHub показывают, как выглядит пример реального ответа. Наш каталог сообщает имена всех полей и цены ещё до первого вызова.
| Бесплатно без ключа | TikHub | EveryInfra |
|---|---|---|
| Реальные примеры ответов | 8 демо-эндпоинтов с фиксированными объектами; кеширование на 1 час | Нет |
| Список эндпоинтов и цены | Эндпоинт прайс-листа: 1 472 записи | Каталог из 573 возможностей с price_usd |
| Имена полей ответа | Не указаны для 1 052 эндпоинтов | Поле response_fields есть у всех 573 возможностей |
| Список MCP-инструментов | Число инструментов по платформам на /platforms | tools/list, 12 инструментов |
На сколько попыток хватит бесплатных кредитов
После вопроса «есть ли бесплатные кредиты?» возникает более важный: «хватит ли их, чтобы несколько раз попробовать каждый нужный мне эндпоинт?» Мы разделили сумму пробных кредитов каждой стороны на цены трёх сценариев из этой статьи. TikHub предоставляет бесплатные кредиты на сумму $0,05, которыми можно оплатить 631 из 1 472 записей его прайс-листа (42,9 %). На рекомендованный документацией TikHub эндпоинт заметки Xiaohongshu они не распространяются. В этом сценарии бесплатных кредитов не хватает ни на один вызов, и сначала нужно пополнить баланс на $5. Пробные кредиты EveryInfra на сумму $1 можно использовать для всего, кроме решения капчи, но они действуют только 24 часа.
| Сценарий | Число вызовов за счёт бесплатных кредитов TikHub | Число вызовов за счёт пробных кредитов EveryInfra |
|---|---|---|
| Профиль TikTok | $0.05 ÷ $0.001 = 50 | $1 ÷ $0.000556 ≈ 1,798 |
| Одно видео Douyin | 50 | около 1 798 |
| Заметка Xiaohongshu (эндпоинт, рекомендованный документацией TikHub) | 0; эндпоинт не принимает бесплатные кредиты | $1 ÷ $0.005556 ≈ 179 |
| Срок действия | Срок не указан; один раз на человека | 24 часа с момента получения |
Эту таблицу не стоит понимать просто как утверждение, что «наши пробные кредиты щедрее». Для $0,05 от TikHub срок действия не указан, что удобно тем, кто регистрируется сейчас, а тестирует через неделю. Наши пробные кредиты на сумму $1 нужно использовать в течение суток, что подходит тем, кто хочет наладить рабочий процесс уже сегодня.
У обеих сторон число вызовов зависит от цены. У TikHub тех же $0,05 хватит лишь на 5 вызовов эндпоинта стоимостью $0,01 и ни на один вызов эндпоинта, который не принимает бесплатные кредиты. У нас возможности стоимостью $0,000556, например получения профиля TikTok, хватит почти на 1 800 вызовов, а возможности получения заметки Xiaohongshu — на 179. Чтобы оценить свой случай, разделите сумму кредита на price_usd из каталога или запустите нашу утилиту командной строки с флагом --dry-run: она выведет оценку.
Где находится документация API TikHub: пять точек входа и файл на 840 000 токенов
У документации TikHub пять точек входа, которые во многом пересекаются. Есть сайт документации docs.tikhub.io, созданный с помощью облачного сервиса для документации API: в нём предусмотрены отдельная страница для каждого эндпоинта и экспорт в формате Markdown. Есть страница Swagger на api.tikhub.io, где можно вставить токен и попробовать выполнить вызов прямо в браузере. На основном сайте есть справочник API и страница руководств. Для ИИ предназначены llms.txt и llms-full.txt. Все они создаются из одного файла openapi.json, который также можно импортировать в Postman или генератор SDK.
| Точка входа | Адрес | Размер и содержимое (дата обращения: 3 ноября 2026 г.) | Для чего подходит |
|---|---|---|---|
| openapi.json | api.tikhub.io/openapi.json | 3 116 022 байта, 1 058 путей, около 839 775 токенов | Генерация SDK, импорт в Postman |
| Swagger | api.tikhub.io | Та же спецификация с формой для пробного вызова, куда вводится токен | Ручная проверка одного эндпоинта |
| Сайт документации | docs.tikhub.io | Индекс llms.txt из 1 274 строк, около 47 604 токенов; одна страница эндпоинта занимает около 2 295 токенов | Поиск параметров одного эндпоинта |
| llms.txt основного сайта | tikhub.io/llms.txt | 4 698 байт, около 1 279 токенов, только обзор и ссылки | Рассказать ИИ, что вообще есть |
| Руководства | tikhub.io/tutorials | FAQ и примеры на Python, JavaScript, Go, Java, PHP и cURL | Копирование примеров кода |
Об openapi.json полезно знать три вещи. Во-первых, в блоке info указаны версия V5.3.2 и время обновления 22 июня 2026 года, но число путей постоянно меняется. Когда 3 октября синхронизировался SDK для Python, путей было 1 050. 2 ноября 2026 года мы насчитали 1 056 путей, а 3 ноября 2026 года — уже 1 058, при этом номер версии не изменился. Если судить об изменении спецификации по номеру версии, вы ошибётесь.
Во-вторых, для 1 052 из 1 058 эндпоинтов схема успешного ответа ссылается на одну общую модель ResponseModel. Она описывает поля-обёртки, такие как code, message, request_id, time_zone и cache_url, а data имеет тип «any». Иначе говоря, спецификация объясняет, как отправить запрос, но не говорит, какие поля вернутся: узнать их можно только после вызова эндпоинта. В-третьих, файл большой. При объёме около 840 000 токенов он в 3,5 раза больше нашего полного каталога (240 429 токенов). Ни один ИИ-агент не сможет прочитать его целиком как руководство.
С той же проблемой размера сталкивались и другие разработчики. Один из них опубликовал руководство (на китайском) о том, как превратить openapi.json TikHub в Skill для Claude Code, а код выложил на GitHub. Идея в том, чтобы построить поисковый слой поверх эндпоинтов. Тогда модель ищет только то, что ей нужно, и не читает весь файл. Это показывает, что потребность реальна: чем больше у сервиса эндпоинтов, тем нужнее ему индекс по принципу «сначала найти, потом вызвать».
Собственное решение TikHub — отдельный MCP-сервер для каждой платформы, о нём ниже. Наше решение — каталог с фильтрами. GET /api/v1/social/catalog?platform=tiktok&compact=1 возвращает только TikTok, без описаний, и занимает 6 809 байт и 1 870 токенов. Это меньше одной страницы эндпоинта TikHub.
На сайте документации есть ещё одна небольшая ловушка. Третий пункт меню называется «Getting Started», но это руководство для продавцов, которые хотят торговать на маркетплейсе TikHub. В нём объясняется, как открыть магазин, продавать цифровые товары и платить комиссию за вывод средств в размере 1%. К вызову API оно отношения не имеет. Страница «Начало работы» для разработчиков находится на основном сайте по адресу tikhub.io/getting-started, а не на сайте документации. Читатель, который пришёл на сайт документации из поиска «tikhub api doc» и открывает пункты меню по порядку, первым делом читает страницу не по теме.
Расхождение между прайс-листом и документацией тоже сбивает с толку. Прайс-лист TikHub можно читать без токена. В 00:19:39 по сингапурскому времени в нём было 1 472 записи для 1 471 уникального пути. Мы сравнили их путь за путём с файлом openapi.json, полученным в ту же минуту.
1 038 путей есть в обоих источниках, 433 — только в прайс-листе, а 20 — только в документации. У 433 эндпоинтов, присутствующих только в прайс-листе, есть цена, но нет документации по параметрам. Большинство из них похожи на старые версии, но не все: как показано в разделе о ценах, к ним относится самый дешёвый эндпоинт заметки Xiaohongshu.
У EveryInfra точек входа меньше. /docs — руководство для людей. Каталог возможностей и его компактная версия предназначены для программ и ИИ-агентов. Наш файл OpenAPI имеет версию 2.0.0 и содержит 59 путей. Все возможности сбора данных доступны через один POST /api/v1/social и выбираются двумя полями: platform и action.
Есть также llms.txt размером 25 845 байт и отдельная страница документации для каждой платформы и каждой возможности, например API профиля TikTok. У всех 573 возможностей в каталоге указаны response_fields, так что имена и типы полей видны ещё до вызова. Наша слабость — обратная сторона того же решения. Когда за одним эндпоинтом стоят 573 возможности, универсальный генератор OpenAPI выдаёт единственный метод post(body). Автодополнение параметров зависит от нашего собственного SDK, о котором рассказывают следующие разделы.
| Наша точка входа | Адрес | Размер (дата обращения: 3 ноября 2026 г.) | Для чего подходит |
|---|---|---|---|
| Документация | everyinfra.com/docs | Руководство для людей: Быстрый старт, ошибки и настройка MCP | Прочитать один раз от начала до конца |
| Полный каталог | /api/v1/social/catalog | 971 955 байт, около 240 429 токенов | Программы, которым нужно всё |
| Компактный каталог | /api/v1/social/catalog?compact=1 | 136 528 байт, около 36 407 токенов | Агенты, которым нужны все платформы |
| Одна платформа | catalog?platform=tiktok&compact=1 | 6 809 байт, около 1 870 токенов | Агенты, которым нужна одна платформа |
| llms.txt | api.everyinfra.com/llms.txt | 25 845 байт, около 6 748 токенов | Рассказать ИИ, что вообще есть |
| OpenAPI | api.everyinfra.com/openapi.json | 707 924 байта, 59 путей, около 177 775 токенов | Импорт структуры запроса |
Отдаём документацию ИИ-агенту: сколько он прочитает до первого вызова
Многие разработчики уже не читают документацию API сами. Они просят Claude Code, Cursor или похожего агента для написания кода прочитать её и написать вызов. Тогда документация занимает место в контексте и увеличивает расходы. Поэтому мы взяли одну задачу — «найти эндпоинт профиля TikTok и написать первый запрос» — и по открытым материалам определили самый экономный путь чтения для каждого сервиса. Все подсчёты токенов получены скриптом, который прогнал o200k_base по исходным файлам, скачанным 3 ноября 2026 года с 00:16 до 00:23 по сингапурскому времени.
У TikHub самый экономный путь состоит из двух шагов. Агент читает индекс llms.txt на сайте документации (1 274 строки, около 47 604 токенов), находит строку для веб-эндпоинта TikTok «get user profile», а затем открывает Markdown-страницу этого эндпоинта (около 2 295 токенов). Всего получается около 49 899 токенов. Файл llms.txt основного сайта занимает всего 1 279 токенов, но в нём перечислены платформы и ссылки, а не эндпоинты, поэтому агенту всё равно приходится переходить на сайт документации.
Полный openapi.json объёмом около 839 775 токенов нет смысла давать на чтение ни одному агенту. Другой путь — MCP-сервер TikHub. У сервера для TikTok 163 инструмента, поэтому подключённая модель получает 163 описания инструментов. Чтобы получить их список, нужен токен, поэтому их объём мы не измеряли.
У нас самый экономный путь состоит из одного шага: GET /api/v1/social/catalog?platform=tiktok&compact=1, 6 809 байт и около 1 870 токенов. В нём есть параметры, цены и имена полей ответа для каждой возможности TikTok, и этого достаточно, чтобы составить запрос. На этом пути TikHub требует прочитать примерно в 26,7 раза больше, чем мы. Это соотношение показывает, сколько агенту нужно прочитать ради одного эндпоинта, а не качество документации.
На страницах эндпоинтов TikHub есть описания на двух языках и подробные примеры параметров. Наш компактный каталог отбрасывает описания и оставляет только имена, поэтому его дешевле читать, но он и проще. Оба сервиса публикуют llms.txt для ИИ-агентов. Идея взята из предложения llms.txt, где рекомендуется короткий индекс в формате Markdown со ссылками на подробные сведения; оба сервиса следуют этой рекомендации.
| Путь чтения | TikHub | EveryInfra |
|---|---|---|
| Только индекс | llms.txt основного сайта, около 1 279 токенов (только ссылки) | llms.txt, около 6 748 токенов (использование и новые возможности) |
| Найти один эндпоинт и написать запрос | Индекс документации — 47 604 токена + одна страница — 2 295 токенов ≈ 49 899 токенов | Компактный каталог для одной платформы ≈ 1 870 токенов |
| Полное описание API | openapi.json, около 839 775 токенов | Полный каталог — около 240 429 токенов; openapi.json — около 177 775 токенов |
| Подключение по MCP | Отдельный сервер для каждой платформы; у TikTok 163 инструмента | Один сервер с 12 инструментами; tools/list занимает около 3 779 токенов |
| Поля ответа видны до вызова | Для 1 052 эндпоинтов описана только общая обёртка | Для всех 573 возможностей указаны response_fields |
tikhub github: проверили все 12 публичных репозиториев по очереди
В 00:16 по сингапурскому времени в организации TikHub на GitHub было 12 публичных репозиториев. Через GitHub API мы получили число звёзд и время последнего пуша для каждого из них. Затем клонировали 6 репозиториев с SDK и плагинами. Скрипт извлёк из их исходного кода все жёстко заданные пути эндпоинтов /api/v1/... и сравнил их с openapi.json за тот же день.
| Репозиторий | Звёзды | Последний пуш | Путей в коде | Есть в текущей документации | Доля от 1 055 активных на сегодня эндпоинтов |
|---|---|---|---|---|---|
| TikHub-API-Python-SDK | 934 | 2026-10-03 | 1,048 | 1,048 | 99.2% |
| tikhub-plugin (плагин для Claude Code) | 9 | 2026-06-16 | 1,109 | 872 | 82.4% |
| TikHub-API-TypeScript-SDK | 6 | 2025-03-17 | 586 | 341 | 32.3% |
| TikHub-API-GoLang-SDK | 4 | 2025-03-09 | 588 | 341 | 32.3% |
| TikHub-API-Java-SDK | 20 | 2025-03-09 | 586 | 341 | 32.3% |
| TikHub-API-CPP-SDK | 2 | 2025-03-09 | 586 | 341 | 32.3% |
Репозиторий Python SDK поддерживается лучше всех в организации, и прежде всего стоит отдать ему должное. В его коммите от 2 октября (по тихоокеанскому времени) сказано: «sync SDK to live OpenAPI spec, skip deprecated endpoints (1048 endpoints)», а на следующий день на PyPI вышла версия 2.2.0. Все 1 048 путей, которые мы из него извлекли, по-прежнему есть в сегодняшней документации; нерабочих среди них нет. В нём есть синхронный и асинхронный клиенты, автоматические повторные попытки и обработка лимитов запросов, он проходит mypy --strict, а README доступен на английском, китайском, французском, испанском и японском.
В нём не хватает только 9 эндпоинтов, добавленных после 3 октября: эндпоинта комментариев к публикациям Bilibili, пяти эндпоинтов асинхронных заданий для LinkedIn, двух новых эндпоинтов Threads и списка бестселлеров TikTok Shop. При темпе около 9 новых эндпоинтов в месяц SDK всегда будет немного отставать до следующей синхронизации.
SDK для остальных четырёх языков отстают гораздо сильнее. SDK для TypeScript, Go, Java и C++ сгенерированы из спецификации OpenAPI в марте 2025 года и с тех пор не менялись. Из 586 путей в их коде (588 в Go) 245 (247 в Go) уже нет в документации. Вызов этих методов вернёт 404 или другую ошибку. Оставшийся 341 путь покрывает 32,3% текущих эндпоинтов. У TypeScript SDK есть и более прямая проблема.
На npm пакет называется @tikhubio/tikhub-api-ts-sdk, последняя версия — 1.0.1. Но обе команды установки на странице npm указывают @tikhub/tikhub-api-ts-sdk. Мы запросили реестр npm в 00:36 по сингапурскому времени, и это имя вернуло 404, так что скопированная команда не сработает. Команда в README на GitHub правильная.
На странице Python SDK на PyPI ошибка помельче. Ссылка «Homepage» ведёт на TikHub-API-Python-SDK-V2, который тоже возвращает 404. В README по-прежнему указана версия 2.1.1, тогда как на PyPI уже 2.2.0.
У остальных репозиториев своё назначение. В TikHub-API-Demo лежат примеры скриптов от декабря 2024 года, разложенные по Douyin, Instagram, Kuaishou и TikTok. TikHub-Multi-Functional-Downloader — десктопный загрузчик с графическим интерфейсом; у него 193 звезды, это самый популярный репозиторий после Python SDK. tikhub-mcp-dist нужен тем, кто хочет запускать MCP-сервер локально.
TikHub_n8n_Integration добавляет в n8n узлы TikHub, последний пуш в нём был 393 дня назад. Официальный аккаунт TikHub опубликовал воркфлоу с Claude, n8n и TikHub на Reddit. Spinneret, который ещё обновлялся 2 ноября 2026 года, — это сервис для управления расписанием использования учётных данных и прокси, к вызову API он отношения не имеет.
По запросу «tikhub github» находятся и парсеры с открытым исходным кодом, которые можно развернуть у себя. За вызовы платить не нужно, но подписывание запросов, обход антибот-защиты платформ, обновление версий и работу собственных серверов придётся обеспечивать самостоятельно.
Какой путь подходит для вашего языка
Если перевести данные о SDK в варианты выбора, ответ зависит от языка. У разработчиков на Python готовый пакет есть у обоих сервисов. pip install tikhub от TikHub даёт самое широкое покрытие и асинхронный клиент. Наш pip install everyinfra не имеет зависимостей и включает инструмент командной строки и оценку стоимости. Разработчикам на JavaScript и TypeScript npm-пакет TikHub мало что даёт: он не обновлялся с марта 2025 года, покрывает 32,3% эндпоинтов, а имя пакета в команде установки приходится исправлять вручную.
Наш npm-пакет вышел в тот же день, что и Python-пакет, и зависит только от функции fetch, встроенной в Node 18 и более поздние версии. Разработчикам на Go, Java, C++ и PHP у обоих сервисов лучше всего подойдёт обычный HTTP. SDK TikHub для этих языков устарели, но на его странице с руководствами есть примеры запросов на Go, Java и PHP, которые можно скопировать. У нас SDK для этих языков нет. Зато все возможности сбора данных вызываются через один и тот же POST /api/v1/social. Вы пишете одну функцию запроса и для каждой платформы меняете только platform и action.
| Ваш язык | TikHub | EveryInfra |
|---|---|---|
| Python | pip install tikhub 2.2.0, синхронный и асинхронный клиенты, покрытие 99,2% | pip install everyinfra 0.3.0, типизированные имена, CLI с оценкой стоимости |
| JavaScript или TypeScript | npm 1.0.1 от марта 2025 года, покрытие 32,3%, имя для установки со страницы npm возвращает 404 | npm install everyinfra 0.3.0, использует встроенный fetch |
| Go, Java, C++ | SDK от марта 2025 года, покрытие 32,3%; надёжнее обычный HTTP | SDK нет; одна HTTP-функция покрывает все возможности |
| PHP или cURL | Примеры на странице с руководствами | Примеры curl в разделе «Быстрый старт» документации |
Здесь есть архитектурное различие, которое легко упустить: от устройства API зависит, насколько важен его SDK. У каждого эндпоинта TikHub свой путь и свои имена параметров, поэтому 1 055 эндпоинтов превращаются в 1 055 функций. SDK, отстающий на месяц, пропускает эндпоинты. У SDK, отстающего на полтора года, примерно четыре метода из десяти уже не работают. Это большая нагрузка на поддержку, и она объясняет, почему актуальным остаётся только один SDK из пяти. У нас один эндпоинт, поэтому в нашем SDK обновлять нужно только список названий возможностей.
Когда появляется новая возможность, старый SDK всё равно может вызвать её обычной строкой; просто редактор не предложит её в автодополнении. Ни одна из архитектур не лучше во всех случаях. У TikHub проверка типов охватывает параметры каждого эндпоинта. У нас SDK трудно сломать.
Наши примеры кода лежат в публичном репозитории everyinfra-agent-plugins. Для примера с прокси в нашей документации указано, что он был запущен 24 октября 2026 года, по одному разу на каждом языке документации.
У нас: Python SDK, CLI и удалённый MCP-сервер
SDK EveryInfra вышел 1 ноября 2026 года. everyinfra 0.3.0 на PyPI и everyinfra 0.3.0 на npm опубликованы в один день. Те же файлы с контрольными суммами SHA-256 есть в релизе sdk-v0.3.0 на GitHub. SDK не сгенерирован из OpenAPI. Как сказано выше, 573 возможности работают через один эндпоинт, поэтому универсальный генератор создал бы только один универсальный метод.
Вместо этого мы генерируем имена платформ и возможностей как литеральные типы из реестра возможностей нашего бэкенда. Редактор может их автодополнять и сразу подсвечивать опечатки. Рано утром 3 ноября мы установили 0.3.0 и посчитали их. В списке типов 106 платформ и 573 возможности, и он полностью совпадает с актуальным каталогом: ничего лишнего и ничего не пропущено.
Тот же пакет устанавливает инструмент командной строки everyinfra. Команды everyinfra catalog --find и everyinfra describe tiktok/profile не требуют API-ключа и показывают возможности, параметры, поля ответа и цены. --dry-run выводит запрос и оценку стоимости по цене из прайс-листа, ничего не отправляя. --max-cost-usd не даёт отправить запрос, если оценка превышает ваш лимит.
everyinfra mcp-config --client claude выводит конфигурацию MCP для указанного клиента. API-ключ в ней берётся из переменной окружения и не записывается в файл. В SDK TikHub ничего подобного нет. Эти функции снимают три опасения, которые возникают, когда ИИ-агент вызывает API за вас: агент может вызвать не то, сделать слишком много вызовов или записать API-ключ в файл.
К удалённому MCP два сервиса подходят по-разному. TikHub разделяет серверы по платформам. Его страница MCP и llms.txt дают отдельный адрес для каждой платформы, например https://mcp.tikhub.io/tiktok/mcp, так что для каждой нужной платформы вы добавляете отдельную запись в конфигурацию. Его список платформ, доступный без токена, показывает число инструментов на каждом сервере: 319 у Douyin и 163 у TikTok. Плюс в том, что каждый эндпоинт — отдельный инструмент.
Минус в том, что один только сервер Douyin показывает модели 319 описаний инструментов. У нас один адрес, https://api.everyinfra.com/mcp, с 12 инструментами.
Любая возможность сбора данных вызывается через everyinfra_call_api с двумя аргументами, platform и action, а бесплатный инструмент everyinfra_list_capabilities позволяет сначала найти нужную возможность; tools/list в сумме занимает 3 779 токенов. Спецификация MCP допускает оба подхода. Текущая редакция датирована 28 июля 2026 года. Согласно её разделу о транспорте, протокол не хранит состояние. Нет ни рукопожатия initialize, ни идентификатора сессии. При Streamable HTTP каждое сообщение отправляется отдельным HTTP POST на один и тот же адрес, а каждый запрос передаёт версию протокола в _meta.
Наши два MCP-запроса в 00:21:11 работали именно так. Мы отправили tools/list, а затем tools/call без рукопожатия, и оба вернули результаты. Раздел об авторизации основан на OAuth 2.1, но в нём сказано, что авторизация OPTIONAL, то есть необязательна. Недостаток обычного ключа в том, что клиент не может провести за вас процедуру входа, поэтому ключ приходится вставлять вручную.
Ни один из сервисов не использует OAuth; оба принимают ключ в заголовке запроса. Вот пример конфигурации. Имена полей зависят от клиента, поэтому сверьтесь с его документацией, а ключ храните в переменной окружения:
{
"mcpServers": {
"everyinfra": {
"type": "http",
"url": "https://api.everyinfra.com/mcp",
"headers": { "Authorization": "Bearer ${EVERYINFRA_API_KEY}" }
}
}
}Три реальных вызова: curl, Python SDK и MCP
Чтобы путь «от ключа до первого успешного вызова» стал конкретным, мы выбрали три распространённых запроса на получение данных, которые поддерживают оба сервиса, и для каждого использовали свой способ вызова. Каждый вызов получает данные одного объекта: профиля TikTok, видео Douyin или заметки Xiaohongshu. У нас это tiktok/profile, douyin/video и xiaohongshu/note. В документации TikHub им соответствуют tiktok/web/fetch_user_profile, douyin/web/fetch_one_video и эндпоинт, который документация в первую очередь рекомендует для заметок, xiaohongshu/app_v2/get_image_note_detail.
Первый вызов мы сделали через curl. Он ушёл в 00:18:54 по сингапурскому времени и через 30 секунд вернул данные аккаунта tiktok: 96 500 000 подписчиков и 1 514 видео; за вызов списано $0,000556. Это тот же аккаунт, что и в демо-ответе TikHub, но statsV2 у TikHub даёт точное число (96 519 349), а мы возвращаем округлённое. Если вам нужно точное число подписчиков, здесь лучше TikHub.
curl -X POST https://api.everyinfra.com/api/v1/social \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform":"tiktok","action":"profile","params":{"username":"tiktok"}}'Второй вызов мы сделали через Python SDK 0.3.0. Запрос ушёл в 00:20:19 по сингапурскому времени, и через 27,4 секунды мы получили ролик с обзором аэрофритюрницы в Douyin. У видео было 33 693 лайка и 2 101 комментарий, а вызов стоил $0,000556. Код занимает несколько строк, а ключ берётся из переменной окружения:
import os
from everyinfra import EveryInfra
ei = EveryInfra(os.environ["EVERYINFRA_API_KEY"])
video = ei.data("douyin", "video", url="https://www.douyin.com/video/7633263781723770163")
print(video["billing"]["charged_usd"])Третий вызов шёл через удалённый MCP. В 00:21:11 по сингапурскому времени мы отправили tools/call для инструмента everyinfra_call_api. За 42,2 секунды он вернул заметку Xiaohongshu, опубликованную 25 октября 2026 года: 992 лайка и 567 комментариев, списано $0,005556. В поле result.content[0].text лежит тот же JSON, что и при REST-вызове, включая billing.

| Время (SGT) | Метод | Возможность | Длительность | Результат | Списано |
|---|---|---|---|---|---|
| 00:18:54 | curl без ключа | tiktok/profile | меньше 1 с | 401 missing_key | $0 |
| 00:18:54 | curl | tiktok/profile | 30 s | 200, 1 профиль | $0.000556 |
| 00:19:24 | curl, неверное имя параметра | tiktok/profile | меньше 1 с | 422 missing_param | $0 |
| 00:20:19 | Python SDK 0.3.0 | douyin/video | 27.4 s | 200, 1 видео | $0.000556 |
| 00:21:11 | Удалённый MCP-сервер | xiaohongshu/note | 42.2 s | 200, 1 заметка | $0.005556 |
| 00:21:11 | MCP tools/list без ключа | none | меньше 1 с | 12 инструментов | $0 |
Нужно сказать прямо: все три успешных вызова были медленными, от 27 до 42 секунд. У наших синхронных вызовов лимит 85 секунд; вызов, который длится дольше, завершается ошибкой тайм-аута и не оплачивается. Для пакетной обработки наша документация советует добавить "mode": "async", чтобы получить ID задания и забрать результат позже. Токена TikHub у нас не было, поэтому замерить время его реальных эндпоинтов мы не смогли.
Мы знаем только, что его демо-эндпоинт за 0,65 секунды вернул заранее заданный объект из кеша. В блоке info его openapi.json указана настройка тайм-аута от 30 до 60 секунд и рекомендуется использовать собственный прокси для запросов дольше 30 секунд. Эта статья не отвечает на вопрос, какой сервис быстрее.
Разбираем ответ: где данные и где стоимость
После первого успешного вызова встаёт вопрос, как разбирать ответ, и обёртки у двух сервисов сильно различаются. У всех эндпоинтов TikHub общая обёртка. По ResponseModel в openapi.json и демо-ответу мы насчитали 15 полей верхнего уровня: code, message, message_zh, request_id, support, time, time_stamp, time_zone, docs, cache_message, cache_message_zh, cache_url, router, params и data. Данные лежат в data, и их структура зависит от эндпоинта.
Чаще всего данные выглядят как исходный ответ самой платформы. Например, для профиля TikTok они находятся в data.userInfo.user и data.userInfo.stats, а названия полей платформы записаны в camelCase. Плюс — полнота: вы получаете всё, что вернула платформа. Минус — для каждой платформы и каждой версии эндпоинта нужен свой парсер.
Обёртка TikHub не сообщает, сколько стоил вызов. В документации сказано, что вызов оплачивается, если возвращает 200. Чтобы узнать расходы, нужно вызвать пользовательские эндпоинты: в группе TikHub-User-API на сайте документации есть эндпоинт дневного использования и эндпоинт расчёта цен. Обёртка EveryInfra содержит id, platform, action, results, billing и quota.
В поле results используются имена полей из response_fields каталога; у профиля TikTok это username, follower_count и video_count. billing.charged_usd — фактическая стоимость этого вызова в долларах США, а balance_after_usd — баланс после него. В пакете запросов общую стоимость получают, складывая значения charged_usd; именно так мы проверили стоимость трёх вызовов в этой статье.
| Что вас интересует | Ответ TikHub | Ответ EveryInfra |
|---|---|---|
| Данные | data, собственная структура платформы, у каждого эндпоинта своя | results, имена полей из каталога |
| ID вызова | request_id | id (вида req_…) |
| Стоимость этого вызова | Нет в обёртке; проверьте эндпоинт статистики использования за день | billing.charged_usd |
| Баланс после вызова | Нет в обёртке | billing.balance_after_usd |
| Доступ к исходному ответу позже | cache_url: исходный ответ можно бесплатно открыть в течение 24 часов | Записи о вызовах по id; исходный ответ не хранится |
| Время | time плюс time_zone (Лос-Анджелес) | Метки времени ISO 8601 с часовым поясом |
Небольшая проверка цен
Цене подробно посвящены две наши статьи, поэтому здесь мы лишь сравниваем три сценария. В каждом из них читается один объект, так что цена за 1 000 вызовов совпадает с ценой за 1 000 результатов.
| Сценарий | Эндпоинт TikHub (прайс-лист проверен в 00:19 SGT) | TikHub за 1 000 | Скидка доступна? | Списание EveryInfra за 1 000 | Разница |
|---|---|---|---|---|---|
| Профиль TikTok | tiktok/web/fetch_user_profile | $1.00 | Да; $0,50 при более чем 30 000 вызовов в день | $0.556 | По базовой цене TikHub в 1,8 раза дороже нас; его минимальная цена, $0,50, на 10% ниже нашей |
| Одно видео Douyin | douyin/web/fetch_one_video | $1.00 | Нет | $0.556 | TikHub в 1,8 раза дороже нас |
| Заметка Xiaohongshu (рекомендована в документации) | xiaohongshu/app_v2/get_image_note_detail | $10.00 | Нет, и бесплатных кредитов тоже нет | $5.556 | TikHub в 1,8 раза дороже нас |
| Заметка Xiaohongshu (v5, только в прайс-листе) | xiaohongshu/web/get_note_info_v5 | $1.00 | Да | $5.556 | Мы в 5,6 раза дороже TikHub, но этого эндпоинта нет в его документации |
По прейскуранту TikHub во всех трёх сценариях стоит в 1.8 раза дороже нас, то есть мы дешевле примерно на 44%. Это соответствует ценовому уровню $0.000556 в нашем каталоге. TikHub дешевле в двух случаях. Первый случай связан с объёмом. В llms.txt TikHub описана ежедневная шкала скидок, которая доходит до половины цены при объёме свыше 30 000 вызовов в день. Эндпоинт профиля TikTok допускает скидки, поэтому на верхнем уровне он стоит $0.50 за 1 000, что ниже наших $0.556.
Второй — недокументированный эндпоинт. В прайс-листе TikHub есть эндпоинт данных о заметке Xiaohongshu v5 по цене $0,001 за вызов. Его цена составляет одну десятую цены эндпоинта app V2, рекомендованного в документации TikHub, а наша цена в 5,6 раза выше цены v5. Но v5 отсутствует в openapi.json, поэтому документации по его параметрам нет и мы не можем оценить его стабильность. Полное сравнение цен — в статьях Тарифы TikHub: подробный разбор и 37 возможностей Douyin: цена каждой.
При оценке первого счёта стоит учитывать и неудачные вызовы, а пока вы осваиваете API, их обычно много. Наш вызов без ключа в 00:18:54 и вызов с неверным параметром в 00:19:24 по сингапурскому времени вернули ошибки со значением charged_usd, равным 0. Мы проверяем параметры до списания, поэтому за опечатку в имени параметра плату не списываем и последующий возврат не требуется. В FAQ TikHub сказано, что оплачиваются «только успешные запросы». Запрос считается платным, если возвращается ответ с кодом 200, а за неудачные запросы плата не взимается. Цены — от $0,001 до $0,01 за запрос.
По этому правилу ошибки 401, 403 и 422 у них тоже ничего не стоят, хотя без ключа мы не смогли это проверить. Настоящая разница — в ответе «200 без данных». За пустые результаты мы делаем возврат средств по тому же charge_id. Мы не нашли у TikHub страницы, где описан возврат за пустые результаты, а в его политике возвратов сказано, что пополнения баланса не возвращаются.
Поэтому, пока ИИ-агент подбирает параметры, ошибочные вызовы у обоих сервисов, скорее всего, ничего не стоят. Разница проявляется на вызовах, которые завершаются успешно, но без данных. Пример — переименованный аккаунт или удалённое видео: платформа всё равно отвечает 200. Чем больше таких целей в пакете, тем сильнее расходятся два счёта.
Когда TikHub подходит лучше
Без этого раздела сравнение выше было бы нечестным. Каждая строка ниже основана на открытых материалах, на которые ссылается статья.
| Ситуация | Почему TikHub подходит лучше | Источник |
|---|---|---|
| Вы пишете на Python и хотите асинхронность и строгую типизацию | В Python SDK 2.2.0 есть синхронный и асинхронный клиенты, он проходит mypy --strict и покрывает 99,2% текущих эндпоинтов | GitHub, PyPI |
| Вам нужны очень специфичные эндпоинты | 1 055 активных эндпоинтов в openapi.json; только у Douyin их 319, включая Xingtu, Douyin Index и DOU+ | openapi.json, список платформ MCP |
| Вы хотите увидеть реальный ответ до регистрации | 8 демонстрационных эндпоинтов работают без токена и возвращают ответы с реальной структурой | Сайт документации, Demo API |
| Вы хотите пополнить баланс на минимальную сумму | Минимальное пополнение баланса — $5, у нас — $10 | Страница тарифов |
| Вам нужны сообщения из прямых эфиров в реальном времени | Есть эндпоинты прямых эфиров на WebSocket с оплатой за каждое сообщение | llms-full.txt |
| Вам нужно точное число подписчиков | TikTok statsV2 возвращает точное число | Демо-ответ в этом тесте |
| Вам нужен стандартный заголовок при 401 | Его 401 отправляет WWW-Authenticate: Bearer, наш — нет | Заголовки ответа в этом тесте |
У TikHub есть ещё одно решение, которого нет у нас. Каждый успешный ответ содержит cache_url, по которому исходный JSON этого вызова можно бесплатно открыть повторно в течение 24 часов. На странице руководств сказано, что ошибка парсинга в таком случае не потребует второго вызова. Коллега также сможет воспроизвести увиденный вами результат. У нас по request_id можно найти запись о вызове и списанную сумму, но посмотреть полный ответ, полученный при том вызове, нельзя.
С другой стороны, мы автоматически возвращаем средства при сбоях и пустых результатах и показываем поля ответа до вызова. Кроме того, для каждого ключа можно отдельно включать и отключать продукты, а стоимость можно оценить до отправки запроса. У нас также шире охват: в каталоге представлено 106 платформ, включая соцсети, электронную коммерцию, сервисы локальных отзывов, карты и сайты вакансий. В списке платформ MCP у TikHub 15 платформ и группа «Others». Актуальный список проверяйте в каталоге.
Выбор по ситуации
Вот какие решения следуют из сравнения. Во-первых, возможно, вы уже выбрали Python и вам нужны очень специфичные эндпоинты из 1 055 у TikHub, например Xingtu или Douyin Index. Если вы готовы написать парсер для каждого из них, Python SDK от TikHub даёт готовое решение. Документация объёмная, но страница каждого эндпоинта описана подробно.
Во-вторых, если вы пишете на JavaScript, Go или Java, SDK от TikHub мало чем помогут, и в обоих случаях HTTP-запросы придётся отправлять самостоятельно. Разница в том, сколько нужно прочитать заранее. Наш каталог по платформе занимает около 1 870 токенов и описывает поля ответа ещё до вызова. В-третьих, если вызовы будет делать ИИ-агент, важнее всего три вопроса.
Может ли он сначала узнать параметры и цены? Стоит ли денег ошибочный вызов? Может ли он случайно записать API-ключ в файл?
В нашем тесте вызовы, вернувшие 401 и 422, ничего не стоили и подсказывали агенту, что делать дальше. Наш CLI также умеет оценивать стоимость до отправки запроса. Демо-эндпоинты TikHub позволяют агенту сначала увидеть один реальный ответ, а ответ TikHub с кодом 401 содержит стандартный заголовок. В-четвёртых, возможно, вы будете делать десятки тысяч вызовов в день к одному эндпоинту, для которого доступны скидки.
Или, возможно, вы готовы использовать эндпоинт, у которого есть цена, но нет документации. В обоих случаях цена за единицу у TikHub может оказаться ниже. Прежде чем решать, просчитайте свои объёмы по его прайс-листу.
| Если это про вас | С чего начать | Почему |
|---|---|---|
| Python и узкоспециализированные эндпоинты Douyin или TikTok | Python SDK от TikHub | Самый широкий список эндпоинтов, актуальный SDK |
| JavaScript, Go или Java | Обычные HTTP-запросы в обоих сервисах; наш каталог подскажет имена полей | Не придётся использовать устаревший SDK или читать объёмную спецификацию |
| Вызовы делает ИИ-агент | Наш MCP-сервер или CLI | Бесплатный каталог, без списаний за ошибки, лимиты расходов |
| Десятки тысяч вызовов в день к одному эндпоинту со скидкой | Прайс-лист TikHub | Скидка за дневной объём может дать цену ниже нашей |
Последние изменения, октябрь–ноябрь 2026 года
- 3 ноября 2026 года: в openapi.json TikHub 1 058 путей, на 2 больше, чем 2 ноября, а версия по-прежнему V5.3.2. Что это значит для вас: если вы генерируете или синхронизируете по нему SDK, не полагайтесь на номер версии при отслеживании изменений.
- 1 ноября 2026 года: вышли SDK EveryInfra 0.3.0 для Python и npm, и в тот же день каталог вырос с 91 до 106 платформ. Что это значит для вас: сверяйте список типов в SDK с актуальным каталогом; в нашем тесте список в этой версии совпал с каталогом.
- 28 октября 2026 года: функция push protection в GitHub теперь может блокировать секреты, обнаруженные ИИ. Она доступна в рамках публичного предварительного тестирования, по умолчанию отключена и предназначена только для организаций с Secret Protection или Advanced Security. Что это значит для вас: публикацию ключа без фиксированного формата теперь можно заблокировать при отправке изменений в репозиторий. Но организация должна включить эту функцию. В личном репозитории вам по-прежнему придётся самостоятельно следить, чтобы ключ туда не попал.
- 20 октября 2026 года: API пользовательских шаблонов GitHub для сканирования секретов теперь возвращает 422 вместо 500 при неверных аргументах. Теперь клиенты API могут отличать ошибки ввода от ошибок сервера. Что это значит для вас: и для TikHub, и для нашего API реализуйте логику повторных попыток одинаково. При ответе 4xx исправляйте запрос, а повторяйте попытку только при 5xx. Оба сервиса возвращают 422 при неверных параметрах.
- 13 октября 2026 года: GitHub описал свою новую модель обнаружения секретов. Сначала правила на основе регулярных выражений отбирают кандидатов, затем небольшая модель анализирует путь к файлу, имена переменных и расположенный рядом код. Доля срабатываний, принятых пользователями, выросла на 11,5%, а медианное время сканирования сократилось на 86%. Что это значит для вас: ключи без фиксированного префикса теперь проще обнаруживать. Но самый безопасный ключ по-прежнему тот, что никогда не попадает в репозиторий.
FAQ
Вопросы взяты из поисковых подсказок Google по этим ключевым словам и из сообщений на форумах, прочитанных 3 ноября 2026 года. В каждом ответе указан источник.
Где создать API-ключ TikHub?
Войдите на user.tikhub.io, откройте личный кабинет и создайте токен в меню API token. Порядок действий описан в разделе «Get API Token» README документации (подсказки: «tikhub api key», «tikhub api token»). Сначала подтвердите email, иначе вызовы будут возвращать 403. Каждый пользователь может создать до 100 ключей. Ключи для ИИ-прокси на ai.tikhub.io — отдельный набор, они не дают доступа к эндпоинтам данных.
Чем сайт документации TikHub API отличается от Swagger?
Оба сайта показывают один и тот же openapi.json (поисковые подсказки: «tikhub api doc», «api tikhub io»). На docs.tikhub.io у каждого эндпоинта своя страница, и там удобнее всего искать параметры. api.tikhub.io представляет собой страницу Swagger, где можно вставить токен и попробовать вызов; вставляйте его без префикса «Bearer». Ни на одном из сайтов не указаны поля ответа для большинства эндпоинтов: у 1 052 эндпоинтов описана только общая обёртка, поэтому поля приходится узнавать по результатам вызовов.
Какой SDK у TikHub на GitHub всё ещё работает?
SDK для Python (подсказки: «tikhub github», «tiktok api python github»). Версия 2.2.0 от 3 октября покрывает 99,2% текущих эндпоинтов. SDK для TypeScript, Go, Java и C++ не менялись с марта 2025 года и покрывают 32,3%. Они содержат 245 методов для эндпоинтов, которых больше нет в документации. Для этих языков надёжнее использовать обычные HTTP-запросы.
Есть ли документация по API TikTok с примерами на Python?
Да, у обоих сервисов (подсказка: «tiktok api documentation python»). На странице руководств TikHub есть примеры на Python, JavaScript, Go, Java, PHP и cURL, а в README его SDK для Python показаны вызовы по имени ресурса. В нашей документации есть примеры на curl, а pip install everyinfra устанавливает типизированный клиент. Для первого вызова достаточно короткого примера выше.
Есть ли у TikTok свой API и можно ли получить бесплатный API-ключ TikTok?
У TikTok есть собственные API, но с ограничениями (подсказки: «does tiktok have an api», «tiktok api key free»). Display API, обновлённый 4 августа 2026 года, читает только профиль и видео пользователя, который авторизовал ваше приложение. Для Research API нужна заявка от исследовательской организации, отвечающей требованиям. Чтобы читать публичные аккаунты и чужие видео, нужен сторонний API. Большинство из них дают небольшие пробные кредиты: TikHub начисляет $0,05, а мы даём $1 за добавление двух репозиториев в избранное; эти кредиты действуют 24 часа.
Можно ли использовать TikHub с Claude или n8n?
Да. У TikHub отдельный MCP-сервер для каждой платформы, а также репозиторий плагина для Claude Code и репозиторий интеграции с n8n (источник: страница MCP и GitHub TikHub). Официальный аккаунт TikHub также опубликовал воркфлоу с Claude, n8n и TikHub на Reddit. Учтите, что последний пуш в репозитории для n8n был 393 дня назад. Наш удалённый MCP-сервер работает в любом клиенте, который поддерживает удалённый MCP с заголовком, и для подключения достаточно примера конфигурации выше.
Можно ли доверять TikHub?
Пользователь Reddit спросил «Is TikHub AI legit» (ветка в r/Seedance_AI), но однозначного ответа в комментариях не было. На странице руководств TikHub сказано, что сервис предоставляет только публичные данные и не владеет ими. В его политике возвратов сказано, что покупки возврату не подлежат, если только эндпоинт действительно не работает. Мы не оцениваем, соблюдает ли сервис применимые требования. Советуем сначала попробовать демо-эндпоинты и пробные кредиты на сумму $0,05, а потом решать, на какую сумму пополнять баланс.
С чего начать
- Найдите нужную возможность в каталоге возможностей или в Infra Marketplace, например
tiktok/profile. Посмотрите её параметры, поля ответа и цену. API-ключ для этого не нужен. - Зарегистрируйтесь и создайте API-ключ в консоли. Полный API-ключ показывается один раз, поэтому сохраните его в переменной окружения
EVERYINFRA_API_KEY. - Отправьте первый запрос с помощью примера curl из раздела «Быстрый старт» документации. Можно также выполнить
pip install everyinfraи использовать SDK или вставить конфигурацию MCP выше в свой клиент. Посмотритеbilling.charged_usdв ответе. - Если получили 401 или 422, сначала прочитайте
next_stepsв ответе. О других платформах читайте на страницах TikTok, Douyin и Xiaohongshu, а также в руководстве по настройке MCP.
Источники
- «Getting Started: First API Call in 4 Steps», TikHub, дата обращения 2026-11-03, https://tikhub.io/getting-started
- «Social Media API Tutorials and Code Examples», TikHub, дата обращения 2026-11-03, https://tikhub.io/tutorials
- «Pricing», TikHub, дата обращения 2026-11-03, https://tikhub.io/pricing
- «FAQ: Billing, Rate Limits and Platform Support», TikHub, дата обращения 2026-11-03, https://tikhub.io/faq
- «llms.txt», TikHub, дата обращения: 2026-11-03, https://tikhub.io/llms.txt
- «llms-full.txt», TikHub, дата обращения: 2026-11-03, https://tikhub.io/llms-full.txt
- «MCP Integration Guide», TikHub, дата обращения: 2026-11-03, https://tikhub.io/mcp
- «Social Media API Reference», TikHub, дата обращения: 2026-11-03, https://tikhub.io/api-reference
- «README - English», сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/4592766m0
- «README» (китайская версия), сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/4579297m0
- «Getting Started» (подключение продавцов), сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/5432442m0
- «llms.txt» (индекс сайта документации), сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/llms.txt
- «Get user profile (TikTok Web API)», сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/186826057e0
- «Demo: fixed TikTok user», сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/337619232e0
- «Get all endpoints information», сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/186826055e0
- «About TikHub AI API», сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/7781112m0
- «TikHub Refund Policy» (обновлено 2026-07-20), сайт документации TikHub, дата обращения: 2026-11-03, https://docs.tikhub.io/9453198m0
- «openapi.json» (V5.3.2), TikHub, дата обращения: 2026-11-03, https://api.tikhub.io/openapi.json
- Swagger UI, TikHub, дата обращения: 2026-11-03, https://api.tikhub.io/
- Эндпоинт с прайс-листом get_all_endpoints_info, TikHub, дата обращения: 2026-11-03, https://api.tikhub.io/api/v1/tikhub/user/get_all_endpoints_info
- Демо-эндпоинт demo/tiktok/web/fetch_user_profile, TikHub, дата обращения: 2026-11-03, https://api.tikhub.io/api/v1/demo/tiktok/web/fetch_user_profile
- Список платформ MCP, TikHub, дата обращения: 2026-11-03, https://mcp.tikhub.io/platforms
- Организация TikHub на GitHub, GitHub, дата обращения: 2026-11-03, https://github.com/TikHub
- TikHub-API-Python-SDK, GitHub, дата обращения: 2026-11-03, https://github.com/TikHub/TikHub-API-Python-SDK
- Коммит c4620078: «sync SDK to live OpenAPI spec (1048 endpoints)», GitHub, 2026-10-02, https://github.com/TikHub/TikHub-API-Python-SDK/commit/c4620078fa6930380c6c2a0a51597718c762e27a
- TikHub-API-TypeScript-SDK, GitHub, 2025-03-17, https://github.com/TikHub/TikHub-API-TypeScript-SDK
- TikHub-API-GoLang-SDK, GitHub, 2025-03-09, https://github.com/TikHub/TikHub-API-GoLang-SDK
- TikHub-API-Java-SDK, GitHub, 2025-03-09, https://github.com/TikHub/TikHub-API-Java-SDK
- TikHub-API-CPP-SDK, GitHub, 2025-03-09, https://github.com/TikHub/TikHub-API-CPP-SDK
- TikHub-API-Demo, GitHub, 2024-12-02, https://github.com/TikHub/TikHub-API-Demo
- tikhub-plugin, GitHub, 2026-06-16, https://github.com/TikHub/tikhub-plugin
- tikhub-mcp-dist, GitHub, 2025-09-23, https://github.com/TikHub/tikhub-mcp-dist
- TikHub_n8n_Integration, GitHub, 2025-10-05, https://github.com/TikHub/TikHub_n8n_Integration
- TikHub-Multi-Functional-Downloader, GitHub, 2025-03-18, https://github.com/TikHub/TikHub-Multi-Functional-Downloader
- Spinneret, GitHub, 2026-11-02, https://github.com/TikHub/Spinneret
- tikhub_api_skill, GitHub, дата обращения: 2026-11-03, https://github.com/liangdabiao/tikhub_api_skill
- tikhub 2.2.0, PyPI, 2026-10-03, https://pypi.org/project/tikhub/
- @tikhubio/tikhub-api-ts-sdk, npm, read 2026-11-03, https://www.npmjs.com/package/@tikhubio/tikhub-api-ts-sdk
- Каталог возможностей EveryInfra, EveryInfra, дата обращения: 2026-11-03, https://api.everyinfra.com/api/v1/social/catalog
- Каталог возможностей EveryInfra, compact=1, EveryInfra, дата обращения: 2026-11-03, https://api.everyinfra.com/api/v1/social/catalog?compact=1
- EveryInfra OpenAPI 2.0.0, EveryInfra, дата обращения: 2026-11-03, https://api.everyinfra.com/openapi.json
- llms.txt EveryInfra, EveryInfra, дата обращения: 2026-11-03, https://api.everyinfra.com/llms.txt
- everyinfra 0.3.0, PyPI, 2026-11-01, https://pypi.org/project/everyinfra/
- everyinfra 0.3.0, npm, 2026-11-01, https://www.npmjs.com/package/everyinfra
- everyinfra-agent-plugins, релиз sdk-v0.3.0, GitHub, 2026-11-01, https://github.com/everyinfra/everyinfra-agent-plugins/releases/tag/sdk-v0.3.0
- everyinfra-agent-plugins, GitHub, дата обращения: 2026-11-03, https://github.com/everyinfra/everyinfra-agent-plugins
- «RFC 6750: The OAuth 2.0 Authorization Framework: Bearer Token Usage», IETF, 2012-10, https://datatracker.ietf.org/doc/html/rfc6750
- «RFC 9110: HTTP Semantics», IETF, 2022-06, https://www.rfc-editor.org/rfc/rfc9110.html
- «MCP specification: Transports (2026-07-28)», Model Context Protocol, дата обращения: 2026-11-03, https://modelcontextprotocol.io/specification/2026-07-28/basic/transports
- «MCP specification: Authorization (2026-07-28)», Model Context Protocol, дата обращения: 2026-11-03, https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization
- «The /llms.txt file proposal», llmstxt.org, дата обращения: 2026-11-03, https://llmstxt.org/
- «About secret scanning», GitHub Docs, дата обращения: 2026-11-03, https://docs.github.com/en/code-security/secret-scanning/introduction/about-secret-scanning
- «Display API Overview» (обновлено 2026-08-04), TikTok for Developers, https://developers.tiktok.com/doc/display-api-overview
- «Research API: access and eligibility», TikTok for Developers, дата обращения: 2026-11-03, https://developers.tiktok.com/products/research-api/
- «DIY: turning a full API doc into a Claude Code skill» (на китайском), Juejin, дата обращения: 2026-11-03, https://juejin.cn/post/7595096774546096137
- «Is TikHub AI legit and works?», Reddit r/Seedance_AI, дата обращения: 2026-11-03, https://www.reddit.com/r/Seedance_AI/comments/1u2gjmx/is_tikhub_ai_legit_and_works_seems_very_cheap_for/
- «Day 1 on TikTok: Claude, TikHub API and n8n workflow», Reddit r/ClaudeAI, дата обращения: 2026-11-03, https://www.reddit.com/r/ClaudeAI/comments/1levnmu/day_1_on_tiktok_400_likes_90_saves_on_first_video/
- «Supported secret scanning patterns», GitHub Docs, дата обращения: 2026-11-03, https://docs.github.com/en/code-security/secret-scanning/introduction/supported-secret-scanning-patterns
- «Push protection beyond predefined secret patterns», GitHub Changelog, 2026-10-28, https://github.blog/changelog/2026-10-28-push-protection-beyond-predefined-secret-patterns/
- «Updates to GitHub secret scanning», GitHub Changelog, 2026-10-20, https://github.blog/changelog/2026-10-20-updates-to-github-secret-scanning/
- «GitHub's model for secret detection: Finding more secrets with less noise», GitHub Blog, 2026-10-13, https://github.blog/ai-and-ml/githubs-model-for-secret-detection-finding-more-secrets-with-less-noise/
Справка BL-77