jsonscraper

Guia de engenharia TikTok

Como fazer scraping de TikTok com Python

Atualizado em 5 de março de 2026 3 min de leitura 10 visualizações

Este guia mostra como construir um pipeline de dados TikTok robusto com endpoints de usuário/perfil, rotas de pesquisa e casos de uso de extração sem marca d'água.

O mapa da API TikTok inclui classes de usuário, vídeo, hashtag, localização, música, tendências, efeitos e pesquisa. Isso permite que um back-end ofereça suporte a fluxos de trabalho de análise, moderação e enriquecimento ao mesmo tempo.

O que você vai construir

Início rápido no Postman

Abra a coleção oficial do TikTok, defina license_key e valide as primeiras rotas antes de codar.

Passo 1

Fazer fork

Use a coleção Postman de IG ou TikTok como base do seu workspace.

Passo 2

Definir chave

Configure license_key once in an environment variable.

Passo 3

Automatizar

Exporte snippets ou execute fluxos de agentes de IA sobre requisições prontas.

Todas as requisições da API

Mapa completo de endpoints da coleção. Expanda cada classe e clique em uma rota para ver parâmetros e exemplos de resposta.

Video Pesquisar Usuario Hashtag Localizacao Musica Em alta Efeitos Stories Playlists Ao vivo
Video (8 endpoints)
Pesquisar (9 endpoints)
Usuario (15 endpoints)
Hashtag (3 endpoints)
Localizacao (2 endpoints)
Musica (3 endpoints)
Em alta (2 endpoints)
Efeitos (3 endpoints)
Stories (2 endpoints)
Playlists (3 endpoints)
Ao vivo (4 endpoints)
Veja a lista completa de endpoints no Postman

Exemplos em Python da coleção

Esses exemplos usam o mesmo padrão de autenticação do Postman: license_key nos parâmetros de query.

Example 1: search video by keyword (GET /searchVideo)

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "keyword": "appletv",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/searchVideo", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data.get("tiktok", {}).get("cursor"))
{
  "status": "ok",
  "tiktok": {
    "cursor": 12,
    "aweme_list": []
  }
}

Example 2: get no-watermark URL by video ID (GET /getNoWatermarkUrlByID)

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

params = {
    "license_key": LICENSE_KEY,
    "video_id": "7106855913906081070",
    "cache_timeout": 0,
}

r = requests.get(f"{BASE_URL}/getNoWatermarkUrlByID", params=params, timeout=30)
r.raise_for_status()
data = r.json()

print(data["status"], data["tiktok"]["id"])
print(data["tiktok"]["url"])

Padrão de requisições Python (auth + paginação)

Centralize assinatura de requisições e controle de cursores para manter previsíveis as cargas de alto volume.

import requests

BASE_URL = "https://tiktok.evelode.com/tiktok-api"
LICENSE_KEY = "YOUR_LICENSE_KEY"

def call(endpoint: str, **params):
    q = {"license_key": LICENSE_KEY, "cache_timeout": 0, **params}
    r = requests.get(f"{BASE_URL}{endpoint}", params=q, timeout=30)
    r.raise_for_status()
    return r.json()

page1 = call("/getFollowers", query="therock", count=20)
next_cursor = page1.get("tiktok", {}).get("next_cursor")
if next_cursor:
    page2 = call("/getFollowers", query="therock", count=20, cursor=next_cursor)

Notas de implementação

  • Inclua sempre license_key em cada requisição.
  • Use cache_timeout de forma explícita em verificações recorrentes.
  • Persista campos de cursor junto com o contexto da consulta.
  • Amplie a cobertura de rotas por classes após validar a base.

Pronto para lançar seu fluxo API?

Escolha uma API, teste endpoints no Postman e lance seu fluxo em minutos.