Imagen del scraper Google Ads TransparencyBúsqueda, YouTube y Display

Google Ads Transparency Scraper.

Busca un anunciante y recopila sus anuncios públicos en Google. Compara formatos, comprueba cuándo aparecieron y observa cómo cambia el mensaje entre mercados.

Ejecutar en Apify

Cómo puedes usar este scraper.

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

01

Compara los canales elegidos por tus competidores

Antes de lanzar un SaaS, busca tres dominios competidores. Revisa sus formatos y mensajes en búsqueda, Display y vídeo. Usa los ejemplos para preparar tus pruebas de canales.

Conserva un inventario creativo de competidores con notas sobre los canales que quieres investigar.

02

Compara la publicidad en dos mercados

Si estudias un lanzamiento comercial, sigue al anunciante en dos países objetivo. Usa las fechas de primer y último anuncio para ver cuándo aparecieron las creatividades y cómo cambia el texto.

Prepara una comparación por país con enlaces a los anuncios públicos.

03

Guarda referencias para una campaña de vídeo o Display

Activa los detalles para un grupo pequeño de anunciantes y guarda las URL de variantes. Obtén los ID públicos de YouTube disponibles y revisa los materiales antes de producir tu campaña.

Organiza los materiales por formato para que tu equipo encuentre referencias.

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. Pega el ejemplo en el editor JSON y sustituye nike.com por el sitio del anunciante. Revisa el anunciante resuelto en los primeros resultados; un dominio también puede pasar a una búsqueda por nombre.
  3. Elige una región y limita la ejecución a 50 anuncios únicos. Deja fetchAdDetails y resolveMedia en false hasta saber si bastan los campos del listado. Ambos ajustes pueden añadir solicitudes por anuncio.
  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
{
  "domains": ["nike.com"],
  "regions": ["GB"],
  "platform": "all",
  "maxAds": 50,
  "fetchAdDetails": false,
  "resolveMedia": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

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.

Los nombres, dominios, IDs y URLs del Centro de Transparencia pueden identificar a un anunciante. Usa un ID si una marca tiene varias entidades legales o la búsqueda por nombre elige la incorrecta.

Método de búsquedaCuándo usarloQué cambia
Dominios webCuándo usarloTienes una lista de competidores.Qué cambiaDominios verificados como nike.com, más precisos que el nombre de marca. Un dominio sin coincidencia puede buscarse por nombre; revisa el anunciante elegido.
Nombre del anunciante o marcaCuándo usarloQuieres encontrar resultados relevantes antes de elegir objetivos concretos.Qué cambiaBusca marcas o empresas. El Actor también comprueba su dominio y elige un anunciante. Revisa la identidad y usa un ID AR para fijarla.
IDs de anunciantesCuándo usarloSabes exactamente qué entidad quieres recopilar.Qué cambiaIDs AR de las URLs del Centro de Transparencia. Evitan ambigüedades y permiten seguir la misma entidad legal a lo largo del tiempo.
URLs de la biblioteca de anunciosCuándo usarloYa configuraste la búsqueda en el sitio de origen.Qué cambiaPega URLs de anunciantes del Centro de Transparencia. Cada URL conserva región y plataforma; los ajustes globales completan los filtros ausentes.

La diferencia importante

Conserva anuncios mostrados por última vez desde esta fecha. Se filtran tras recopilarlos porque Google no ofrece filtro de fechas; no garantiza menos solicitudes.

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úsquedas7
searchTerms
ListaEjemplo precargado: ["Nike"]

Busca marcas o empresas. El Actor también comprueba su dominio y elige un anunciante. Revisa la identidad y usa un ID AR para fijarla.

domains
Lista

Dominios verificados como nike.com, más precisos que el nombre de marca. Un dominio sin coincidencia puede buscarse por nombre; revisa el anunciante elegido.

domain
Texto

Un dominio en lugar de la lista domains. Usa el dominio base; las rutas de la web no limitan los anuncios del anunciante.

advertiserIds
Lista

IDs AR de las URLs del Centro de Transparencia. Evitan ambigüedades y permiten seguir la misma entidad legal a lo largo del tiempo.

advertiserId
Texto

Versión de advertiserIds para un anunciante. Copia el valor AR de su URL, no el ID de una creatividad.

transparencyUrls
Lista

Pega URLs de anunciantes del Centro de Transparencia. Cada URL conserva región y plataforma; los ajustes globales completan los filtros ausentes.

transparencyUrl
Texto

Una URL de anunciante con la misma prioridad que transparencyUrls. Su región prevalece sobre una región global distinta.

Mercados, fechas y filtros5
regions
Lista

Varios países crean trabajos independientes por anunciante y región. Se eliminan duplicados por creative_id. Vacío cubre todas las regiones admitidas; países no compatibles se omiten.

region
Texto

Un país, usado solo si regions está vacío. Para comparar mercados, utiliza regions.

platform
TextoPor defecto: all

Limita la plataforma publicitaria de Google. Elige search, youtube, display, shopping, maps, play o all. Los totales pueden solaparse entre plataformas.

Valores JSON sugeridos
all search youtube display shopping maps play
minDate
Texto

Conserva anuncios mostrados por última vez desde esta fecha. Se filtran tras recopilarlos porque Google no ofrece filtro de fechas; no garantiza menos solicitudes.

maxDate
Texto

Conserva anuncios cuyo primer día fue esta fecha o anterior. Con minDate selecciona difusión solapada con tu periodo. Usa YYYY-MM-DD.

Límites, detalles y proxies8
proxyConfiguration
ObjetoPor defecto: {"useApifyProxy":true}Ejemplo precargado: {"useApifyProxy":true}

Se recomienda Apify Proxy; normalmente basta datacenter. Este Actor no requiere residencial. Una configuración rechazada puede pasar al proxy predeterminado de la cuenta.

maxConcurrency
EnteroPor defecto: 4

De 1 a 10 trabajos paralelos por anunciante y región. Ayuda con varios anunciantes o regiones; un solo anunciante en una región se pagina de forma secuencial.

maxAds
EnteroEjemplo precargado: 1000

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

Límite de páginas por trabajo anunciante-región. Cada página contiene hasta pageSize anuncios, máximo 100. Es un límite de prueba, no un total global.

fetchAdDetails
Verdadero o falsoPor defecto: false

Añade desglose por región, fechas regionales y variantes. Requiere una solicitud extra por anuncio; actívalo solo si necesitas esos campos.

resolveMedia
Verdadero o falsoPor defecto: false

Realiza solicitudes extra para obtener IDs de vídeos públicos de YouTube. No puede crear una URL pública para vídeos de display que no la tengan.

pageSize
EnteroPor defecto: 100

De 1 a 100 anuncios por solicitud. Los valores mayores se ajustan a 100 porque Google los rechaza. Mantén 100 salvo depuración.

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ón6
raw
Verdadero o falsoPor defecto: false

Devuelve la estructura de la fuente en lugar de la presentación normalizada. Mantén false para columnas consistentes y usa true para depuración o transformaciones propias.

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.

impersonate
TextoPor defecto: chrome131

Identidad de navegador utilizada en las solicitudes. Conserva el valor predeterminado salvo que investigues bloqueos inmediatos. Cambia la huella de la solicitud, no los datos solicitados.

proxySessionId
Texto

Fija una sesión proxy para depuración. Déjalo vacío en uso normal. Los trabajos paralelos necesitan sesiones propias y pueden ignorar esta sesión fija.

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.

Compara dos marcas en dos mercados

Dos dominios y dos regiones generan cuatro búsquedas anunciante-región. El límite de 150 se aplica al dataset combinado sin duplicados. No reserva una muestra igual para cada marca o país.

Compara dos marcas en dos mercados
{
  "domains": ["nike.com", "adidas.com"],
  "regions": ["GB", "FR"],
  "maxAds": 150,
  "fetchAdDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Crea una selección de anuncios de YouTube

Filtra por YouTube y activa resolveMedia para intentar obtener IDs y URLs de vídeo. Revisa los campos antes de dar enlaces a Claude; algunos anuncios no tienen vídeo accesible directamente.

Crea una selección de anuncios de YouTube
{
  "domains": ["nike.com"],
  "regions": ["GB"],
  "platform": "youtube",
  "maxAds": 50,
  "resolveMedia": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Recopila una muestra regional por fechas

Añade detalles y un periodo de difusión para Alemania. Las fechas se comprueban después de recuperar anuncios, así que un periodo corto no garantiza bajo coste. Cambia las fechas y empieza con un límite pequeño.

Recopila una muestra regional por fechas
{
  "domains": ["nike.com"],
  "regions": ["DE"],
  "minDate": "2026-09-01",
  "maxDate": "2026-09-30",
  "maxAds": 50,
  "fetchAdDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}

Ejecuta, revisa, exporta y repite.

Guarda IDs de anunciante y anuncio con región, plataforma y fecha. Los ajustes de detalle y medios enriquecen registros, no crean un dataset de rendimiento. Usa Sheets para revisar anuncios o BigQuery y dbt para historial sin duplicados. La fuente no ofrece gasto, ROAS ni conversiones.

  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~google-ads-transparency-center-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.

Los resultados pertenecen a otro anunciante.

IDs AR de las URLs del Centro de Transparencia. Evitan ambigüedades y permiten seguir la misma entidad legal a lo largo del tiempo.

Algunos anuncios no tienen una URL de vídeo directa.

Realiza solicitudes extra para obtener IDs de vídeos públicos de YouTube. No puede crear una URL pública para vídeos de display que no la tengan.

Aumentar la concurrencia no aceleró la ejecución.

De 1 a 10 trabajos paralelos por anunciante y región. Ayuda con varios anunciantes o regiones; un solo anunciante en una región se pagina de forma secuencial.

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

Reúne creative_id, advertiser_name, format, first_shown, last_shown y preview_url en una hoja. Añade una columna de tema de campaña para las notas del equipo.

Leer la guía
Claude + MCP

Pide a Claude que compare formatos y fechas de publicación de pocos anunciantes. Solicita enlaces a las fuentes y separa sus interpretaciones de los datos observados.

Leer la guía
Looker Studio

Compara formatos por anunciante y muestra cuándo aparecen nuevos ID creativos. Si recopilas regiones, aplana ese array antes de informar por mercado.

Leer la guía
BigQuery + dbt

Elimina duplicados con creative_id y conserva cada observación fechada. Guarda regiones y variantes en tablas secundarias para que las uniones no inflen el número de creatividades.

Leer la guía
Copiar un prompt para Claude
Prompt para Claude + Apify MCP
Comprueba el esquema de jmlp/google-ads-transparency-center-scraper y recopila como máximo 50 registros de nike.com en GB. Resume formatos y fechas disponibles, cita transparency_url e identifica preguntas para investigar. No estimes gasto ni ROAS.

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

Los datos de transparencia de Google no incluyen conversiones ni ROAS de competidores. Los filtros de fecha se aplican después de recopilar: un periodo corto puede no acortar el rastreo. Los detalles y la resolución de vídeos añaden solicitudes; actívalos cuando los necesites.

creative_id
Clave estable de cada registro creativo.
advertiser_id / advertiser_name
Identidad del anunciante de Google; puede ser una razón social.
format
Texto, imagen, vídeo o Shopping, según los datos recibidos.
first_shown / last_shown
Fechas de publicación indicadas para la creatividad.
image_url / preview_url
Materiales creativos y enlaces de vista previa disponibles.
regions / creative_variants
Datos adicionales al activar fetchAdDetails.

Preguntas frecuentes.

¿Solo cubre anuncios de búsqueda de Google?

Puede recopilar registros de búsqueda, YouTube, Display, Shopping y Maps, según la plataforma elegida y los datos públicos disponibles.

¿Un filtro de fechas reduce el coste?

No necesariamente. El endpoint de origen no permite filtrar por fecha: el scraper recopila páginas y filtra después. Limita la ejecución con maxAds y los controles de detalles opcionales.

Fuente y detalles actuales del producto: Actor Google Ads Transparency 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