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/jsonSubstitua YOUR_API_KEY pela sua chave de API da Scrapeless. Envie um único objeto JSON contendo actor e input.
Escolha uma operação
| Operação | Actor | Campos obrigatórios dentro de input |
|---|---|---|
| User Detail | scraper.tiktok.user.detail | unique_id |
| User Work | scraper.tiktok.user.work | sec_uid |
| Shop Page | scraper.tiktok.shop.page | product_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.
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
}
}'| Entrada | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sec_uid | string | Sim | Identificador de conta retornado pelo User Detail. |
cursor | string | Não | Cursor de página; o valor inicial documentado é "0". |
count | integer | Não | Nú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.
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"
}
}'| Entrada | Tipo | Obrigatório | Descrição |
|---|---|---|---|
product_id | string | Sim | ID de produto do TikTok Shop. |
region | string | Sim | Có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.
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.