jsonscraper
Mercados
Voltar ao jornal

Como verificar divulgações publicitárias no TikTok em vídeos públicos

Um script Python coleta vídeos por consultas sobre uma marca, identifica termos publicitários explícitos e salva uma lista para revisão manual

Política editorial Comunique um erro

Para filtrar vídeos públicos do TikTok que mencionem uma marca e contenham termos publicitários explícitos, colete resultados de várias consultas de pesquisa, extraia as legendas e sinalize palavras indicadoras. O resultado é um CSV com links e métricas disponíveis — uma fila para revisão humana, não uma conclusão automática sobre conformidade com as regras.

Esse processo pode ser útil para uma agência que compara uma campanha com o briefing ou para uma equipe interna que mantém uma lista de menções públicas. Ele ajuda a organizar os resultados da pesquisa e preserva os indícios que permitem ao analista decidir qual vídeo abrir e examinar.

O que exatamente procurar nos vídeos?

Para verificar publicidade, é importante considerar a relação do criador com a marca e como ela é divulgada junto à recomendação. O guia da FTC para influenciadores explica que uma relação relevante pode ser financeira, profissional, pessoal ou familiar, e que a divulgação deve ser clara e compreensível. Para recomendações em vídeo, a FTC indica que a divulgação deve aparecer no próprio vídeo, e não apenas na descrição. Por isso, a legenda é útil para triagem, mas não mostra, por si só, o que o espectador viu na tela ou ouviu no áudio.

O objetivo deste script é mais limitado: encontrar, nos resultados de pesquisa retornados, vídeos cujas legendas contenham frases relacionadas à marca e possíveis indicadores, como “publicidade”, “patrocinador” ou “parceria”. Ajuste o vocabulário ao idioma e à terminologia da campanha. Se um indicador não aparecer na legenda, abra o vídeo e verifique o conteúdo: uma correspondência de texto não determina se há uma divulgação no próprio vídeo.

Como transformar os resultados da pesquisa em uma fila de revisão?

Prepare uma pequena lista de consultas: o nome da marca, da campanha e a grafia mais comum do produto. Execute as consultas separadamente e salve os termos usados junto com os resultados. Assim, a equipe poderá ver qual consulta encontrou cada vídeo e repetir a coleta, se necessário.

Artigo: Como verificar divulgações publicitárias no TikTok em vídeos públicos
Resumo: As equipes de marketing muitas vezes precisam filtrar vídeos públicos do TikTok que mencionem uma marca e possíveis divulgações publicitárias. Veja como coletar os resultados retornados pela API, extrair legendas e métricas disponíveis e sinalizar termos explícitos, como «publicidade» e «parceria», para análise posterior.
Função da imagem: ilustração de apoio 2 — um aspecto específico diferente
Seção: Como transformar os resultados da pesquisa em uma fila de revisão?
O diagrama mostra o percurso dos resultados da pesquisa até a fila em CSV e a revisão manual da divulgação diretamente no vídeo.© jsonscraper · ilustração gerada por IA
Artigo: Como verificar divulgações publicitárias no TikTok em vídeos públicos
Resumo: As equipes de marketing muitas vezes precisam filtrar vídeos públicos do TikTok que mencionem uma marca e possíveis divulgações publicitárias. Veja como coletar os resultados retornados pela API, extrair legendas e métricas disponíveis e sinalizar termos explícitos, como «publicidade» e «parceria», para análise posterior.
Função da imagem: capa — a ideia central
Seção: Como transformar os resultados da pesquisa em uma fila de revisão?
Tema visual: inf
O diagrama mostra o percurso dos resultados da pesquisa até a fila em CSV e a revisão manual da divulgação diretamente no vídeo.© jsonscraper · criado com IA

Para a coleta, você pode usar a TikTok Scraper API da jsonscraper. A rota GET documentada, /searchVideo, está disponível em https://tiktok.evelode.com e aceita os parâmetros keyword, count, date_posted, sort_by, region e cursor. Na resposta observada, os dados do TikTok continham vídeos em search_item_list[].aweme_info; aweme_list podia estar vazio. O analisador abaixo verifica os dois caminhos.

A chave é enviada no parâmetro license_key. Armazene-a em uma variável de ambiente, não no script nem no repositório. A documentação das rotas do TikTok contém os nomes dos parâmetros de pesquisa; para a página seguinte, use o cursor retornado. Registre o número de objetos processados e a própria consulta: a paginação permite continuar pelos resultados, mas não garante, por si só, que o conjunto esteja completo.

Exemplo mínimo em Python

O script faz uma solicitação para cada frase, coleta os dois formatos documentados de resultados, remove duplicatas pelo ID do vídeo, identifica palavras na descrição e grava um CSV. Instale requests com o comando python -m pip install requests, defina JSONSCRAPER_TIKTOK_LICENSE_KEY no ambiente e execute o arquivo. O exemplo é compatível com Python 3.8 ou posterior.

