Imagen del scraper TikTok Ad LibraryBiblioteca de contenido comercial

TikTok Ad Library Scraper.

Recopila anuncios de TikTok en la UE/EEE, Reino Unido y Suiza. Mira los vídeos, compara ofertas y actividad, y usa tus hallazgos para planificar pruebas con tu audiencia.

Ejecutar en Apify

Cómo puedes usar este scraper.

Prueba estos ejemplos para marketing, crecimiento y análisis de la competencia.

01

Planifica una prueba de vídeo por categoría de producto

Para una campaña de belleza en Francia, recopila anuncios de la categoría y mira los vídeos. Etiqueta ganchos iniciales, demostraciones y ofertas y elige enfoques para tu audiencia.

Conserva referencias en una hoja y selecciona ideas de guion.

02

Investiga creatividades antes de entrar en otro mercado

Compara anuncios de Alemania y España. Revisa anunciantes, materiales e idiomas antes de decidir qué producir localmente.

Guarda vídeos originales en un informe de mercado con las preguntas de adaptación pendientes.

03

Encuentra creadores en el contenido comercial de una marca

Busca una marca y verifica si cada registro corresponde a su entidad registrada o al perfil de un creador. Conserva ambas identidades.

Usa la lista de anunciantes y creadores para estudiar colaboraciones.

DE LA PRIMERA EJECUCIÓN A UN FLUJO RECURRENTE

Tu primera ejecución, paso a paso.

  1. Abre el Actor en Apify, entra en Input y cambia al editor JSON para pegar una configuración.
  2. Sustituye todo el JSON por el ejemplo y cambia Nike por tu anunciante. Un nombre visible puede coincidir con varias entidades legales; usa advertiserBusinessIds tras comprobar el ID en un registro devuelto.
  3. Selecciona un país admitido, como FR, y maxAds 50. Mantén los proxies residenciales. Borra la región GB prellenada si quieres solo Francia. No añadas filtros de audiencia hasta que funcione la primera búsqueda.
  4. Inicia la ejecución y revisa el registro. Comprueba qué objetivos y filtros se interpretaron antes de concluir que no hay datos.
  5. Abre Storage → Dataset, revisa varios registros y exporta JSON para datos anidados o CSV para una primera revisión en una hoja.
