Как собирать публичные данные TikTok в 2026 году (что работает)
Публичные данные TikTok доступны — в скрытом JSON и в ленте с пагинацией по курсору — но именно антибот-слой вызывает сбои у всех готовых скрейперов. Вот что все еще работает и почему мобильные IP важны.
TikTok публикует удивительно много публичных данных — профили, метаданные видео, ленты хэштегов, количество взаимодействий — и для их чтения не требуется вход в систему. Сложность скрейпинга данных TikTok заключается не в их поиске, а в том, что антибот-слой сайта агрессивно помечает автоматический доступ, из-за чего каждая готовая библиотека в конечном итоге ломается, и именно IP-адрес выхода определяет, получите ли вы результаты или CAPTCHA. В этом руководстве рассматривается, где находятся публичные данные, как на самом деле работает пагинация, почему неофициальные инструменты устаревают и почему мобильные прокси являются прагматичным выбором. Речь идет о публичных, неперсональных исследовательских данных — трендах, создателях, хэштегах — а не о скрейпинге частных аккаунтов.
Где на самом деле находятся публичные данные
TikTok — это приложение с клиентским рендерингом, поэтому наивный GET возвращает оболочку. Полезное содержимое находится в двух местах: скрытый JSON, встроенный в страницу (скрипт универсальных данных, из которого приложение получает данные) и внутренние конечные точки ленты, которые приложение вызывает после загрузки. Между ними вы можете прочитать почти все, что видит зритель: для каждого видео, текст caption, createTime, diggCount (лайки), shareCount, playCount, commentCount, collectCount, а также вложенные объекты author, music и stats. Данные автора включают количество подписчиков и общее количество лайков, статус верификации, биографию и ссылку на биографию. Публикации в виде слайд-шоу помечаются isSlideshow и содержат массив ссылок на изображения вместо видео.
Профили требуют двух идентификаторов, а не только имени пользователя
Подвох, который сбивает с толку при первой попытке: для получения ленты видео пользователя нужны два идентификатора, а не только псевдоним. Вам нужен числовой id (userID) и secUid, оба из которых получаются после разрешения профиля. Пропустите secUid, и вызов ленты ничего не вернет. Разрешите один раз, затем пролистывайте ленту.
# Sketch of the account-free flow every TikTok scraper follows.
# 1) Resolve the profile to get BOTH ids
user = get_user("someusername") # -> {"id": ..., "secUid": ...}
user_id, sec_uid = user["id"], user["secUid"]
# 2) Page the feed with those ids (see cursor loop below)
videos = user_feed(user_id, sec_uid)
Пагинация основана на курсоре (и ограничена примерно 30)
Один вызов ленты возвращает примерно 30 публикаций — далеко не полную временную шкалу. TikTok использует пагинацию с курсором: каждый ответ включает cursor (где закончилась эта партия) и булево значение hasMore. Чтобы получить всю ленту, вы зацикливаете, передавая курсор обратно, пока hasMore не станет ложным. Это также место, где вы наиболее уязвимы — каждая страница — это еще один запрос с вашего IP, поэтому длинная временная шкала — это много вызовов с одного адреса.
def crawl_feed(user_id, sec_uid):
items, cursor, has_more = [], 0, True
while has_more:
page = user_feed(user_id, sec_uid, cursor=cursor) # ~30 posts
items.extend(page["itemList"])
cursor = int(page["cursor"])
has_more = page["hasMore"]
# rotate / pace here — every loop is a fresh request from your IP
return items

