Иллюстрация скрапера TikTok Ad LibraryБиблиотека коммерческого контента

Скрапер TikTok Ad Library.

Собирайте рекламу TikTok в ЕС/ЕЭЗ, Великобритании и Швейцарии. Смотрите видео, сравнивайте предложения и активность рекламодателей, затем планируйте тесты для своей аудитории.

Запустить на Apify

Как использовать этот скрапер.

Попробуйте эти сценарии для маркетинга, роста и изучения конкурентов.

01

Запланируйте видеотест по категории товаров

Для бьюти-кампании во Франции соберите рекламу категории и посмотрите видео. Отметьте начальные зацепки, демонстрации и предложения, затем выберите подходы для тестов.

Сохраните примеры в таблице и отберите идеи сценариев.

02

Изучите креативы перед выходом на новый рынок

Сравните рекламу Германии и Испании. Проверьте рекламодателей, материалы и языки, прежде чем решать, что производить локально.

Включите исходные видео в обзор рынка вместе с оставшимися вопросами локализации.

03

Найдите авторов в коммерческом контенте бренда

Найдите бренд и проверьте, относится ли запись к его юридическому лицу или аккаунту автора. Сохраните обе идентичности.

Используйте список рекламодателей и авторов для поиска партнёров.

ОТ ПЕРВОГО ЗАПУСКА К РЕГУЛЯРНОЙ РАБОТЕ

Первый запуск, шаг за шагом.

  1. Откройте Actor на Apify, выберите Input и перейдите в редактор JSON, чтобы вставить конфигурацию.
  2. Полностью замените JSON примером и укажите своего рекламодателя вместо Nike. Одно название может соответствовать нескольким юридическим лицам; после проверки ID в результатах используйте advertiserBusinessIds.
  3. Выберите поддерживаемую страну, например FR, и maxAds 50. Оставьте residential-прокси включёнными. Удалите предзаполненный регион GB, если нужна только Франция. Не задавайте фильтры аудитории до успешной первой проверки.
  4. Запустите Actor и посмотрите журнал. Проверьте распознанные цели и фильтры, прежде чем считать пустой результат отсутствием данных.
  5. Откройте Storage → Dataset, проверьте несколько записей и экспортируйте вложенные данные в JSON или таблицу для первого просмотра в CSV.
