Endpoints do TikTok Scraper

Escolha o actor do TikTok para os dados de que você precisa. Cada operação usa o mesmo endpoint de requisição HTTP, mas o seu actor e os campos de entrada diferem.

Requisição e autenticação

POST https://api.scrapeless.com/api/v1/scraper/request
x-api-token: YOUR_API_KEY
Content-Type: application/json

Substitua YOUR_API_KEY pela sua chave de API da Scrapeless. Envie um único objeto JSON contendo actor e input.

Escolha uma operação

OperaçãoActorCampos obrigatórios dentro de input
User Detailscraper.tiktok.user.detailunique_id
User Workscraper.tiktok.user.worksec_uid
Shop Pagescraper.tiktok.shop.pageproduct_id, region

User Detail

Passe o nome de usuário da conta em unique_id, conforme mostrado no exemplo oficial:

curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header 'x-api-token: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "scraper.tiktok.user.detail",
  "input": {
    "unique_id": "teamtrump"
  }
}'

A resposta publicada inclui account_id, unique_id, sec_uid, nickname, profile_url, avatar, statistics e sinalizadores de conta como is_verified.

Salve o sec_uid caso queira chamar o User Work. Um nome de usuário, um ID de conta e um sec_uid são valores distintos; não substitua um pelo outro.

Referência da API User Detail

User Work

Recupere as publicações de uma conta usando o seu sec_uid. A requisição abaixo usa o mesmo identificador de conta da resposta oficial do User Detail; substitua-o pelo sec_uid da sua própria requisição de perfil concluída.

curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header 'x-api-token: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "scraper.tiktok.user.work",
  "input": {
    "sec_uid": "MS4wLjABAAAAIb0gpCf24bC1i5TWl87J5SjS0h7ZB59nfledznAyQ_DF7-vpgJJ8nYfzo98Ba3fp",
    "cursor": "0",
    "count": 10
  }
}'
EntradaTipoObrigatórioDescrição
sec_uidstringSimIdentificador de conta retornado pelo User Detail.
cursorstringNãoCursor de página; o valor inicial documentado é "0".
countintegerNãoNúmero solicitado de publicações; o padrão é 35 e deve ser maior que zero.

O exemplo bem-sucedido contém um array items. Este trecho mantém campos selecionados do seu primeiro item:

{
  "items": [
    {
      "post_id": "7673888001365150989",
      "post_url": "https://www.tiktok.com/@teamtrump/video/7673888001365150989",
      "play_count": 572300,
      "like_count": 31000
    }
  ]
}

O item completo também inclui informações de vídeo e do autor. A referência documenta uma entrada de cursor, mas o seu exemplo de resposta não inclui um cursor de próxima página nem um campo has_more. Não construa um loop de paginação que assuma a existência de qualquer um desses campos.

Referência da API User Work

Shop Page

Recupere os detalhes de um produto com um ID de produto do TikTok Shop e uma região. Ambas as entradas são strings obrigatórias. Esta requisição mantém o valor gb do exemplo oficial:

curl --request POST 'https://api.scrapeless.com/api/v1/scraper/request' \
  --header 'x-api-token: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "actor": "scraper.tiktok.shop.page",
  "input": {
    "product_id": "1729411983267761850",
    "region": "gb"
  }
}'
EntradaTipoObrigatórioDescrição
product_idstringSimID de produto do TikTok Shop.
regionstringSimCódigo de país ou região. A referência lista exemplos incluindo GB, SG, JP e US.

O region retornado representa a região real na página do produto. Este subconjunto do exemplo publicado mostra os tipos de campo; os preços e contagens são valores históricos de exemplo:

{
  "product_id": "1729411983267761850",
  "region": "GB",
  "sold_count": "17644",
  "price": {
    "currency": "GBP",
    "sale_price": "5.78"
  },
  "rating": 4.5,
  "review_count": "823"
}

O exemplo completo também inclui stock, images, options, skus, seller e shipping_options. Mantenha os IDs de produto como strings; o exemplo também representa sold_count, review_count e price.sale_price como strings.

Referência da API Shop Page

Lidar com os resultados da tarefa

Uma resposta HTTP 200 contém o resultado concluído. Uma resposta HTTP 201 significa que o processamento ainda está em andamento; salve o seu taskId e recupere essa tarefa com:

curl --request GET 'https://api.scrapeless.com/api/v1/scraper/result/YOUR_TASK_ID' \
  --header 'x-api-token: YOUR_API_KEY'

Substitua YOUR_TASK_ID pelo ID retornado pela sua requisição. Siga Resultados e Polling para intervalos de polling e limites de novas tentativas.

Inspecione os corpos de erro assim como os códigos de status HTTP. Uma resposta 400 pode incluir code: 20500 e message: "scraping failed"; ela não é uma resposta de dados bem-sucedida. Verifique o alvo e as entradas da requisição antes de tentar novamente.

Exemplos de resposta

Os trechos nesta página são subconjuntos de exemplos oficiais da API, não resultados ao vivo das requisições de amostra. Leia a referência de operação vinculada para o payload completo e trate os valores ausentes de acordo com as necessidades da sua aplicação.