Illustration de l’extracteur TikTok ShopProduits, prix et boutiques aux États-Unis

Extracteur TikTok Shop.

Collectez les fiches publiques TikTok Shop aux États-Unis et comparez prix et offres. Datez chaque exécution pour suivre les changements de produits.

Lancer sur Apify

Comment utiliser cet extracteur.

Essayez ces exemples pour le marketing, la croissance et l’analyse concurrentielle.

01

Suivez les prix et promotions concurrents

Pour une marque grand public, vérifiez les boutiques concurrentes chaque jour. Comparez prix actuels et d’origine, badges et remises. Vérifiez la fiche avant de réagir à un changement.

Gardez un tableau daté signalant les changements par produit.

02

Étudiez une catégorie avant de vous lancer

Étudiez une catégorie américaine et ses sous-catégories. Comparez produits, vendeurs, notes et ventes cumulées pour choisir les niches à approfondir.

Comparez les catégories avec produits sources et note sur l’échantillon.

03

Comparez l’offre produit avec sa vidéo de vente

Étudiez la vidéo avec description, prix et variantes. Préparez des tests de démonstration, de lot ou de positionnement.

Gardez une synthèse produit et créative avec des tests concrets.

DU PREMIER ESSAI AU FLUX RÉCURRENT

Votre premier essai, pas à pas.

  1. Ouvrez l’Actor sur Apify, choisissez Input et passez à l’éditeur JSON pour coller une configuration.
  2. Remplacez phone case par une catégorie à étudier. Utilisez une URL de TikTok Shop US si vous avez déjà une boutique ou un produit. Effacez les recherches préremplies si vous ne collectez que des URL.
  3. Gardez la configuration de proxy résidentiel américain. Commencez avec 20 produits et scrapeProductDetails false. Vérifiez prix, vendeurs et URL avant d’activer les variantes et les fiches détaillées.
  4. Lancez l’exécution et consultez le journal. Vérifiez les cibles et filtres retenus avant de conclure qu’aucun résultat n’existe.
  5. Ouvrez Storage → Dataset, vérifiez quelques lignes et exportez en JSON pour les données imbriquées ou en CSV pour un premier examen dans un tableur.
Configuration de départ
{
  "searchQueries": ["phone case"],
  "maxProducts": 20,
  "scrapeProductDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}

Collez ceci dans l’éditeur JSON de l’Actor. Remplacez les cibles d’exemple avant de lancer.

Voir le formulaire actuel sur Apify

Choisissez votre mode de recherche.

Ce scraper couvre TikTok Shop aux États-Unis. Les recherches servent à découvrir des produits ; les URL de boutiques, catégories et produits offrent un point de départ plus précis. Les collectes de fiches sont plus rapides que celles des détails de chaque produit.

Méthode de rechercheQuand l’utiliserCe qui change
Recherches de produitsQuand l’utiliserVous cherchez des résultats pertinents avant de choisir des cibles précises.Ce qui changeMots-clés produits TikTok Shop, un par élément. Chaque recherche continue jusqu’à épuisement ou limite. Ce sont des recherches de découverte, pas des identifiants exacts.
URL de boutiques ou de produitsQuand l’utiliserVous avez déjà configuré la recherche sur le site source.Ce qui changeLiens US de produits, boutiques, catégories ou recherches ; certains liens de partage et identifiants fonctionnent aussi. Une boutique collecte ses produits, un produit un seul article. Les autres régions sont ignorées.
Couverture par catégorieQuand l’utiliserVous souhaitez une couverture plus large et pouvez augmenter la collecte.Ce qui changePour les liens de catégorie, suit les sous-catégories récursivement. Désactivez pour un échantillon superficiel. Ne change pas les recherches ou les liens produits.

La différence à retenir

Ajoute description, variantes, prix, stock, images, caractéristiques, livraison, avis et vendeur via une requête supplémentaire. Les liens produits reçoivent toujours les détails, même avec false.

Comparer le scraper associé

Tous les paramètres, expliqués.

Utilisez les noms exacts ci-dessous en JSON. Dans le formulaire Apify, saisissez les éléments des listes séparément et respectez les types numériques et booléens.

Valeur par défaut et préremplissage sont différents. La valeur par défaut s’applique si vous omettez un réglage ; le préremplissage est un exemple déjà saisi dans le formulaire Apify. Vérifiez cibles et limites avant chaque collecte. Certains réglages n’ont pas de valeur par défaut dans le schéma. Indiquez au moins une cible prise en charge.

Cibles et recherches2
searchQueries
ListeExemple prérempli : ["phone case"]

Mots-clés produits TikTok Shop, un par élément. Chaque recherche continue jusqu’à épuisement ou limite. Ce sont des recherches de découverte, pas des identifiants exacts.

startUrls
Liste

Liens US de produits, boutiques, catégories ou recherches ; certains liens de partage et identifiants fonctionnent aussi. Une boutique collecte ses produits, un produit un seul article. Les autres régions sont ignorées.

Limites, détails et proxys6
maxProducts
EntierExemple prérempli : 100

Plafond global de produits uniques sur toutes les recherches, boutiques et liens. Les doublons sont écrits une fois. Vide supprime le plafond ; commencez à 50.

maxProductsPerSearch
Entier

Limite chaque recherche, boutique ou catégorie. Trois mots-clés avec 20 chacun peuvent donner 60 produits avant plafond global et déduplication.

scrapeProductDetails
Vrai ou fauxPar défaut : false

Ajoute description, variantes, prix, stock, images, caractéristiques, livraison, avis et vendeur via une requête supplémentaire. Les liens produits reçoivent toujours les détails, même avec false.

includeSubcategories
Vrai ou fauxPar défaut : true

Pour les liens de catégorie, suit les sous-catégories récursivement. Désactivez pour un échantillon superficiel. Ne change pas les recherches ou les liens produits.

maxConcurrency
EntierPar défaut : 5

De 1 à 20 pages parallèles, chacune avec sa session proxy. Valeur par défaut : 5. Augmenter exige suffisamment de sorties résidentielles US et peut accroître le trafic plus que la couverture.

proxyConfiguration
ObjetPar défaut : {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"US"}Exemple prérempli : {"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"],"apifyProxyCountry":"US"}

