Wenn Käufer dieselbe Frage in mehreren TikTok-Videos stellen, ist es für das Support-Team hilfreich, eine Liste der Originalvideos und Formulierungen zu erhalten, die überprüft werden können. Ein möglicher Einstieg ist, Suchergebnisse zu mehreren Anfragen zu sammeln, sie anhand der Video-ID zusammenzuführen und die Stichprobe zur manuellen Kennzeichnung weiterzugeben.
Das folgende Python-Skript sammelt die zurückgegebenen Ergebnisse und erstellt eine CSV-Datei mit Links, Videobeschreibungen und den Suchbegriffen, über die jedes Video gefunden wurde. So lassen sich Überschneidungen zwischen Suchanfragen erkennen; semantisch ähnliche Fragen identifiziert das Skript jedoch nicht selbst. Diese Entscheidung trifft ein Fachmitarbeiter oder ein separater Klassifikator mit anschließender Überprüfung.
Welche Frage die Datensammlung beantworten soll
Angenommen, ein Team verkauft einen Thermobecher und möchte herausfinden, worüber in öffentlichen Videos gesprochen wird. Die Anfrage „Thermobecher läuft aus“ kann Videos mit Beschwerden, Rezensionen und Anleitungen liefern. Die Anfrage „Thermobecher reinigen“ ergibt eine andere Stichprobe. Mehrere Suchbegriffe bilden einen Arbeitsbestand an Beispielen, die für den Support und die Content-Planung geprüft werden können.

Das Ergebnis des Skripts ist eine Tabelle mit der ID des Beitrags, der Beschreibung, dem Link und einer Liste der Suchbegriffe, über die der Beitrag gefunden wurde. Taucht ein Video in mehreren Suchergebnissen auf, zeigt das die Überschneidung der Suchergebnisse, beweist aber noch nicht, dass darin eine wiederkehrende Frage gestellt wird. Um eine Fragenliste zu erstellen, öffnen Sie die Links, prüfen Sie den Kontext und ordnen Sie bestätigte Formulierungen einem Thema zu.
Dieser Prozess ist für Entwickler nützlich, die die Datensammlung automatisieren, und für Analysten, die einen reproduzierbaren Bestand zur Auswertung benötigen. Der Bezug zum Originalvideo ermöglicht es, Schlussfolgerungen zu überprüfen, bevor eine Anleitung geändert oder neues Material erstellt wird.
Welche Daten die Suche zurückgibt
Die Route /searchVideo und ihre Parameter sind im TikTok-API-Referenzhandbuch aufgeführt. keyword ist erforderlich; zu den zusätzlichen Parametern gehören count, cursor, region, date_posted, sort_by und cache_timeout. Die Anfrage wird über den Parameter license_key authentifiziert. Das folgende Beispiel verwendet einen Suchbegriff und eine Seitengröße.
Die geprüfte Antwortstruktur enthält ein übergeordnetes status-Feld und ein tiktok-Objekt. Die Einträge können IDs, Beschreibungen, Links, Angaben zum Autor und Statistiken wie Aufrufe und Kommentare enthalten. Einzelne Felder können fehlen: In der CSV bleiben solche Werte daher leer und werden nicht in null umgewandelt.
Für die Suchantwort werden zwei Strukturen unterstützt: Die Einträge können sich in aweme_list oder in search_item_list[].aweme_info befinden. Der Normalisierer verarbeitet beide Varianten. Außerdem prüft der Code, ob das tiktok-Objekt vorhanden ist, damit eine unerwartete Antwortstruktur nicht fälschlich als erfolgreiches leeres Suchergebnis gilt.
Ein fertiger Datensammler in Python
Das Beispiel ist mit Python 3.8+ und der Bibliothek requests kompatibel. Es stellt für jeden Suchbegriff eine Anfrage, prüft die HTTP-Antwort und den API-Status, führt Einträge anhand ihrer ID zusammen, speichert übereinstimmende Suchbegriffe und schreibt eine CSV-Datei. Der Schlüssel wird aus einer Umgebungsvariable gelesen und nicht ausgegeben.

