Imagen del scraper TikTok ShopProductos, precios y tiendas de EE. UU.

TikTok Shop Scraper.

Recopila fichas públicas de TikTok Shop en EE. UU. y compara precios y ofertas. Guarda cada ejecución con fecha para seguir cambios de producto.

Ejecutar en Apify

Cómo puedes usar este scraper.

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

01

Sigue precios y promociones de competidores

Para una marca de consumo, revisa tiendas competidoras a diario. Compara precios actuales y originales, etiquetas y descuentos. Revisa la ficha antes de reaccionar a un cambio.

Mantén una hoja fechada con alertas de cambios por producto.

02

Investiga una categoría antes de entrar

Revisa una categoría de EE. UU. y sus subcategorías. Compara productos, vendedores, valoraciones y ventas acumuladas para elegir nichos que merecen más estudio.

Compara categorías con productos originales y una nota sobre la muestra.

03

Compara la oferta con el vídeo de venta

Revisa el vídeo junto con descripción, precio y variantes. Usa los ejemplos para probar demostraciones, packs o posicionamiento.

Conserva un informe de producto y creatividad con ideas concretas de prueba.

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 phone case por la categoría que quieras investigar. Usa una URL de TikTok Shop de EE. UU. si ya tienes una tienda o producto. Borra las búsquedas prellenadas si solo recopilas URLs.
  3. Mantén la configuración de proxy residencial de EE. UU. Empieza con 20 productos y scrapeProductDetails false. Revisa precios, vendedores y URLs antes de activar variantes y registros más extensos.
  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
{
  "searchQueries": ["phone case"],
  "maxProducts": 20,
  "scrapeProductDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}

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.

Este scraper cubre TikTok Shop de EE. UU. Las frases de búsqueda sirven para descubrir productos; las URLs de tiendas, categorías y productos ofrecen un punto de partida más específico. Recopilar solo fichas es más rápido que obtener detalles de cada producto.

Método de búsquedaCuándo usarloQué cambia
Búsquedas de productosCuándo usarloQuieres encontrar resultados relevantes antes de elegir objetivos concretos.Qué cambiaPalabras clave de productos de TikTok Shop, una por elemento. Cada búsqueda pagina hasta agotar productos o alcanzar un límite. Descubren productos, no son IDs exactos.
URLs de tiendas o productosCuándo usarloYa configuraste la búsqueda en el sitio de origen.Qué cambiaURLs de productos, tiendas, categorías o búsquedas de EE. UU.; también enlaces compartidos e IDs. Una tienda recoge sus productos, un enlace individual uno. Se omiten tiendas no estadounidenses.
Cobertura por categoríaCuándo usarloQuieres más cobertura y puedes permitir una ejecución más grande.Qué cambiaEn URLs de categorías, recorre sus subcategorías. Desactívalo para una muestra superficial. No cambia búsquedas por palabras ni convierte un producto en un catálogo.

La diferencia importante

Añade descripción, variantes con precio y stock, imágenes, especificaciones, envío, muestras de reseñas y vendedor con una solicitud extra. Los enlaces de producto siempre reciben detalles, incluso con false.

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úsquedas2
searchQueries
ListaEjemplo precargado: ["phone case"]

Palabras clave de productos de TikTok Shop, una por elemento. Cada búsqueda pagina hasta agotar productos o alcanzar un límite. Descubren productos, no son IDs exactos.

startUrls
Lista

URLs de productos, tiendas, categorías o búsquedas de EE. UU.; también enlaces compartidos e IDs. Una tienda recoge sus productos, un enlace individual uno. Se omiten tiendas no estadounidenses.

Límites, detalles y proxies6
maxProducts
EnteroEjemplo precargado: 100

Límite global de productos únicos entre búsquedas, tiendas y enlaces. Los repetidos se guardan una vez. Vacío lo elimina; empieza con 50.

maxProductsPerSearch
Entero

Limita cada búsqueda, tienda o categoría. Tres palabras clave con 20 cada una permiten hasta 60 productos antes del límite global y los duplicados.

scrapeProductDetails
Verdadero o falsoPor defecto: false

Añade descripción, variantes con precio y stock, imágenes, especificaciones, envío, muestras de reseñas y vendedor con una solicitud extra. Los enlaces de producto siempre reciben detalles, incluso con false.

includeSubcategories
Verdadero o falsoPor defecto: true

En URLs de categorías, recorre sus subcategorías. Desactívalo para una muestra superficial. No cambia búsquedas por palabras ni convierte un producto en un catálogo.

maxConcurrency
EnteroPor defecto: 5

De 1 a 20 páginas paralelas, cada una con sesión proxy propia. Por defecto 5. Aumentarlo requiere proxies residenciales de EE. UU. suficientes y puede elevar tráfico más que cobertura.

proxyConfiguration
ObjetoPor defecto: {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"US"}Ejemplo precargado: {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"US"}

El valor operativo es un proxy residencial de EE. UU. Otros países o datacenter pueden mostrar páginas vacías o controles de seguridad. Un país proxy distinto se cambia a US.

Ajustes avanzados y recuperación2
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.

Mapea una categoría pequeña

Toma una muestra de tres búsquedas relacionadas, con hasta 20 productos por búsqueda y 60 en total. Usa solo fichas para una visión rápida. Las coincidencias entre búsquedas pueden reducir el total único.

Mapea una categoría pequeña
{
  "searchQueries": ["phone case", "phone stand", "screen protector"],
  "maxProducts": 60,
  "maxProductsPerSearch": 20,
  "scrapeProductDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}

Revisa precios y variantes

Activa los detalles para una muestra de 20 productos. Compara variantes y precios disponibles en Sheets y guarda la fecha. Precios, descuentos y existencias pueden cambiar entre ejecuciones.

Revisa precios y variantes
{
  "searchQueries": ["phone case"],
  "maxProducts": 20,
  "scrapeProductDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}

Crea una muestra de investigación equilibrada

Recopila hasta diez productos por cada una de tres búsquedas de skincare, con detalles y concurrencia tres. Así puedes revisar una muestra manejable antes de ampliar el catálogo.

Crea una muestra de investigación equilibrada
{
  "searchQueries": ["vitamin c serum", "retinol serum", "hyaluronic acid serum"],
  "maxProducts": 30,
  "maxProductsPerSearch": 10,
  "scrapeProductDetails": true,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}

Ejecuta, revisa, exporta y repite.

Guarda IDs, vendedores, enlaces y fechas. El modo detalle añade variantes, descripciones, existencias y muestras de reseñas; no exporta reseñas ilimitadas. Ventas mostradas y precios son señales del mercado, no un registro de transacciones. Conserva muestras repetidas para comparar precios sin sobrescribir cambios.

  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-shop-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.

El valor operativo es un proxy residencial de EE. UU. Otros países o datacenter pueden mostrar páginas vacías o controles de seguridad. Un país proxy distinto se cambia a US.

El resultado existe, pero faltan los campos detallados.

Añade descripción, variantes con precio y stock, imágenes, especificaciones, envío, muestras de reseñas y vendedor con una solicitud extra. Los enlaces de producto siempre reciben detalles, incluso con false.

Los resultados son solo una parte del catálogo.

Limita cada búsqueda, tienda o categoría. Tres palabras clave con 20 cada una permiten hasta 60 productos antes del límite global y los duplicados.

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 product_id, shop_name, price, discount, sold_count y scraped_at. Compara precios con una referencia revisada. Separa cambios del contador acumulado de ventas verificadas.

Leer la guía
Claude + MCP

Pide a Claude que compare posicionamiento, ofertas y temas de reseñas citando URL. Separa reseñas destacadas de cualquier afirmación sobre todas las reseñas.

Leer la guía
Looker Studio

Muestra precios y promociones con filtros por tienda y categoría. Usa capturas repetidas, etiqueta ventas acumuladas e indica la cobertura.

Leer la guía
BigQuery + dbt

Particiona capturas por fecha. Guarda variantes y reseñas por separado. Empareja SKU antes de comparar precios y etiqueta diferencias de ventas como cambios netos observados.

Leer la guía
Copiar un prompt para Claude
Prompt para Claude + Apify MCP
Comprueba jmlp/tiktok-shop-scraper y recopila como máximo 50 productos phone case de US con detalles. Compara rangos de precio, descuentos, tiendas y temas de reseñas destacadas, cita URL y marca variaciones por SKU. No trates sold_count como ventas diarias o ingresos.

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

Cubre TikTok Shop de EE. UU. Búsquedas y categorías son muestras limitadas. sold_count es acumulado: sus cambios pueden reflejar devoluciones o ajustes, no ingresos diarios. El precio principal es de la variante más barata; compara variantes equivalentes.

product_id / url / scraped_at
ID de producto, página original y hora de recopilación.
price / price_max / original_price / discount
Precios actuales y promociones publicadas.
sold_count / rating / review_count
Ventas acumuladas de TikTok y señales públicas de reseñas.
seller_id / shop_name / shop_url
Tienda que ofrece el producto.
variants / shipping / specifications
Detalles opcionales de stock, entrega y atributos.
video / top_reviews
Vídeo promocional mostrado y, con detalles, reseñas destacadas.

Preguntas frecuentes.

¿Cubre TikTok Shop en todos los países?

No. Actualmente cubre TikTok Shop de EE. UU. Los enlaces de tiendas de otros países no están admitidos.

¿Puedo medir ventas diarias con sold_count?

Es un contador acumulado. Las capturas repetidas muestran cambios netos observados, pero devoluciones, ajustes y cobertura impiden tratarlos como ventas o ingresos diarios verificados.

Fuente y detalles actuales del producto: Actor TikTok Shop 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