Почему неофициальные библиотеки продолжают ломаться
Если вы использовали популярную открытую библиотеку TikTok, вы это почувствовали: она работает какое-то время, затем начинает возвращать CAPTCHA или пустые результаты, и появляется форк, чтобы поддерживать ее в рабочем состоянии. Этот цикл не вина разработчиков — TikTok меняет свою логику подписания и антибота, и каждый неофициальный клиент стремится догнать. Следуют два урока. Закрепите за поддерживаемым форком и ожидайте его обновления. И не связывайте надежность вашего канала данных с одной хрупкой библиотекой — долговечная часть — это ваш собственный слой парсинга и ротации вокруг любого метода получения, который в данный момент работает.
Ссылки на медиа, полученные скрейпингом, истекают — захватывайте их быстро
Тонкая ловушка для тех, кто архивирует контент: аватары, обложки и видео TikTok имеют временные подписи. Они содержат параметры запроса x-expires и x-signature и перестают работать в течение нескольких часов. Так что ссылка, которую вы собрали утром, к вечеру уже не работает. Если вам нужно само медиа, скачайте его в том же запуске, в котором вы его обнаружили; если вам нужны только метаданные, сохраните стабильные идентификаторы и разрешите свежие URL по требованию.
Почему именно мобильные прокси
TikTok — это платформа, ориентированная на мобильные устройства, с антибот-ожиданиями мобильного уровня, и именно здесь выбор IP решает все. IP-адреса дата-центров быстро помечаются. Резидентные IP гораздо лучше. Но мобильные прокси — это наилучшее соответствие из-за того, как работают сети операторов: мобильные операторы маршрутизируют тысячи реальных абонентов через несколько общих IP (CGNAT), так что один мобильный IP выглядит как целая толпа настоящих пользователей. Блокировка его означала бы блокировку реальных клиентов, чего платформы крайне не хотят делать — причина, которую мы рассматриваем в почему мобильные IP так доверяют. Мобильные выходы также позволяют вам выбирать ленты, специфичные для геолокации: TikTok адаптирует тренды по странам, так что выход в Великобритании и выход в США возвращают разный контент "Для вас".
Получите мобильные прокси для данных TikTok
TikTok Shop и георазличия
Данные о продуктах TikTok Shop имеют ту же структуру — публичные списки, структурированный JSON, пагинация по курсору — но доступность сильно ограничена географически, поэтому вы можете видеть каталог региона только с выходного IP в этом регионе. Это та же причина, по которой работа по росту TikTok опирается на IP, соответствующие местоположению: будь то чтение инвентаря магазина или лент трендов, контент, который вы получаете, зависит от того, где ваш IP говорит, что вы находитесь. Пробуйте каждый рынок с соответствующим выходом и рассматривайте результаты как региональные, а не глобальные.

Когда стоит отказаться от самодельного стека
Поддержание скрейпера TikTok означает гонку за изменениями подписания, обработку CAPTCHA и присмотр за форком — это постоянный налог, а не одноразовая сборка. Если данные TikTok являются входными данными для продукта, а не самим продуктом, Scraper API, который рендерит страницу, вращает IP мобильного уровня и возвращает чистый JSON, снимает это обслуживание с вашего плеча. Запустите собственный стек, пока изучаете структуру; переключитесь на управляемый слой получения, когда поддержка начнет стоить больше, чем полученные данные.
Часто задаваемые вопросы
Можно ли собирать данные TikTok без аккаунта?
Да — публичные профили, видео, хэштеги и их метаданные взаимодействия доступны для чтения без входа в систему, потому что TikTok встраивает их в скрытый JSON и предоставляет через внутренние конечные точки ленты. Вам все равно нужно разрешить числовой id и secUid профиля перед пролистыванием его ленты, и вы столкнетесь с антибот-флагами без чистых, вращающихся IP.
Почему мой скрейпер TikTok получает CAPTCHA?
TikTok помечает IP, которые ведут себя как автоматизация — слишком много запросов, диапазоны адресов дата-центров или IP с плохой репутацией. Пагинация по курсору усугубляет это, потому что полная временная шкала — это много вызовов с одного IP. Распределите запросы по вращающемуся пулу мобильных или резидентных IP, регулируйте их и проверяйте ответы. Мобильные IP вызывают наименьшие подозрения, потому что они разделяются реальными абонентами.
Сколько данных TikTok может вернуть один запрос?
Один вызов ленты возвращает примерно 30 публикаций. Чтобы собрать полную временную шкалу, вы зацикливаете на курсоре, который дает вам ответ, передавая его обратно каждый раз, пока флаг hasMore не станет ложным. Поскольку каждая страница — это еще один запрос с вашего IP, более длинные временные шкалы означают большее воздействие — поэтому ротация и регулирование важны по мере увеличения количества.
Нужны ли мобильные прокси для TikTok?
Не обязательно, но они являются наилучшим вариантом. IP-адреса дата-центров быстро помечаются; резидентные IP работают лучше; мобильные прокси работают лучше всего, потому что CGNAT операторов означает, что один мобильный IP разделяется многими реальными пользователями, поэтому платформы неохотно его блокируют. Мобильные выходы также позволяют вам получать данные о трендах и магазинах, специфичные для геолокации, выбирая страну выхода.
Все публичные данные TikTok доступны без входа в систему — сложность в том, чтобы оставаться доступным. Разрешите оба идентификатора профиля, зацикливайте курсор, захватывайте подписанные медиа сразу и маршрутизируйте через IP мобильного уровня, чтобы ваши запросы выглядели как толпа, в которой они скрываются. Настройте IP-слой правильно, и остальное — это просто JSON.