De volta ao blog

Guia do Scraper do TikTok Shop: Dados dos Produtos, Preços e SKUs

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

01-Sep-2026

TL;DR:

  • Um scraper do TikTok Shop começa com um produto conhecido. Envie product_id e region para scraper.tiktok.shop.page.
  • Registros de produto e variante precisam de tabelas separadas. O preço, estoque, vendedor e despacho em nível de produto não devem sobrescrever opções e disponibilidade em nível de SKU.
  • Região e moeda pertencem a cada observação. A região retornada representa a página que foi resolvida, enquanto a moeda dá significado ao preço.
  • Rótulos de vendas têm limites. Preserve sold_count como retornado; não o reinterprete como GMV, um livro de pedidos, ou vendas por um período escolhido.
  • Capturas suportam monitoramento. O ator retorna dados do produto; o agendamento e o histórico são construídos pela aplicação que faz a chamada.
  • Gratuito para começar. Novas contas Scrapeless incluem créditos gratuitos através do Scrapeless Dashboard.

Introdução: modele o produto antes de construir o feed

Uma página de produto do TikTok Shop combina vários tipos de dados: identidade do produto, identidade do vendedor, preço exibido, estoque agregado, opções selecionáveis, SKUs, imagens, avaliações, comentários, categorias e detalhes de despacho. Achatar tudo isso em uma linha funciona até que um produto tenha várias variantes ou um campo esteja faltando em uma região.

O scraper do TikTok Shop Scrapeless retorna uma resposta de produto estruturada a partir de um ID de produto conhecido e região. Este guia mostra a solicitação, mapeia os campos e constrói um normalizador Python limpo para registros de produto e SKU. Para o envelope de solicitação comum usado por atores de dados gerenciados, leia o guia do ator de dados Scrapeless publicado.

O que o Scraper do TikTok Shop Retorna

O ator scraper.tiktok.shop.page é projetado para busca de detalhes do produto. Ele pode retornar:

  • ID do produto, nome, região, vendedor e contagem vendida
  • preço exibido e moeda
  • estoque agregado
  • contagem de avaliações e classificações
  • imagens do produto
  • definições de opções e registros de SKU
  • disponibilidade de SKU
  • detalhes do vendedor, categorias e informações de envio

A resposta descreve uma página de produto pública solicitada no momento da coleta. Não é uma exportação completa do catálogo, resultado de checkout, histórico de pedidos ou histórico de preços automático.

A própria documentação de comércio do TikTok distingue produtos de SKUs em o resumo da API de Produtos. Essa distinção também é o limite correto do banco de dados para registros de página de produto raspados: um produto pode ter muitas variantes vendáveis.

Parâmetros da Solicitação

O endpoint é POST https://api.scrapeless.com/api/v1/scraper/request, autenticado com x-api-token.

O corpo tem duas entradas obrigatórias:

Parâmetro Tipo Propósito
product_id string Identifica a página de produto da Shop
region string Seleciona o contexto de mercado para a solicitação

A documentação mostra exemplos de região, como GB, SG, JP e US. Não trate esse curto conjunto de exemplos como um diretório de mercado completo. Confirme o mercado necessário pelo fluxo de trabalho do produto e mantenha a região retornada no resultado.

O exemplo completo de entrada e saída está na documentação do ator da página TikTok Shop.

Pré-requisitos

  • Uma conta Scrapeless e token da API do Scrapeless Dashboard
  • Um ID de produto público conhecido do TikTok Shop
  • A região de mercado necessária pela tarefa de pesquisa
  • Um esquema de armazenamento que pode manter instantâneas de produto e SKU separadamente

O código requer um token ativo em SCRAPELESS_API_KEY e um ID de produto real em TIKTOK_SHOP_PRODUCT_ID.

Captura Rápida Com curl

bash Copy
curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header "x-api-token: ${SCRAPELESS_API_KEY}" \
  --header 'content-type: application/json' \
  --data "{\"actor\":\"scraper.tiktok.shop.page\",\"input\":{\"product_id\":\"${TIKTOK_SHOP_PRODUCT_ID}\",\"region\":\"GB\"}}"