Конфигурация первого запуска
{
  "searchTerms": ["Nike"],
  "regions": ["FR"],
  "maxAds": 50,
  "adStatus": "all",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Вставьте это в редактор JSON Actor. Перед запуском замените примеры своими целями.

Посмотреть актуальные параметры на Apify

Выберите способ поиска.

Это Commercial Content Library TikTok, охватывающая ЕС/ЕЭЗ, Великобританию и Швейцарию. Она подходит для изучения рекламодателей на этих рынках. Для примеров креативов из США используйте скрапер Creative Center.

Способ поискаКогда использоватьЧто меняется
Название рекламодателя или брендаКогда использоватьУ вас есть список конкурентов для наблюдения.Что меняетсяИщите рекламодателей, часто зарегистрированных под юридическим названием. Частичные названия, профили TikTok и сайты могут определять бренд. Без объявлений возможен поиск по ключевому слову.
Поиск по ключевым словамКогда использоватьВы хотите найти подходящие результаты, прежде чем выбрать конкретные цели.Что меняетсяИщите темы вроде running shoes в содержании объявлений независимо от рекламодателя. Это помогает находить новые компании.
ID рекламодателейКогда использоватьВы точно знаете, по какому объекту хотите собрать данные.Что меняетсяЧисловые идентификаторы бизнеса TikTok для точного отслеживания без сопоставления названий. Копируйте проверенный ID, а не имя пользователя TikTok.
Ссылки из библиотеки рекламыКогда использоватьВы уже настроили поиск на исходном сайте.Что меняетсяВставляйте поисковые ссылки library.tiktok.com. Их страны, даты, статусы и фильтры аудитории имеют приоритет; отдельные поля дополняют недостающие значения.

Важное различие

Охвачены только 32 указанных рынка: ЕС/ЕЭЗ, Великобритания и Швейцария. Явно заданные страны ищутся отдельно. Пустой список regions ищет все рынки вместе; ["all"] запускает отдельный поиск для каждой страны. Неподдерживаемые страны пропускаются. Если стран не осталось, поиск охватывает все поддерживаемые рынки.

Сравнить с похожим скрейпером

Все параметры с объяснениями.

Используйте точные имена полей ниже в JSON. В форме Apify вводите элементы списков отдельно и соблюдайте числовые и логические типы.

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

Цели и поисковые запросы5
searchTerms
СписокПример в форме: ["Nike"]

Ищите рекламодателей, часто зарегистрированных под юридическим названием. Частичные названия, профили TikTok и сайты могут определять бренд. Без объявлений возможен поиск по ключевому слову.

searchTerm
Текст

Один рекламодатель вместо списка searchTerms. Для нескольких конкурентов используйте список, для точной известной организации advertiserBusinessIds.

keywords
Список

Ищите темы вроде running shoes в содержании объявлений независимо от рекламодателя. Это помогает находить новые компании.

advertiserBusinessIds
Список

Числовые идентификаторы бизнеса TikTok для точного отслеживания без сопоставления названий. Копируйте проверенный ID, а не имя пользователя TikTok.

adLibraryUrls
Список

Вставляйте поисковые ссылки library.tiktok.com. Их страны, даты, статусы и фильтры аудитории имеют приоритет; отдельные поля дополняют недостающие значения.

Рынки, даты и фильтры10
regions
СписокПример в форме: ["GB"]

Охвачены только 32 указанных рынка: ЕС/ЕЭЗ, Великобритания и Швейцария. Явно заданные страны ищутся отдельно. Пустой список regions ищет все рынки вместе; ["all"] запускает отдельный поиск для каждой страны. Неподдерживаемые страны пропускаются. Если стран не осталось, поиск охватывает все поддерживаемые рынки.

Рекомендуемые значения JSON
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MT NL NO PL PT RO SE SI SK all
region
Текст

Одна страна вместе с regions или вместо него. В отличие от Google Ads, этот параметр объединяется со списком, а не только заполняет пустой.

Рекомендуемые значения JSON
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MT NL NO PL PT RO SE SI SK
minDate
Текст

Фильтрует на сервере дату последнего показа, а не создания. Используйте YYYY-MM-DD; пустые даты охватывают доступный архив, а не только стандартные 30 дней сайта.

maxDate
Текст

Последний показ должен быть не позже этого дня. С minDate задаёт период последних показов; объявления, запущенные месяцы назад, тоже могут подходить.

adType
ТекстПо умолчанию: all

Выберите all, video, image или text. Фильтрует формат креатива, а не политические и коммерческие объявления.

Рекомендуемые значения JSON
all video image text
adStatus
ТекстПо умолчанию: all

active означает активные сейчас, inactive остановленные, all оба типа. Статус и дата последнего показа отвечают на разные вопросы; задавайте их осознанно.

Рекомендуемые значения JSON
all active inactive
sortBy
ТекстПо умолчанию: last_shown_date,desc

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

Рекомендуемые значения JSON
last_shown_date,desc last_shown_date,asc create_time,desc create_time,asc impression,desc impression,asc
gender
ТекстПо умолчанию: ALL

Фильтрует заявленный целевой пол: ALL, FEMALE или MALE. Это настройки таргетинга, а не измеренный состав зрителей.

Рекомендуемые значения JSON
ALL FEMALE MALE
ages
Список

Целевые возрастные диапазоны в списке строк. Используйте значения с запятой, например 18,24. Пусто означает все возрасты; это не измеренные зрители.

Рекомендуемые значения JSON
all 13,17 18,24 25,34 35,44 45,54 55,100
adReach
Список

Выбирайте диапазоны публичного охвата: 0-10K, 10K-100K или 100K+. Пусто включает все. Диапазон не равен точному числу показов или конверсий.

Рекомендуемые значения JSON
all 0-10K 10K-100K 100K+
Лимиты, подробности и прокси5
proxyConfiguration
ОбъектПо умолчанию: {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}Пример в форме: {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}

Нужны residential-прокси. Datacenter может не пройти создание сессии без явного сообщения о блокировке. При диагностике оставляйте RESIDENTIAL, прежде чем менять фильтры или даты.

maxAds
Целое числоПример в форме: 500

Жёсткий лимит уникальных объявлений на весь запуск, включая все цели и рынки. Начните с 50. Без этого лимита широкий поиск может стать значительно больше.

maxPages
Целое число

Ограничивает страницы каждой пары страна-поиск. Реальный размер страницы не больше 12 объявлений, даже если старые описания указывают больше. Уберите ограничение для обхода до лимита результатов.

pageSize
Целое числоПо умолчанию: 12

От 1 до 12 объявлений на запрос. Большие значения заменяются на 12. maxPages увеличивает глубину, pageSize выше 12 не помогает.

delayMs
Целое числоПо умолчанию: 500

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

Дополнительные настройки и восстановление4
raw
Истина или ложьПо умолчанию: false

Возвращает исходные записи TikTok без преобразования дат и декодирования медиа-ссылок. Для таблицы оставляйте false.

proxyRotations
Целое числоПо умолчанию: 3

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

resume
Истина или ложьПо умолчанию: true

Сохраняет прогресс примерно каждые 30 секунд для продолжения после перезапуска или миграции Apify. Обычно оставляйте включённым.

continueFromLastRun
Истина или ложьПо умолчанию: false

Продолжает незавершённую работу предыдущего запуска с теми же входными данными. Старые результаты остаются в его dataset. Для нового или регулярного сбора оставляйте false.

Справочник соответствует параметрам Actor. Перед изменением рабочего процесса проверьте актуальную форму. Посмотреть актуальные параметры на Apify.

Готовые конфигурации.

Каждый пример рассчитан на отдельный запуск. Начните с малого, проверьте результаты и затем расширяйте охват. Измените цели, страны и даты под свою задачу.

Наблюдение за активной рекламой одного бренда

Соберите до 50 активных объявлений, показанных в Великобритании. Проверьте юридические названия перед настройкой расписания и сохраняйте одинаковые страну и фильтры каждую неделю.

Наблюдение за активной рекламой одного бренда
{
  "searchTerms": ["Nike"],
  "regions": ["GB"],
  "adStatus": "active",
  "maxAds": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Изучение конкретного сегмента креативов

Найдите во Франции видеорекламу skincare для возраста 25-34 с диапазоном охвата 100K+. Выборка может быть небольшой или пустой. Для расширения поиска по очереди убирайте фильтры охвата и возраста.

Изучение конкретного сегмента креативов
{
  "keywords": ["skincare"],
  "regions": ["FR"],
  "adType": "video",
  "ages": ["25,34"],
  "adReach": ["100K+"],
  "sortBy": "last_shown_date,desc",
  "maxAds": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Сравнение показов в двух странах

Ищите в Германии и Франции за период последнего показа. Одно объявление может найтись в обоих поисках и сохраняется один раз. Не складывайте количества по странам как независимые рекламные архивы.

Сравнение показов в двух странах
{
  "searchTerms": ["Nike"],
  "regions": ["DE", "FR"],
  "minDate": "2026-09-01",
  "maxDate": "2026-09-30",
  "maxAds": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Запускайте, проверяйте, экспортируйте, повторяйте.

Сохраняйте ID объявления, юридическое название, исходную ссылку, медиа и даты первого и последнего показа. Охват может быть диапазоном, а расходы и показы могут отсутствовать. Конверсий и доказательств успеха здесь нет. Медиа-ссылки могут истечь: сохраняйте их вовремя и учитывайте контекст страны поиска при сравнении.

  1. Проверьте набор данных и запись SUMMARY. Сравните количество с лимитом, изучите ошибки и пропущенные входные данные, проверьте несколько исходных ссылок.
  2. Сохраняйте исходные ID и добавляйте collected_at и run_id. Используйте CSV для простых столбцов, JSON для списков и вложенных подробностей.
  3. Сохраните проверенную конфигурацию как Apify Task и задайте расписание. Для регулярных снимков оставьте continueFromLastRun false. Убирайте дубликаты по ID, сохраняя даты наблюдений.
  4. В Make или n8n дождитесь завершения запуска, получите dataset и сопоставьте поля с Sheets или хранилищем. Передавайте данные в Looker Studio через таблицу отчётов; преобразуйте и проверяйте модели с dbt.
  5. Этот же JSON работает с API Actors Apify. В Claude с Apify MCP назовите Actor, попросите проверить схему и заранее задайте цели, рынки и лимиты результатов.

Продолжение не создаёт новый снимок

resume защищает текущий запуск при перезапуске Apify. continueFromLastRun продолжает предыдущий запуск с той же конфигурацией; старые записи остаются в старом dataset. Объедините оба набора и увеличьте достигнутый лимит. Для наблюдения сегодняшних изменений начните новый сбор.

Открыть инструкции для Sheets, Claude, Looker и BigQuery
Запуск Actor через API

Сохраните одну из конфигураций выше в input.json. Задайте в терминале APIFY_TOKEN своим токеном Apify и отправьте файл как тело запроса.

Запустить сбор
curl --fail-with-body --request POST \
  --url "https://api.apify.com/v2/actors/jmlp~tiktok-ad-library-scraper/runs" \
  --header "Authorization: Bearer $APIFY_TOKEN" \
  --header "Content-Type: application/json" \
  --data-binary @input.json

Ответ содержит ID запуска и defaultDatasetId, а не готовые результаты. Дождитесь успешного завершения, задайте DATASET_ID идентификатором набора и получите записи. Для больших наборов используйте limit и offset для постраничной выгрузки.

Получить набор данных
curl --fail-with-body \
  --url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
  --header "Authorization: Bearer $APIFY_TOKEN"

Документация API Apify для запуска и экспорта
Параметры экспорта набора данных

Если результаты выглядят неверно.

Меняйте по одному параметру, сохраняйте небольшой лимит и проверяйте сводку перед расширением сбора.

Выбранная страна не даёт полезных результатов.

Охвачены только 32 указанных рынка: ЕС/ЕЭЗ, Великобритания и Швейцария. Явно заданные страны ищутся отдельно. Пустой список regions ищет все рынки вместе; ["all"] запускает отдельный поиск для каждой страны. Неподдерживаемые страны пропускаются. Если стран не осталось, поиск охватывает все поддерживаемые рынки.

Источник возвращает пустые страницы или ошибки доступа.

Нужны residential-прокси. Datacenter может не пройти создание сессии без явного сообщения о блокировке. При диагностике оставляйте RESIDENTIAL, прежде чем менять фильтры или даты.

Почему поля расходов или эффективности пустые?

Сохраняйте ID объявления, юридическое название, исходную ссылку, медиа и даты первого и последнего показа. Охват может быть диапазоном, а расходы и показы могут отсутствовать. Конверсий и доказательств успеха здесь нет. Медиа-ссылки могут истечь: сохраняйте их вовремя и учитывайте контекст страны поиска при сравнении.

Запуск завершился успешно, но данных нет

Успешный статус означает завершение работы Actor, а не наличие данных у источника. Проверьте SUMMARY.inputProblem, SUMMARY.problem и журнал: возможны отсутствующие цели, неподдерживаемые фильтры или отклонённые запросы. Попробуйте известную цель с меньшим числом фильтров.

Записей меньше, чем ожидалось

Проверьте общие лимиты, лимиты поиска и страниц, охват и дедупликацию. Несколько запросов могут найти одну запись. Счётчик источника может включать недоступные публично данные. Проверьте незавершённые задачи, прежде чем считать набор полным.

Используйте результаты в своих инструментах.

Google Sheets

Добавьте ad_id, advertiser_name, scraped_region, first_shown, last_shown и media_url. Посмотрите видео перед разметкой зацепок, форматов и подходов к товару.

Читать инструкцию
Claude + MCP

Попросите Claude упорядочить метаданные и указать записи. Для видео передайте медиа или расшифровку через поддерживаемый процесс. Метаданные не раскрывают начальную зацепку.

Читать инструкцию
Looker Studio

Сравните активность по рекламодателю и региону. Сохраняйте охват диапазоном и не суммируйте повторные региональные наблюдения как уникальных людей.

Читать инструкцию
BigQuery + dbt

Храните исходные наблюдения и таблицу креативов по ad_id. Региональные наблюдения храните отдельно с исходными диапазонами охвата.

Читать инструкцию
Скопировать запрос для Claude
Запрос для Claude + Apify MCP
Проверь jmlp/tiktok-ad-library-scraper и собери до 50 записей Nike в FR. Раздели рекламодателей и аккаунты авторов, обобщи даты и диапазоны охвата, укажи ad_library_url. Отметь отсутствие расходов и показов. Не описывай видео, которое не изучил.

Какие поля вы получите.

Сохраняйте время сбора и исходные ID: они нужны для проверки источника результата и сравнения с последующими запусками.

Прежде чем делать выводы

Скрапер охватывает 32 поддерживаемых рынка ЕС/ЕЭЗ, Великобритании и Швейцарии. Расходы и показы могут отсутствовать; estimated_audience содержит доступные диапазоны охвата. Они и даты не показывают конверсии или ROAS. Медиа-ссылки могут истечь.

ad_id / advertiser_business_id
Стабильные ID записей и отслеживания рекламодателей.
advertiser_name
Указанный аккаунт; в брендированном контенте может фигурировать автор.
first_shown / last_shown
Указанные даты показа в выбранной стране.
media_url / cover_url
Доступные ссылки на медиа и изображения предпросмотра.
estimated_audience
Публичный диапазон охвата библиотеки.
scraped_region / ad_library_url
Контекст сбора и ссылка на источник.

Частые вопросы.

Можно собирать рекламу TikTok в США?

Actor работает с поддерживаемыми рынками Commercial Content Library в ЕС/ЕЭЗ, Великобритании и Швейцарии. Он не охватывает рекламу США или всего мира.

Может ли Claude автоматически понимать видео?

Скрапер возвращает ссылки и метаданные. Для анализа содержания нужны само видео или расшифровка и совместимый процесс анализа.

Источник и актуальные сведения: Actor TikTok Ad Library от JMLP на Apify.

Другие скраперы,
которые могут пригодиться.

Поговорим о
вашем проекте.

Расскажите, что нужно собрать или понять. Я помогу со скрапером на заказ, конвейером или анализом.

Обсудить проект