import csv
import os
import sys
import requests

BASE_URL = "https://tiktok.evelode.com/searchVideo"
KEY = os.environ.get("JSONSCRAPER_TIKTOK_LICENSE_KEY")
if not KEY:
    raise SystemExit("Set JSONSCRAPER_TIKTOK_LICENSE_KEY first")

QUERIES = ["Example Brand", "Example Product", "Example Campaign"]
MARKERS = ("#реклама", "реклама", "спонсор", "партнерство", "партнёрство", "#ad", "sponsored")


def videos_from(payload):
    data = payload.get("tiktok") or {}
    videos = data.get("aweme_list") or []
    if not videos:
        videos = [
            item.get("aweme_info")
            for item in (data.get("search_item_list") or [])
            if isinstance(item, dict) and isinstance(item.get("aweme_info"), dict)
        ]
    return [video for video in videos if isinstance(video, dict)]


rows = {}
for query in QUERIES:
    response = requests.get(
        BASE_URL,
        params={"keyword": query, "count": 20, "date_posted": "this-month", "license_key": KEY},
        timeout=30,
    )
    response.raise_for_status()
    payload = response.json()
    if payload.get("status") != "ok":
        print("Unexpected API status for query:", query, file=sys.stderr)
        continue

    for video in videos_from(payload):
        video_id = video.get("aweme_id")
        if not video_id:
            continue
        author = video.get("author") or {}
        stats = video.get("statistics") or {}
        caption = video.get("desc") or ""
        matched = [word for word in MARKERS if word in caption.casefold()]
        row = rows.setdefault(str(video_id), {
            "video_id": str(video_id),
            "url": video.get("share_url") or "",
            "author": author.get("unique_id") or author.get("nickname") or "",
            "caption": caption,
            "queries": set(),
            "disclosure_markers": set(),
            "play_count": stats.get("play_count"),
            "digg_count": stats.get("digg_count"),
            "comment_count": stats.get("comment_count"),
            "review_status": "manual_review",
        })
        row["queries"].add(query)
        row["disclosure_markers"].update(matched)

with open("tiktok_disclosure_review.csv", "w", newline="", encoding="utf-8-sig") as file:
    fields = ["video_id", "url", "author", "caption", "queries", "disclosure_markers",
              "play_count", "digg_count", "comment_count", "review_status"]
    writer = csv.DictWriter(file, fieldnames=fields)
    writer.writeheader()
    for row in rows.values():
        row["queries"] = " | ".join(sorted(row["queries"]))
        row["disclosure_markers"] = " | ".join(sorted(row["disclosure_markers"]))
        writer.writerow(row)

print("Saved", len(rows), "unique returned videos")

Antes de salvar o código, verifique o status da resposta externa e, em seguida, os dados em tiktok. O normalizador lê os dois caminhos em que os vídeos podem aparecer. Para a página seguinte, é possível passar o cursor recebido na próxima solicitação sem transformá-lo; este exemplo mínimo limita-se intencionalmente a uma página por consulta.

O que o CSV vai mostrar?

Cada linha associa um ID e um link para o vídeo, o identificador de autor disponível, a legenda, as frases de pesquisa e os indicadores encontrados. Se a resposta incluir métricas de visualizações, curtidas e comentários, elas serão salvas como contexto para ajudar a definir a ordem da revisão. Esses campos podem estar ausentes; o script os deixa em branco, em vez de preencher com zeros.

Em seguida, abra o vídeo, verifique se há uma divulgação no próprio vídeo e se ela está visível e registre o resultado de acordo com as categorias definidas, por exemplo, “encontrada”, “requer análise adicional” ou “não identificada durante a revisão”. O código procura apenas indicadores de texto exatos na legenda; não analisa imagem nem áudio e não decide se o vídeo está em conformidade com as regras.

Para um processo regular, programe a coleta, registre o horário da solicitação e salve o JSON original junto com o CSV. Limite a lista de consultas às frases necessárias e defina por quanto tempo os dados coletados serão mantidos. A política de coleta responsável de dados da jsonscraper recomenda uma frequência razoável de solicitações, a minimização de dados e a verificação dos resultados de IA antes de tomar medidas posteriores.

O resultado é uma fila reproduzível de vídeos públicos para a revisão manual de divulgações publicitárias: as correspondências da pesquisa e as métricas disponíveis ajudam a decidir o que abrir primeiro, enquanto a avaliação do próprio vídeo fica a cargo de quem faz a revisão. Os nomes dos parâmetros podem ser consultados na documentação da API do TikTok, e as informações sobre o produto estão na página da TikTok Scraper API.

Pessoas

Nenhuma pessoa listada para este artigo ainda.

Continue lendoTikTok: transforme resultados de busca em uma lista semanal de temas para o suporte
Leia o próximo artigo

Transforme o que lê numa integração funcional

Explore as APIs de dados sociais da jsonscraper, teste pedidos e crie o seu próximo fluxo de trabalho.

Explorar APIs