A resposta é JSON. O tipo registrado application/json é mantido em o registro de tipos de mídia da IANA, portanto, clientes HTTP padrão podem analisar o corpo sem um decodificador específico do site.

Normalizar Dados de Produto e SKU em Python

O normalizador abaixo preserva a resposta bruta, cria um registro de produto e emite uma linha por SKU. Ele evita deliberadamente assumir que cada campo opcional existe.

python Copy
import json
import os
from datetime import datetime, timezone
from urllib.request import Request, urlopen

ENDPOINT = "https://api.scrapeless.com/api/v1/scraper/request"


def fetch_product(product_id, region):
    payload = {
        "actor": "scraper.tiktok.shop.page",
        "input": {"product_id": str(product_id), "region": region},
    }
    request = Request(
        ENDPOINT,
        data=json.dumps(payload).encode(),
        headers={
            "x-api-token": os.environ["SCRAPELESS_API_KEY"],
            "content-type": "application/json",
        },
        method="POST",
    )
    with urlopen(request, timeout=60) as response:
        return json.load(response)


def normalize(raw):
    observed_at = datetime.now(timezone.utc).isoformat()
    product_id = str(raw.get("product_id", ""))
    product = {
        "observed_at": observed_at,
        "product_id": product_id,
        "region": raw.get("region"),
        "name": raw.get("name"),
        "seller": raw.get("seller"),
        "price": raw.get("price"),
        "currency": raw.get("currency"),
        "stock": raw.get("stock"),
        "sold_count": raw.get("sold_count"),
        "rating": raw.get("rating"),
        "review_count": raw.get("review_count"),
    }
    sku_rows = []
    for sku in raw.get("skus") or []:
        sku_rows.append({
            "observed_at": observed_at,
            "product_id": product_id,
            "region": raw.get("region"),
            "sku_id": str(sku.get("sku_id") or sku.get("id") or ""),
            "options": sku.get("options"),
            "availability": sku.get("availability"),
            "price": sku.get("price"),
            "currency": sku.get("currency") or raw.get("currency"),
        })
    return product, sku_rows


raw_product = fetch_product(os.environ["TIKTOK_SHOP_PRODUCT_ID"], "GB")
product_row, sku_rows = normalize(raw_product)
print(json.dumps({"product": product_row, "skus": sku_rows}, indent=2))

Comece a Raspagem com Scrapeless

Potencialize seu fluxo de trabalho de raspagem da web e automação com Scrapeless!
Inscreva-se hoje e ganhe $5 em crédito gratuitosem necessidade de cartão de crédito.

Reivindique seu crédito gratuito agora no Scrapeless Dashboard.

Como Ler os Campos do Produto

Identidade e vendedor

Armazene product_id como uma string. Mantenha o objeto do vendedor ou o identificador do vendedor com o instantâneo do produto, pois um nome sozinho pode não ser uma chave de junção durável.

Preço e moeda

Um preço sem moeda e região está incompleto. Preserve o valor exatamente como retornado, e normalize sua representação numérica apenas em um campo separado. A referência do código de moeda ISO explica porque os identificadores de moeda pertencem ao lado dos valores monetários.

Estoque e disponibilidade

O estoque em nível de produto é uma visão agregada. A disponibilidade de SKU descreve uma combinação específica de opções. A documentação de inventário do TikTok Shop também identifica produto e SKU como dimensões de inventário separadas. Preserve ambos os níveis e evite substituir um campo SKU ausente pelo agregado do produto.

Contagem de vendidos, nota e avaliações

Mantenha sold_count, nota e contagem de avaliações como rótulos observados. A contagem de vendidos na página do produto não estabelece uma janela de relatório e não expõe um livro de pedidos. A nota e a contagem de avaliações descrevem a resposta da página atual, não o texto de avaliações individuais.

