Ein Marketingteam bemerkt, dass auf TikTok Videos zu einem neuen Produkt erscheinen, doch mehrere Hashtags täglich manuell zu prüfen, ist mühsam. Um Beiträge und sichtbare Kennzahlen im Zeitverlauf zu vergleichen, braucht es einen wiederholbaren Abruf mit Zeitstempel, einem Archiv der ursprünglichen Antworten und einer Prüfung auf Änderungen.

Für einen solchen Prototyp eignet sich die TikTok Scraper API von jsonscraper: Auf der Produktseite sind Routen für Hashtags, Nutzer, Videos und die Suche aufgeführt. Prüfen Sie zunächst die benötigte Route und das Antwortformat in Postman und übertragen Sie anschließend die bestätigte Konfiguration nach Python. So lässt sich ein wiederholbarer Prozess aufbauen, der nur tatsächlich in der Antwort enthaltene Felder ausliest.
Die Aufgabe: Entwicklungen statt einzelner beliebter Videos erkennen
Ein einzelner Beitrag mit vielen Aufrufen kann Aufmerksamkeit erregen, doch für die Kampagnenplanung ist es hilfreicher zu wissen, wie viele neue Videos zu einem Thema gefunden werden und wie sich die öffentlichen Kennzahlen bereits entdeckter Beiträge verändern. Ein Onlineshop für Sportartikel möchte beispielsweise einschätzen, wie viele Videos zu einer bestimmten Trainingsart erscheinen, bevor er passende Werbemittel erstellt.
Bei einer manuellen Prüfung sind Vergleiche schwierig: Die Ergebnismenge ändert sich, Kennzahlen steigen im Laufe der Zeit, und Mitarbeitende erfassen sie möglicherweise in unterschiedlichen Formaten. Speichert das Team jeden Abruf zusammen mit dem Erfassungszeitpunkt und dem ursprünglichen JSON, entsteht eine eigene Beobachtungshistorie. Bei Änderungen am Analyseschema lassen sich die Daten erneut verarbeiten.
Die Automatisierung umfasst mehrere Schritte: Route und Parameter prüfen, Daten nach Zeitplan abrufen, die Antwort speichern, ihre Struktur bestätigen und anschließend die gewünschten Felder auslesen. Die resultierende Tabelle kann für Diagramme, Themenklassifizierungen oder Berichte verwendet werden.
Was die API-Dokumentation bestätigt
Auf der Seite zur TikTok Scraper API sind die Basisadresse https://tiktok.evelode.com und die Routen der Klasse Hashtag aufgeführt: GET /getHashtagInfo, GET /getHashtagFeed und GET /getHashtagFeedByID. Die Seite zeigt außerdem eine Beispielanfrage an eine andere Route mit dem Parameter license_key und beschreibt, wie der Schlüssel in der Postman-Sammlung eingerichtet wird.
Für GET /getHashtagFeed nennt die offizielle Routenspezifikation den Pflichtparameter query (Hashtag-URL oder Tag-Name) sowie die optionalen Parameter cursor, count, region und cache_timeout. Die Feed-Antwort soll ein Array unter tiktok.aweme_list enthalten. Zu den aufgeführten Elementfeldern gehören aweme_id, desc, create_time, share_url, Autorendaten und statistics. Einzelne Felder können fehlen; prüfen Sie daher vor der Verarbeitung das tatsächliche JSON.
In der Postman-Sammlung von jsonscraper können Sie eine Testanfrage ausführen, die tatsächliche Antwort überprüfen und ein Testbeispiel für spätere Codeprüfungen erhalten. Zur Authentifizierung wird license_key übergeben. Speichern Sie den Schlüssel in einer Umgebungsvariablen und geben Sie ihn nicht in Protokollen aus.
Prüfen Sie die Anfrage zuerst in Postman
Beginnen Sie mit einem Test-Hashtag. Wählen Sie in der Sammlung die Hashtag-Feed-Route aus, geben Sie license_key wie in der Dokumentation beschrieben an und übermitteln Sie den Tagnamen in query. Fügen Sie bei Bedarf count und den Ländercode in region hinzu. Führen Sie die Anfrage aus und prüfen Sie den HTTP-Status, das Feld status auf oberster Ebene und den Inhalt von tiktok.aweme_list.
Speichern Sie eine erfolgreiche Antwort als JSON-Testdatei. Prüfen Sie anhand dieser Datei, ob Beitrags-ID, Beschreibung, Veröffentlichungszeitpunkt, Link und Statistiken vorhanden sind. Nehmen Sie ein Feld erst dann in das Analyseschema auf, wenn Sie bestätigt haben, dass es im erwarteten Typ geliefert wird.
Speichern Sie den API-Schlüssel in einer Umgebungsvariablen statt in der Quelldatei. Wird der Schlüssel in der URL übermittelt, maskieren Sie ihn bei der Protokollierung der Anfrage, damit die vollständige Adresse nicht in den Logs erscheint.
Python-Client für Anfrage und Archivierung
Die Route und Parameternamen im folgenden Beispiel entsprechen der veröffentlichten Spezifikation: Für Hashtags wird query verwendet, die Authentifizierung erfolgt über license_key. Das Beispiel ist mit Python 3.8+ kompatibel und speichert die ursprüngliche Antwort zusammen mit Metadaten zum Abruf.
import json
import os
from datetime import datetime, timezone
from pathlib import Path
import requests
BASE_URL = "https://tiktok.evelode.com"
API_KEY = os.environ["JSONSCRAPER_TIKTOK_LICENSE_KEY"]
def fetch_hashtag_feed(hashtag: str) -> dict:
params = {
"license_key": API_KEY,
"query": hashtag,
"count": 20,
}
response = requests.get(
f"{BASE_URL}/getHashtagFeed",
params=params,
timeout=45,
)
response.raise_for_status()
payload = response.json()
if payload.get("status") != "ok":
raise RuntimeError("Die API hat einen anderen Status als ok zurückgegeben")
return payload
def archive_response(hashtag: str, payload: dict) -> Path:
collected_at = datetime.now(timezone.utc).isoformat()
safe_tag = hashtag.lstrip("#").replace("/", "_")
output_dir = Path("data/raw") / safe_tag
output_dir.mkdir(parents=True, exist_ok=True)
filename = datetime.now(timezone.utc).strftime("%Y%m%dT%H%M%SZ.json")
file_path = output_dir / filename
file_path.write_text(
json.dumps(
{
"hashtag": hashtag,
"collected_at": collected_at,
"response": payload,
},
ensure_ascii=False,
indent=2,
),
encoding="utf-8",
)
return file_path
if __name__ == "__main__":
tag = "#beispielthema"
payload = fetch_hashtag_feed(tag)
saved_path = archive_response(tag, payload)
print(f"Archiv gespeichert: {saved_path}")
Legen Sie vor dem Start die Umgebungsvariable JSONSCRAPER_TIKTOK_LICENSE_KEY fest. Die Anfrage verwendet den bestätigten Parameter query und begrenzt die Zahl der angeforderten Elemente über count. Geprüft werden der HTTP-Status und der JSON-Status; das Archiv bewahrt die tatsächlichen Daten für die spätere Verarbeitung auf. Testen Sie den Ablauf mit einem Hashtag, bevor Sie Zeitplanung und Analyse ergänzen.
Normalisierung ohne anfällige Annahmen ergänzen
Die Dokumentation nennt für die Feed-Antwort das Array tiktok.aweme_list. Prüfen Sie vor der Umwandlung, ob tiktok ein Objekt und aweme_list eine Liste ist. Extrahieren Sie für jedes Element nur bestätigte Felder, etwa aweme_id, desc, create_time, share_url und Werte aus statistics, sofern vorhanden.
Die interne Tabelle kann den Abfrage-Hashtag, den Erfassungszeitpunkt, die Video-ID und ausgewählte Kennzahlen enthalten. Speichern Sie optionale oder fehlende Kennzahlen als leere Werte: Eine fehlende Kennzahl ist etwas anderes als ein gemessener Wert von null. Bewahren Sie die ursprünglichen Antworten separat auf, damit sich die Tabelle ohne erneute Anfrage erstellen lässt.
Ändert sich das Antwortformat, sollte eine Typprüfung die fehlerhafte Verarbeitung stoppen und eine Diagnosemeldung erzeugen. Bewahren Sie eine JSON-Testdatei zusammen mit dem Parser-Test auf: So können Sie überprüfen, ob die neue Codeversion das bekannte Schema weiterhin verarbeitet.
Kennzahlen auf Grundlage wiederholter Beobachtungen
Wenn die Antwort Zähler enthält, speichern Sie jede Beobachtung mit einem Zeitstempel. Vergleichen Sie bei einem Beitrag die Werte zweier Abrufe und berechnen Sie die beobachtete Veränderung im jeweiligen Zeitraum. Verwenden Sie für die Zuordnung aweme_id aus der Spezifikation und prüfen Sie, ob die ID in jedem Element vorhanden ist.
Die Zahl der pro Tag erstmals entdeckten Beiträge lässt sich anhand der Ergebnisse Ihrer Abrufe berechnen. Diese Kennzahl beschreibt den von konkreten Anfragen mit festgelegten Parametern und einem bestimmten Zeitplan zurückgegebenen Strom. Bei einer gleichbleibenden Erfassungsmethode lassen sich damit eigene Momentaufnahmen vergleichen.
Ein Mindestbericht kann die Zahl neu entdeckter Beiträge pro Tag, die Verteilung verfügbarer Zähler und die Veränderung von Werten bei erneut gefundenen Videos anzeigen. Fügen Sie den Anfragezeitpunkt und den Namen der Quelldatei hinzu, damit Analysten die Herkunft jedes Datensatzes überprüfen können.
Zeitplanung und Fehlerbehandlung
Sobald Anfrage und Verarbeitung geprüft sind, führen Sie das Skript nach einem Zeitplan aus – zum Beispiel mit cron, GitHub Actions oder einem Datenorchestrator. Lagern Sie die Hashtag-Liste in eine separate Konfiguration aus, damit Themen ohne Änderungen an der Clientlogik hinzugefügt und entfernt werden können.
Legen Sie für automatische Ausführungen ein Timeout, eine begrenzte Zahl von Wiederholungsversuchen bei vorübergehenden Netzwerkfehlern sowie die Protokollierung des HTTP-Status und der Anfragedauer fest. Schreiben Sie den Schlüssel nicht in die Logs. Speichern Sie bei Verarbeitungsfehlern sichere Diagnoseinformationen und benachrichtigen Sie die zuständige Person.
Die Spezifikation unterstützt für den Hashtag-Feed die Paginierung mit dem Parameter cursor. Wenn Sie sie benötigen, speichern Sie den Cursor aus der Antwort und übergeben Sie ihn unverändert in der nächsten Anfrage. Verarbeiten Sie nur die zurückgegebenen Ergebnisse und überwachen Sie has_more, falls das Feld vorhanden ist. Liefert die Abfrage mehrerer Hashtags dasselbe Video, wählen Sie den Deduplizierungsschlüssel passend zur Aufgabe: Soll der Beitrag pro Hashtag separat berücksichtigt werden oder nur als eindeutiges Video zählen?
Klassifizierung und automatisierte Berichte
Nach dem Abruf geprüfter Datensätze können Sie Beschreibungen von Videos anhand vorgegebener Themen klassifizieren: Das Feld desc ist im Elementschema aufgeführt. Ein Modell kann Beiträge nach Format gruppieren, etwa Anleitungen, Rezensionen oder Erfahrungsberichte. Speichern Sie den Originaltext, das Label, die Version der Anweisung und das Ergebnis; lassen Sie Zweifelsfälle von einer Person prüfen.
Berechnen Sie numerische Kennzahlen mit gewöhnlichem Code, damit wiederholte Ausführungen reproduzierbare Ergebnisse liefern. Ein Klassifikator ist für die Textverarbeitung hilfreich; der abschließende Bericht sollte seine Schlussfolgerungen mit konkreten Datensätzen und Beobachtungsdaten verknüpfen.
In einem No-Code-Szenario lassen sich dieselben Schritte in einem Automatisierungstool verbinden: Zeitplan, HTTP-Anfrage mit geprüfter Konfiguration, Antwortprüfung, JSON-Speicherung, Umwandlung bestätigter Felder und Fehlermeldung. Prüfen Sie zunächst den Vertrag in Postman und übertragen Sie ihn anschließend nach Python, n8n oder Make.
Erwartetes Ergebnis und nächster Schritt
Nach der Einrichtung verfügt das Team über ein Archiv der API-Antworten und eine Beobachtungstabelle für die ausgewählten Hashtags. Damit lassen sich neue Beiträge finden, verfügbare Kennzahlen im Zeitverlauf vergleichen und Inhalte für eine vertiefte Analyse auswählen. Für vergleichbare Ergebnisse sollten Zeitplan, Anfrageparameter und Normalisierungsregeln einheitlich bleiben.
Beginnen Sie mit einer Route und einer echten Antwort: Führen Sie eine Anfrage an /getHashtagFeed mit dem Parameter query aus, speichern Sie das JSON und ergänzen Sie anschließend die Feldverarbeitung und den Zeitplan. Die Seite zur TikTok Scraper API zeigt die Basisadresse und eine Übersicht der Routen; die Routenspezifikation enthält die Parameternamen für die Implementierung des Clients.