Le proxy résidentiel US est le réglage de base. D’autres régions ou datacenters peuvent recevoir des pages vides ou contrôles de sécurité. Un pays proxy différent est remplacé par US.

Réglages avancés et reprise2
resume
Vrai ou fauxPar défaut : true

Sauvegarde la progression environ toutes les 30 secondes pour reprendre après un redémarrage ou une migration Apify. Laissez-le activé.

continueFromLastRun
Vrai ou fauxPar défaut : false

Poursuit le travail inachevé du run précédent avec la même entrée. Les résultats précédents restent dans son dataset. Gardez false pour une collecte nouvelle ou régulière.

Cette référence reprend les paramètres de l’Actor. Vérifiez le formulaire actuel avant de modifier un flux de production. Voir le formulaire actuel sur Apify.

Des configurations à copier.

Chaque exemple est une exécution distincte. Commencez petit, vérifiez les résultats, puis élargissez. Adaptez les cibles, pays et dates à votre recherche.

Cartographier une petite catégorie

Échantillonnez trois recherches liées, avec au plus 20 produits chacune et 60 au total. Gardez les fiches seules pour une vue rapide du marché. Les recoupements peuvent réduire le nombre de produits uniques.

Cartographier une petite catégorie
{
  "searchQueries": ["phone case", "phone stand", "screen protector"],
  "maxProducts": 60,
  "maxProductsPerSearch": 20,
  "scrapeProductDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}

Examiner les prix et variantes

Activez les détails pour un échantillon de 20 produits. Comparez variantes et prix disponibles dans Sheets et conservez la date. Prix, remises et stocks peuvent changer entre les collectes.

Examiner les prix et variantes
{
  "searchQueries": ["phone case"],
  "maxProducts": 20,
  "scrapeProductDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}

Créer un échantillon de recherche équilibré

Collectez jusqu’à dix produits pour chacune des trois recherches skincare, avec détails et une concurrence de trois. Vous pourrez examiner un échantillon raisonnable avant d’élargir la collecte.

Créer un échantillon de recherche équilibré
{
  "searchQueries": ["vitamin c serum", "retinol serum", "hyaluronic acid serum"],
  "maxProducts": 30,
  "maxProductsPerSearch": 10,
  "scrapeProductDetails": true,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}

Exécutez, vérifiez, exportez, recommencez.

Conservez identifiants, vendeurs, liens et dates. Le mode détaillé peut ajouter variantes, descriptions, stocks et échantillons d’avis ; ce n’est pas un export illimité d’avis. Ventes affichées et prix sont des signaux du marché, pas un registre de transactions. Gardez les relevés successifs pour comparer les prix sans écraser les changements.

  1. Consultez le dataset et le record SUMMARY. Comparez le total à votre limite, vérifiez les entrées ignorées ou échouées et contrôlez quelques liens sources.
  2. Conservez les identifiants et ajoutez collected_at et run_id à l’enregistrement. Utilisez CSV pour les colonnes simples et JSON pour les listes ou détails imbriqués.
  3. Enregistrez la configuration testée comme Apify Task et programmez-la. Pour des observations régulières, laissez continueFromLastRun à false. Dédupliquez par identifiant en conservant chaque date d’observation.
  4. Dans Make ou n8n, attendez la fin du run, récupérez son dataset et mappez les champs vers Sheets ou votre entrepôt. Alimentez Looker Studio avec une table de reporting et utilisez dbt pour transformer et tester les modèles.
  5. Le même JSON fonctionne avec l’API Actors d’Apify. Dans Claude avec Apify MCP, nommez cet Actor, demandez la lecture du schéma et précisez cibles, marchés et limites avant l’exécution.

Reprendre ne crée pas une nouvelle observation

resume protège le run actuel si Apify le redémarre. continueFromLastRun poursuit un ancien run avec la même configuration ; ses données restent dans son dataset. Réunissez les deux datasets et augmentez une limite déjà atteinte. Relancez de zéro pour observer les changements d’aujourd’hui.

Suivre les guides Sheets, Claude, Looker et BigQuery
Lancer cet Actor par l’API

Enregistrez une configuration ci-dessus dans input.json. Définissez APIFY_TOKEN avec votre jeton Apify dans le terminal, puis envoyez le fichier comme corps de requête.

Démarrer la collecte
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 réponse contient un identifiant de collecte et defaultDatasetId, pas les résultats finaux. Attendez la réussite, définissez DATASET_ID avec cet identifiant et récupérez les lignes. Pour les gros jeux, utilisez limit et offset pour paginer.

Récupérer les données
curl --fail-with-body \
  --url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
  --header "Authorization: Bearer $APIFY_TOKEN"

Référence API de lancement et d’export d’Apify
Options d’export des données

Si les résultats vous surprennent.

Modifiez un réglage à la fois, gardez une petite limite et consultez le résumé avant d’élargir.

Le pays choisi ne renvoie aucun résultat utile.

Le proxy résidentiel US est le réglage de base. D’autres régions ou datacenters peuvent recevoir des pages vides ou contrôles de sécurité. Un pays proxy différent est remplacé par US.

Le résultat existe, mais les champs détaillés manquent.

Ajoute description, variantes, prix, stock, images, caractéristiques, livraison, avis et vendeur via une requête supplémentaire. Les liens produits reçoivent toujours les détails, même avec false.

Les résultats ne couvrent qu’une partie du catalogue.

Limite chaque recherche, boutique ou catégorie. Trois mots-clés avec 20 chacun peuvent donner 60 produits avant plafond global et déduplication.

Le run a réussi, mais reste vide

Un succès indique que l’Actor a terminé, pas que la source a fourni des données. Consultez SUMMARY.inputProblem, SUMMARY.problem et le journal : cible manquante, filtre non pris en charge ou requête refusée. Essayez une cible connue avec moins de filtres.

Moins de lignes que prévu

Vérifiez les limites globales, par recherche et par page, la couverture et les doublons. Plusieurs recherches peuvent trouver la même ligne. Le total annoncé par la source peut inclure des données non accessibles publiquement. Vérifiez les tâches inachevées avant de considérer le dataset complet.

Utilisez les résultats dans vos outils.

Google Sheets

Ajoutez product_id, shop_name, price, discount, sold_count et scraped_at. Comparez les prix avec une référence vérifiée. Séparez les variations du compteur cumulé des ventes vérifiées.

Lire le guide
Claude + MCP

Demandez à Claude de comparer positionnement, offres et thèmes d’avis avec les URL. Séparez avis mis en avant et conclusions sur l’ensemble des avis.

Lire le guide
Looker Studio

Affichez prix et promotions avec filtres boutique et catégorie. Utilisez des instantanés répétés, précisez les ventes cumulées et la couverture.

Lire le guide
BigQuery + dbt

Partitionnez les instantanés par date. Séparez variantes et avis. Faites correspondre les SKU avant les comparaisons de prix et nommez les différences de ventes « variations nettes observées ».

Lire le guide
Copier une consigne pour Claude
Consigne pour Claude + Apify MCP
Vérifie jmlp/tiktok-shop-scraper et collecte au maximum 50 produits phone case US avec détails. Compare prix, remises, boutiques et avis mis en avant, cite les URL et signale les variantes par SKU. Ne traite pas sold_count comme ventes quotidiennes ou revenus.

Les champs disponibles.

Conservez la date de collecte et les identifiants d’origine pour vérifier la provenance d’un résultat ou le comparer à une exécution ultérieure.

Avant de tirer des conclusions

Il couvre TikTok Shop américain. Recherches et catégories sont des échantillons limités. sold_count est cumulé : ses variations peuvent refléter retours ou mises à jour, pas des revenus quotidiens. Le prix affiché est celui de la variante la moins chère ; comparez les mêmes variantes.

product_id / url / scraped_at
Identité produit, page source et date de collecte.
price / price_max / original_price / discount
Prix actuels et promotions publiées.
sold_count / rating / review_count
Compteur cumulé TikTok et indications publiques d’avis.
seller_id / shop_name / shop_url
Boutique proposant le produit.
variants / shipping / specifications
Détails optionnels de stock, livraison et attributs.
video / top_reviews
Vidéo promotionnelle affichée et, avec détails, avis mis en avant.

Questions fréquentes.

Couvre-t-il TikTok Shop dans tous les pays ?

Non. Cet Actor cible actuellement TikTok Shop aux États-Unis. Les boutiques d’autres pays ne sont pas prises en charge.

Puis-je mesurer les ventes quotidiennes avec sold_count ?

C’est un compteur cumulé. Les instantanés montrent des variations nettes observées, mais retours, ajustements et couverture empêchent d’en faire des ventes ou revenus quotidiens vérifiés.

Source et informations actuelles : Actor TikTok Shop de JMLP sur Apify.

D’autres extracteurs
qui pourraient vous être utiles.

Parlons de
votre projet.

Dites-moi ce que vous devez collecter ou comprendre. Je peux vous aider avec un extracteur sur mesure, un pipeline ou l’analyse.

Parlons de votre projet