Configuración inicial
{
  "searchTerms": ["Nike"],
  "regions": ["FR"],
  "maxAds": 50,
  "adStatus": "all",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Pégalo en el editor JSON del Actor. Cambia los ejemplos por tus propios objetivos antes de ejecutar.

Consulta el formulario actual en Apify

Elige cómo buscar.

Esta es la Biblioteca de Contenido Comercial de TikTok, que cubre la UE/EEE, Reino Unido y Suiza. Sirve para investigar anunciantes en esos mercados. Para inspiración creativa de EE. UU., usa el scraper de Creative Center.

Método de búsquedaCuándo usarloQué cambia
Nombre del anunciante o marcaCuándo usarloTienes una lista de competidores.Qué cambiaBusca anunciantes, a menudo entidades legales y no marcas. Nombres parciales, perfiles de TikTok y webs pueden resolverse a una marca. Sin anuncios puede buscarse como palabra clave.
Búsqueda por palabras claveCuándo usarloQuieres encontrar resultados relevantes antes de elegir objetivos concretos.Qué cambiaBusca temas como running shoes en el contenido, independientemente del anunciante. Sirve para descubrir empresas que todavía no sigues.
IDs de anunciantesCuándo usarloSabes exactamente qué entidad quieres recopilar.Qué cambiaIDs numéricos de empresa de TikTok. Permiten seguimiento exacto sin comparar nombres. Copia un ID verificado; no uses el nombre de usuario.
URLs de la biblioteca de anunciosCuándo usarloYa configuraste la búsqueda en el sitio de origen.Qué cambiaPega enlaces de búsqueda de library.tiktok.com. Sus países, fechas, estado y filtros de audiencia prevalecen; los campos independientes completan lo que falte.

La diferencia importante

Solo se cubren los 32 mercados indicados: UE/EEE, Reino Unido y Suiza. Los países explícitos se buscan por separado. Una lista regions vacía busca todos los mercados juntos; ["all"] busca cada país por separado. Los países no admitidos se omiten. Si no queda ninguno, se buscan todos los mercados admitidos.

Compara el scraper relacionado

Todos los parámetros, explicados.

Usa estos nombres exactos en JSON. En el formulario de Apify, introduce cada elemento de las listas por separado y mantén números y booleanos en su tipo correcto.

Default y prefill son distintos. El valor por defecto se aplica si omites un ajuste; el prellenado es un ejemplo introducido en el formulario de Apify. Revisa objetivos y límites antes de cada ejecución. Algunos ajustes no tienen valor por defecto en el esquema. Debes indicar al menos un objetivo admitido.

Objetivos y búsquedas5
searchTerms
ListaEjemplo precargado: ["Nike"]

Busca anunciantes, a menudo entidades legales y no marcas. Nombres parciales, perfiles de TikTok y webs pueden resolverse a una marca. Sin anuncios puede buscarse como palabra clave.

searchTerm
Texto

Un anunciante en lugar de searchTerms. Usa la lista para varios competidores y advertiserBusinessIds si ya conoces la entidad exacta.

keywords
Lista

Busca temas como running shoes en el contenido, independientemente del anunciante. Sirve para descubrir empresas que todavía no sigues.

advertiserBusinessIds
Lista

IDs numéricos de empresa de TikTok. Permiten seguimiento exacto sin comparar nombres. Copia un ID verificado; no uses el nombre de usuario.

adLibraryUrls
Lista

Pega enlaces de búsqueda de library.tiktok.com. Sus países, fechas, estado y filtros de audiencia prevalecen; los campos independientes completan lo que falte.

Mercados, fechas y filtros10
regions
ListaEjemplo precargado: ["GB"]

Solo se cubren los 32 mercados indicados: UE/EEE, Reino Unido y Suiza. Los países explícitos se buscan por separado. Una lista regions vacía busca todos los mercados juntos; ["all"] busca cada país por separado. Los países no admitidos se omiten. Si no queda ninguno, se buscan todos los mercados admitidos.

Valores JSON sugeridos
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
Texto

Un país junto a regions o en su lugar. A diferencia de Google Ads, se combina con la lista y no solo completa una lista vacía.

Valores JSON sugeridos
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
Texto

Filtra en origen la última fecha de difusión, no la creación. Usa YYYY-MM-DD; fechas vacías cubren el archivo disponible, no los 30 días predeterminados de la web.

maxDate
Texto

La última difusión debe ser anterior o igual a este día. Con minDate crea una ventana de última difusión; puede incluir anuncios lanzados meses antes.

adType
TextoPor defecto: all

Elige all, video, image o text. Filtra el formato creativo, no distingue anuncios políticos de comerciales.

Valores JSON sugeridos
all video image text
adStatus
TextoPor defecto: all

active indica anuncios activos, inactive detenidos y all ambos. Estado y fecha de última difusión responden a preguntas distintas; configúralos conscientemente.

Valores JSON sugeridos
all active inactive
sortBy
TextoPor defecto: last_shown_date,desc

Ordena por última difusión, publicación o alcance único, ascendente o descendente. Con maxAds cambia qué parte de los anuncios obtienes primero.

Valores JSON sugeridos
last_shown_date,desc last_shown_date,asc create_time,desc create_time,asc impression,desc impression,asc
gender
TextoPor defecto: ALL

Filtra el género objetivo declarado: ALL, FEMALE o MALE. Son datos de segmentación, no la distribución medida de quienes vieron el anuncio.

Valores JSON sugeridos
ALL FEMALE MALE
ages
Lista

Franjas de edad objetivo en una lista de textos. Usa valores con coma como 18,24. Vacío incluye todas las edades; no son espectadores medidos.

Valores JSON sugeridos
all 13,17 18,24 25,34 35,44 45,54 55,100
adReach
Lista

Conserva bandas de alcance público: 0-10K, 10K-100K o 100K+. Vacío admite todas. No interpretes una banda como impresiones o conversiones exactas.

Valores JSON sugeridos
all 0-10K 10K-100K 100K+
Límites, detalles y proxies5
proxyConfiguration
ObjetoPor defecto: {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}Ejemplo precargado: {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}

Se requieren proxies residenciales. Datacenter puede fallar al iniciar sesión sin un bloqueo claro. Mantén RESIDENTIAL antes de cambiar filtros o fechas al diagnosticar.

maxAds
EnteroEjemplo precargado: 500

Límite de anuncios únicos de toda la ejecución, incluidos todos los objetivos y mercados. Empieza con 50. Si lo dejas vacío, una búsqueda amplia puede crecer mucho.

maxPages
Entero

Limita páginas por país y búsqueda. Cada página efectiva tiene como máximo 12 anuncios, aunque descripciones antiguas digan más. Déjalo vacío para paginar hasta el límite de resultados.

pageSize
EnteroPor defecto: 12

De 1 a 12 anuncios por solicitud. Más de 12 se ajusta a 12. maxPages amplía la profundidad; pageSize por encima de 12 no.

delayMs
EnteroPor defecto: 500

Pausa entre solicitudes de páginas, en milisegundos. Auméntala si la fuente limita solicitudes; reducirla no elimina la latencia ni sus límites.

Ajustes avanzados y recuperación4
raw
Verdadero o falsoPor defecto: false

Devuelve registros originales de TikTok, sin convertir fechas ni decodificar URLs multimedia. Mantén false para datos listos para hojas de cálculo.

proxyRotations
EnteroPor defecto: 3

Reintenta solicitudes rechazadas con una sesión proxy nueva. Más intentos pueden superar bloqueos temporales, pero añaden tiempo y tráfico. Mantén el valor predeterminado salvo que el registro indique un motivo para cambiarlo.

resume
Verdadero o falsoPor defecto: true

Guarda el progreso aproximadamente cada 30 segundos para continuar tras un reinicio o migración. Déjalo activado.

continueFromLastRun
Verdadero o falsoPor defecto: false

Continúa el trabajo pendiente de la ejecución anterior con la misma entrada. Los resultados anteriores quedan en su dataset. Usa false para una colección nueva o periódica.

Esta referencia sigue los campos del Actor. Revisa el formulario actual antes de cambiar un flujo de producción. Consulta el formulario actual en Apify.

Configuraciones listas para copiar.

Cada ejemplo es una ejecución independiente. Empieza con poco, revisa los resultados y amplía después. Adapta objetivos, países y fechas a tu pregunta.

Sigue los anuncios activos de un anunciante

Recopila hasta 50 anuncios activos mostrados en Reino Unido. Comprueba los nombres legales antes de programar y conserva los mismos filtros y país en cada muestra semanal.

Sigue los anuncios activos de un anunciante
{
  "searchTerms": ["Nike"],
  "regions": ["GB"],
  "adStatus": "active",
  "maxAds": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Explora un segmento creativo concreto

Busca vídeos de skincare en Francia dirigidos a 25-34 años y con alcance 100K+. Puede salir una muestra pequeña o vacía. Quita los filtros de alcance y edad de uno en uno para ampliar la búsqueda.

Explora un segmento creativo concreto
{
  "keywords": ["skincare"],
  "regions": ["FR"],
  "adType": "video",
  "ages": ["25,34"],
  "adReach": ["100K+"],
  "sortBy": "last_shown_date,desc",
  "maxAds": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Compara la difusión en dos países

Busca Alemania y Francia con un periodo de última difusión. Un anuncio puede aparecer en ambas búsquedas y se conserva una vez. No sumes los recuentos por país como si fueran inventarios separados.

Compara la difusión en dos países
{
  "searchTerms": ["Nike"],
  "regions": ["DE", "FR"],
  "minDate": "2026-09-01",
  "maxDate": "2026-09-30",
  "maxAds": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}

Ejecuta, revisa, exporta y repite.

Guarda ID del anuncio, nombre legal, URL, medios y fechas de primera y última difusión. El alcance puede ser un rango y gasto e impresiones pueden faltar. No hay conversiones ni pruebas de éxito. Guarda referencias de medios pronto porque caducan las URLs y conserva el contexto de país al comparar.

  1. Revisa el dataset y el registro SUMMARY. Compara el total con tu límite, revisa entradas fallidas u omitidas y verifica algunos enlaces originales.
  2. Conserva los IDs originales y añade collected_at y run_id al guardar. Usa CSV para columnas planas y JSON para arrays o detalles anidados.
  3. Guarda la configuración probada como Apify Task y prográmala. Para capturas periódicas, deja continueFromLastRun en false. Elimina duplicados por ID conservando la fecha de cada observación.
  4. En Make o n8n, espera una ejecución correcta, obtiene el dataset y mapea campos a Sheets o tu almacén. Alimenta Looker Studio mediante una tabla de informes y usa dbt para transformar y validar modelos.
  5. El mismo JSON sirve con la API de Actors de Apify. En Claude con Apify MCP, indica este Actor, pide que revise el esquema y define objetivos, mercados y límites antes de ejecutar.

Reanudar no es obtener una captura nueva

resume protege la ejecución actual si Apify la reinicia. continueFromLastRun continúa una anterior con la misma configuración; sus registros siguen en el dataset anterior. Une ambos datasets y aumenta un límite ya alcanzado. Empieza de nuevo si quieres ver qué ha cambiado hoy.

Sigue las guías para Sheets, Claude, Looker y BigQuery
Ejecuta este Actor con la API

Guarda una configuración anterior como input.json. Define APIFY_TOKEN con tu token de Apify en la terminal y envía el archivo como cuerpo de la solicitud.

Inicia la ejecución
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

La respuesta contiene un ID de ejecución y defaultDatasetId, no resultados finales. Espera a que termine con éxito, define DATASET_ID con ese ID y recupera los elementos. Para datasets grandes, usa limit y offset para paginar.

Recupera el dataset
curl --fail-with-body \
  --url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
  --header "Authorization: Bearer $APIFY_TOKEN"

Referencia de la API de ejecución y exportación de Apify
Opciones de exportación del dataset

Cuando los resultados no cuadran.

Cambia un ajuste cada vez, mantén un límite bajo y revisa el resumen antes de ampliar.

El país seleccionado no devuelve resultados útiles.

Solo se cubren los 32 mercados indicados: UE/EEE, Reino Unido y Suiza. Los países explícitos se buscan por separado. Una lista regions vacía busca todos los mercados juntos; ["all"] busca cada país por separado. Los países no admitidos se omiten. Si no queda ninguno, se buscan todos los mercados admitidos.

La fuente devuelve páginas vacías o errores de acceso.

Se requieren proxies residenciales. Datacenter puede fallar al iniciar sesión sin un bloqueo claro. Mantén RESIDENTIAL antes de cambiar filtros o fechas al diagnosticar.

¿Por qué están vacíos los campos de gasto o rendimiento?

Guarda ID del anuncio, nombre legal, URL, medios y fechas de primera y última difusión. El alcance puede ser un rango y gasto e impresiones pueden faltar. No hay conversiones ni pruebas de éxito. Guarda referencias de medios pronto porque caducan las URLs y conserva el contexto de país al comparar.

La ejecución terminó sin resultados

El éxito indica que el Actor terminó, no que la fuente devolviera datos. Revisa SUMMARY.inputProblem, SUMMARY.problem y el registro: pueden faltar objetivos, haber filtros inválidos o solicitudes rechazadas. Prueba un objetivo conocido con menos filtros.

Menos registros de lo esperado

Revisa límites globales, por búsqueda y por página, cobertura y duplicados. Varias búsquedas pueden encontrar el mismo registro. El total de la fuente puede incluir datos no disponibles públicamente. Revisa los trabajos pendientes antes de dar el dataset por completo.

Usa los resultados en tus herramientas.

Google Sheets

Añade ad_id, advertiser_name, scraped_region, first_shown, last_shown y media_url. Mira los vídeos antes de etiquetar ganchos, formatos y enfoques de producto.

Leer la guía
Claude + MCP

Pide a Claude que organice metadatos y cite registros. Para analizar vídeos, proporciona archivos o transcripciones en un flujo compatible. Los metadatos no muestran el gancho inicial.

Leer la guía
Looker Studio

Compara actividad por anunciante y región. Conserva alcance como rango; no sumes observaciones regionales repetidas como personas únicas.

Leer la guía
BigQuery + dbt

Guarda observaciones originales y una tabla creativa por ad_id. Separa las observaciones regionales y conserva rangos originales de alcance.

Leer la guía
Copiar un prompt para Claude
Prompt para Claude + Apify MCP
Comprueba jmlp/tiktok-ad-library-scraper y recopila hasta 50 registros relacionados con Nike en FR. Separa entidades anunciantes de perfiles de creadores, resume fechas y rangos de alcance y cita ad_library_url. Señala gasto e impresiones ausentes. No describas vídeos que no has revisado.

Los campos que obtendrás.

Conserva la hora de recopilación y los ID originales. Los necesitarás para comprobar el origen de un resultado o compararlo con otra ejecución.

Antes de sacar conclusiones

Este scraper cubre 32 mercados admitidos de la UE/EEE, Reino Unido y Suiza. Gasto e impresiones pueden faltar; estimated_audience contiene rangos de alcance disponibles. Los rangos y fechas no muestran conversiones ni ROAS. Los enlaces pueden caducar.

ad_id / advertiser_business_id
ID estables para registros y seguimiento de anunciantes.
advertiser_name
Cuenta indicada; puede aparecer un creador en contenido de marca.
first_shown / last_shown
Fechas de publicación indicadas en el país elegido.
media_url / cover_url
Enlaces disponibles a medios e imágenes de vista previa.
estimated_audience
Rango público de alcance de la biblioteca.
scraped_region / ad_library_url
Contexto de recopilación y referencia original.

Preguntas frecuentes.

¿Puedo recopilar anuncios de TikTok en EE. UU.?

Este Actor cubre los mercados admitidos de la Biblioteca de Contenido Comercial en la UE/EEE, Reino Unido y Suiza. No ofrece cobertura de EE. UU. ni mundial.

¿Puede Claude entender automáticamente los vídeos?

El scraper devuelve enlaces y metadatos. Analizar el vídeo requiere el archivo o una transcripción y un flujo de análisis compatible.

Fuente y detalles actuales del producto: Actor TikTok Ad Library de JMLP en Apify.

Otros scrapers
que podrían servirte.

Hablemos de
tu proyecto.

Cuéntame qué necesitas recopilar o entender. Puedo ayudarte con un scraper a medida, un pipeline o el análisis.

Hablemos de tu proyecto