Opções e SKUs

As opções descrevem dimensões como cor ou tamanho; os registros de SKU representam combinações concretas quando a página as expõe. Armazene a estrutura de opções brutas ao lado de um rótulo normalizado para que uma nova opção introduzida não quebre linhas mais antigas.

Crie um Esquema Pronto para Instantâneas

Um modelo prático usa três armazéns:

Armazém Campos-chave Razão
Respostas brutas ID da coleção, hora observada, ID do produto, região Suporta reprocessamento posterior
Instantâneas de produtos hora observada, ID do produto, região, preço, moeda, estoque Suporta comparações em nível de produto
Instantâneas de SKU hora observada, ID do produto, ID do SKU, opções, disponibilidade Suporta comparações em nível de variante

Faltante e zero são diferentes. Estoque zero é um valor; estoque ausente é desconhecido. Mantenha essa distinção em bancos de dados, trabalhos analíticos e regras de alerta.

A Scrapeless fornece este ator através da API de Scraping. Use a página de preços atual ao dimensionar um conjunto de produtos e cadência de coleção.

Problemas Comuns a Prevenir

  • Enviando um ID de produto numérico. Mantenha identificadores como strings através de configuração, solicitações e armazenamento.
  • Eliminando a região após a solicitação. A região é parte da observação e pertence a cada linha normalizada.
  • Assumindo que todo produto tem SKUs. Use uma lista vazia quando nenhum array de SKU estiver presente.
  • Transformando disponibilidade ausente em zero. Preserve nulo ou ausência até que a fonte forneça um estado definitivo.
  • Chamando contagem de vendidos de receita. O campo não é um livro de preços vezes pedidos e não deve ser usado como GMV.

Conclusão: preserve a hierarquia do produto

Um scraper confiável do TikTok Shop começa com um ID de produto e região conhecidos, depois mantém os dados do produto e do SKU em seus níveis naturais. Essa estrutura torna a pesquisa pontual útil agora e deixa espaço para comparações com carimbo de data/hora mais tarde.

Pronto para Construir Seu Conjunto de Dados do TikTok Shop?

Discuta esquemas no Scrapeless Discord ou na comunidade do Telegram. Abra o Painel do Scrapeless quando sua lista de produtos e regras de região estiverem prontas.

FAQ

Q: O que um scraper do TikTok Shop coleta?

O ator abordado aqui coleta os campos de produto, vendedor, preço, moeda, estoque, nota, contagem de avaliações, imagem, opção, SKU, categoria e envio de uma página de produto pública conhecida, quando disponíveis.

Q: Como faço para raspar produtos do TikTok Shop com Python?

Envie uma solicitação POST JSON para a Scrapeless Scraper API com o ator scraper.tiktok.shop.page, além de product_id e region no objeto de entrada.

Q: O ator pode descobrir todo produto em uma loja?

Não. Este ator de página de produto espera um ID de produto conhecido; não deve ser descrito como uma API de descoberta de catálogo completa.

Q: A resposta inclui variantes de produtos?

Pode incluir opções e registros de SKU com disponibilidade. Mantenha esses registros separados dos campos em nível de produto.

Q: O ator acompanha preços automaticamente?

Não. Ele retorna uma instantânea. Sua aplicação agenda chamadas, armazena carimbos de data/hora, compara instantâneas e envia quaisquer alertas.

Q: É legal raspar dados do TikTok Shop?

A legalidade depende do mercado, propósito, dados, método de acesso e termos aplicáveis. Coleta dados públicos de produtos para um propósito permitido e confirme obrigações para as regiões em questão.
Q: Preciso gerenciar um proxy ou um parser de defesa de página?

O ator gerenciado lida com a superfície de coleta. Seu código fornece um contexto de produto válido e lida com a resposta estruturada.

Q: Isso pode funcionar sem um agente de IA?

Sim. O exemplo utiliza solicitações HTTP comuns e não depende de um agente.

Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.

Artigos mais populares

Catálogo