import csv
import os
import sys
import requests
BASE_URL = "https://tiktok.evelode.com/searchVideo"
KEY = os.environ.get("JSONSCRAPER_TIKTOK_LICENSE_KEY")
QUERIES = [
"термокружка протекает",
"как мыть термокружку",
"термокружка не держит тепло",
]
if not KEY:
sys.exit("Задайте JSONSCRAPER_TIKTOK_LICENSE_KEY")
def extract_items(payload):
data = payload.get("tiktok")
if not isinstance(data, dict):
raise RuntimeError("В ответе отсутствует объект tiktok")
items = list(data.get("aweme_list") or [])
for entry in data.get("search_item_list") or []:
video = entry.get("aweme_info") if isinstance(entry, dict) else None
if isinstance(video, dict):
items.append(video)
return items
rows = {}
for query in QUERIES:
response = requests.get(
BASE_URL,
params={"license_key": KEY, "keyword": query, "count": 20},
timeout=30,
)
response.raise_for_status()
payload = response.json()
if payload.get("status") != "ok":
raise RuntimeError("API вернул статус, отличный от ok")
for item in extract_items(payload):
video_id = item.get("aweme_id")
if not video_id:
continue
stats = item.get("statistics") or {}
author = item.get("author") or {}
row = rows.setdefault(video_id, {
"video_id": video_id,
"description": item.get("desc"),
"share_url": item.get("share_url"),
"author": author.get("nickname"),
"play_count": stats.get("play_count"),
"comment_count": stats.get("comment_count"),
"matched_queries": set(),
})
row["matched_queries"].add(query)
fields = ["video_id", "description", "share_url", "author",
"play_count", "comment_count", "matched_queries"]
with open("tiktok_questions.csv", "w", newline="", encoding="utf-8-sig") as file:
writer = csv.DictWriter(file, fieldnames=fields)
writer.writeheader()
for row in rows.values():
output = dict(row)
output["matched_queries"] = " | ".join(sorted(row["matched_queries"]))
writer.writerow(output)
Installieren Sie die Abhängigkeit mit python -m pip install requests, setzen Sie JSONSCRAPER_TIKTOK_LICENSE_KEY in der Prozessumgebung und führen Sie die Datei aus. Hinterlegen Sie den Schlüssel weder im Quellcode noch in der CSV-Datei oder in Protokollen. Für geplante Ausführungen starten Sie das Skript in einer geschützten Umgebung, in der die Variable dem Auftrag zur Verfügung steht.
So wird aus der CSV eine Fragenliste
Öffnen Sie nach der Datensammlung die Videos und markieren Sie manuell die tatsächlichen Fragen. Gruppieren Sie anschließend bestätigte Formulierungen nach Themen wie „Dichtigkeit“, „Pflege“ oder „Wärmespeicherung“. Der Suchbegriff hilft dabei, einen Beitrag zu finden, doch weder die Videobeschreibung noch die Übereinstimmung von Suchanfragen ersetzen die Prüfung des Kontexts.
Wenn Sie ein Sprachmodell verwenden, übermitteln Sie ihm die Beschreibung und bitten Sie es, ein kurzes Themenlabel sowie eine mögliche Frage vorzuschlagen. Speichern Sie den Originaltext, den Link und das Modellergebnis nebeneinander, damit ein Fachmitarbeiter die Grundlage der Klassifizierung prüfen kann. Geben Sie eine vom Modell vorgeschlagene Formulierung nicht als wörtliche Frage aus, wenn sie in der Beschreibung nicht vorkommt.
Die Zahl der gefundenen Einträge beschreibt ausschließlich die Ergebnisse, die für die konkreten Suchanfragen zurückgegeben wurden. Sie misst weder das gesamte Diskussionsvolumen noch die Nachfrage. Speichern Sie für interne Berichte das Ausführungsdatum, den ursprünglichen Suchbegriff, die ID und die unverarbeitete API-Antwort. So lassen sich Ergebnisse wiederholter Ausführungen vergleichen und neue IDs gesondert markieren.
Das Beispiel enthält bewusst keine automatische Paginierung. Für die nächsten Seiten nennt die Dokumentation den Parameter cursor. Sein Wert wird aus der vorherigen Antwort entnommen und ohne Umwandlung weitergegeben. Eine einzelne Seite stellt nur die abgerufene Ergebnismenge dar, nicht die gesamte Suche.
Was das Team sehen wird
Die Datei tiktok_questions.csv enthält eine Zeile pro eindeutiger ID, die mit den angegebenen Suchbegriffen gefunden wurde. Die Spalte matched_queries zeigt, mit welchen Anfragen das Video gefunden wurde. So lassen sich Überschneidungen zwischen Suchergebnissen erkennen und Beispiele zur Prüfung auswählen; die Klassifizierung der Fragen muss separat erfolgen.
Anschließend kann die CSV in eine wöchentliche Automatisierung eingebunden werden: Ein Scheduler startet die Datensammlung, ein Speicher legt eine Momentaufnahme ab, und bei einer ID, die noch nicht im Protokoll steht, wird eine Benachrichtigung versendet. Das ist eine externe Orchestrierungslogik und keine Funktion der Such-Endpoint. Das Team erhält eine Liste von Links zur Analyse, keine fertige Schlussfolgerung zu den Gründen für das Verhalten der Käufer.
Die Routenparameter finden Sie in der API-Dokumentation; eine Anfrage lässt sich auf der Demo-Plattform für die TikTok API ausprobieren. Prüfen Sie vor einer regelmäßigen Datensammlung die tatsächliche Antwortstruktur und speichern Sie die Werte, die nötig sind, um von der Übersicht zum konkreten Video zu gelangen. Eine Produktbeschreibung finden Sie auf der Seite zur TikTok Scraper API.
Das nützliche Ergebnis ist ein überprüfbarer Bestand an Videos, die mit konkreten Suchbegriffen verknüpft sind. Er hilft dabei, Material für eine manuelle Auswertung auszuwählen und die Quellen zu jeder für den Content-Plan übernommenen Themenstellung festzuhalten.