Fügen Sie ein Profil oder Video ein. Web Unlocker gibt es ohne Login zurück: bei einem Profil die exakten Follower, Likes und die 16 neuesten Videos mit Aufrufen, bei einem Video Aufrufe, Likes, Kommentare, Shares und Speicherungen. $0.98 pro 1.000 Seiten.
1.000 kostenlose Anfragen · Nur bei Erfolg zahlen · 195+ Länder · Claude-tauglich
TikTok-Seiten brauchen 4 bis 20 Sekunden, manchmal länger. Es läuft noch, Sie müssen nicht erneut klicken.
Bereit für Ihre eigenen Creator? API-Key anfordern oder Demo buchen.
Erzählen Sie uns kurz von Ihrem Team und erhalten Sie:
Öffentliche Seiten, ohne Login und ohne TikTok-Konto. Influencer-Plattformen, Agenturen, Marken und Forschende lesen diese zwei Seitentypen, jede als eine Seite berechnet.





Möchten Sie es selbst ausprobieren? Holen Sie sich Ihren API-Key mit 1.000 kostenlosen Anfragen.
Eine Profilseite bringt die exakten Follower und Likes eines Creators und seine 16 neuesten Videos mit Aufrufen, einmal berechnet zu $0.98 pro 1.000 Seiten. TikTok-Scraper auf Apify und Bright Data berechnen jedes dieser Videos als eigenes Ergebnis.
Apify berechnet $48 für 1.000 Creator.
Hier kosten sie $0.98.
Eine fehlgeschlagene Seite kostet nichts. Wenn TikTok einen Fehler schickt, fragen Sie erneut an: Sie zahlen nur für die Seite, die mit Daten zurückkommt.
Was 1.000 TikTok-Creator kosten
1.000 Profile mit ihren 16 neuesten Videos und Aufrufen, zu veröffentlichten Preisen
Gologin: eine Profilseite pro Creator, $0.98 pro 1.000 Seiten. Bright Data berechnet jedes Profil und jedes Video als Datensatz, $1.50 pro 1.000. Im kostenlosen Tarif von Apify berechnet der TikTok Profile Scraper jedes Video mit $3.00 pro 1.000 und der meistgenutzte TikTok Scraper mit $3.70 pro 1.000.
Bereit, es mit Ihren eigenen Creatorn auszuführen? API-Key und kostenlose Anfragen erhalten.
Eine Profilseite bringt die exakten Follower und Likes des Creators und seine 16 neuesten Videos mit Aufrufen. Jede Videoseite ergänzt ihre Likes, Kommentare, Shares und Speicherungen. 17 Seiten, $0.0167, und Sie haben das echte Engagement des Creators, Video für Video.
TikTok zeigt 146,2 Mio. Follower.
Der Scraper liefert 146,194,232.
Die eigenen APIs von TikTok sind für zugelassene Forschende und für das eigene Konto jedes Nutzers gedacht. Hier sehen Sie, was jede Route von Ihnen verlangt, bevor Sie starten, und was sie für dieselben 1.000 Creator berechnet.
| Was es braucht | ||||
|---|---|---|---|---|
| Daten anderer Creator | Ja | Nur Forschende | Ja | Ja |
| Sie zahlen für | Eine Seite | Kostenlos nach Zulassung | Jedes Video | Jeden Datensatz |
| 1.000 Creator mit 16 Videos | $0.98 | Nicht kommerziell | $48 bis $59.20 | $25.50 |
| Start ohne Antrag | Ja | Nein, etwa 4 Wochen | Ja | Ja |
| Kostenlos zum Start | 1.000 Anfragen | Nach Zulassung | $5 im Monat | 5.000 im Monat |
| Die ganze Seite als HTML | Ja | Nein | Nein | Nein |
Sie scrapen mehr als TikTok? Web Unlocker gibt jede Seite auf dieselbe Weise zurück, zum selben Preis.
TikTok hält die Daten einer öffentlichen Seite als JSON in ihrem HTML bereit. Web Unlocker gibt dieses HTML zurück, und ein paar Zeilen Code lesen das Profil oder das Video daraus aus. Der Tab „Creator-Liste“ ist ein kleiner TikTok-Crawler: eine Liste von Konten rein, eine CSV-Datei raus.
Füllen Sie das Formular oben aus. Der Key kommt innerhalb eines Werktags per E-Mail.
Ein Profil für seine Follower und neuesten Videos, ein Video für seine Aufrufe, Likes, Kommentare, Shares und Speicherungen.
Prüfen Sie, ob die Seite mit Daten kam, und fragen Sie erneut an, wenn TikTok einen Fehler schickt: Sie zahlen nur für die Seite, die zurückkommt.
pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python tiktok_profile.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport html
import json
import os
import re
import time
import requests
username = "mrbeast"
def scrape(url, marker):
for attempt in range(3):
address = url if attempt == 0 else f"{url}?fresh={int(time.time())}"
try:
response = requests.get(
"https://parsing.webunlocker.gologin.com/v1/scrape",
params={"url": address, "geo": "us", "format": "json"},
headers={"apikey": os.environ["GOLOGIN_SCRAPING_API_KEY"]},
timeout=60,
)
page = response.json().get("data", {}).get("html", "") if response.ok else ""
except requests.RequestException:
page = ""
if marker in page:
return page
time.sleep(3)
raise RuntimeError("TikTok did not send the page, try again later")
page = scrape(f"https://www.tiktok.com/@{username}", '"followerCount"')
script = re.search(r'<script id="__UNIVERSAL_DATA_FOR_REHYDRATION__"[^>]*>(.*?)</script>', page, re.S)
info = json.loads(script.group(1))["__DEFAULT_SCOPE__"]["webapp.user-detail"]["userInfo"]
user, stats = info["user"], info["statsV2"]
videos = []
for item in page.split('data-e2e="user-post-item"')[1:]:
video = re.search(r'/video/(\d+)"', item)
views = re.search(r'data-e2e="video-views"[^>]*>([^<]*)<', item)
caption = re.search(r'<img alt="([^"]*)"', item)
if video:
videos.append({
"url": f"https://www.tiktok.com/@{username}/video/{video.group(1)}",
"views": views.group(1) if views else None,
"caption": html.unescape(caption.group(1)).split(" created by ")[0].strip() if caption else "",
})
profile = {
"username": user["uniqueId"],
"nickname": user["nickname"],
"bio": user["signature"],
"verified": user["verified"],
"followers": int(stats["followerCount"]),
"following": int(stats["followingCount"]),
"likes": int(stats["heartCount"]),
"videos": int(stats["videoCount"]),
"latest_videos": videos,
}
print(json.dumps(profile, indent=2, ensure_ascii=False))
print(f"@{username}: {profile['followers']:,} followers, {len(videos)} latest videos from one page")GOLOGIN_SCRAPING_API_KEY=your_key node tiktok-engagement.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeimport { writeFileSync } from 'node:fs';
const username = 'mrbeast';
async function scrape(url, marker) {
for (let attempt = 0; attempt < 3; attempt += 1) {
const api = new URL('https://parsing.webunlocker.gologin.com/v1/scrape');
api.search = new URLSearchParams({ url: attempt === 0 ? url : `${url}?fresh=${Date.now()}`, geo: 'us', format: 'json' });
try {
const response = await fetch(api, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
signal: AbortSignal.timeout(60_000),
});
const page = response.ok ? ((await response.json()).data?.html ?? '') : '';
if (page.includes(marker)) return page;
} catch {}
await new Promise((resolve) => setTimeout(resolve, 3000));
}
throw new Error(`TikTok did not send ${url}, try again later`);
}
const data = (page) =>
JSON.parse(page.match(/<script id="__UNIVERSAL_DATA_FOR_REHYDRATION__"[^>]*>([\s\S]*?)<\/script>/)[1]).__DEFAULT_SCOPE__;
const profile = await scrape(`https://www.tiktok.com/@${username}`, '"followerCount"');
const followers = Number(data(profile)['webapp.user-detail'].userInfo.statsV2.followerCount);
const links = profile
.split('data-e2e="user-post-item"')
.slice(1)
.map((item) => item.match(/\/video\/(\d+)"/)?.[1])
.filter(Boolean)
.map((id) => `https://www.tiktok.com/@${username}/video/${id}`);
const rows = [];
for (const url of links) {
const video = data(await scrape(url, '"playCount"'))['webapp.video-detail'].itemInfo.itemStruct;
const stats = video.statsV2;
rows.push({
url,
date: new Date(video.createTime * 1000).toISOString().slice(0, 10),
plays: Number(stats.playCount),
likes: Number(stats.diggCount),
comments: Number(stats.commentCount),
shares: Number(stats.shareCount),
saves: Number(stats.collectCount),
caption: video.desc,
});
}
const cell = (value) => `"${String(value).replaceAll('"', '""')}"`;
writeFileSync(
`${username}-videos.csv`,
[Object.keys(rows[0]).join(','), ...rows.map((row) => Object.values(row).map(cell).join(','))].join('\n'),
);
const sum = (key) => rows.reduce((total, row) => total + row[key], 0);
const engagement = (sum('likes') + sum('comments') + sum('shares') + sum('saves')) / sum('plays');
console.table(rows.map(({ caption, ...row }) => row));
console.log(
`@${username}: ${followers.toLocaleString('en')} followers, ${rows.length} videos, ${(engagement * 100).toFixed(1)}% engagement, ${rows.length + 1} pages, saved to ${username}-videos.csv`,
);GOLOGIN_SCRAPING_API_KEY=your_key node tiktok-creators.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeimport { writeFileSync } from 'node:fs';
const creators = ['mrbeast', 'nasa', 'khaby.lame', 'zachking', 'charlidamelio'];
async function scrape(url, marker) {
for (let attempt = 0; attempt < 3; attempt += 1) {
const api = new URL('https://parsing.webunlocker.gologin.com/v1/scrape');
api.search = new URLSearchParams({ url: attempt === 0 ? url : `${url}?fresh=${Date.now()}`, geo: 'us', format: 'json' });
try {
const response = await fetch(api, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
signal: AbortSignal.timeout(60_000),
});
const page = response.ok ? ((await response.json()).data?.html ?? '') : '';
if (page.includes(marker)) return page;
} catch {}
await new Promise((resolve) => setTimeout(resolve, 3000));
}
return null;
}
const UNITS = { K: 1e3, M: 1e6, B: 1e9 };
const number = (text) => Number.parseFloat(text) * (UNITS[text.at(-1)] ?? 1);
const rows = [];
for (const username of creators) {
const page = await scrape(`https://www.tiktok.com/@${username}`, '"followerCount"');
if (!page) {
console.log(`@${username}: no page this time, run it again later`);
continue;
}
const script = page.match(/<script id="__UNIVERSAL_DATA_FOR_REHYDRATION__"[^>]*>([\s\S]*?)<\/script>/)[1];
const { user, statsV2 } = JSON.parse(script).__DEFAULT_SCOPE__['webapp.user-detail'].userInfo;
const views = [...page.matchAll(/data-e2e="video-views"[^>]*>([^<]+)</g)].map(([, text]) => number(text)).sort((a, b) => a - b);
rows.push({
username: user.uniqueId,
name: user.nickname,
verified: user.verified,
followers: Number(statsV2.followerCount),
likes: Number(statsV2.heartCount),
videos: Number(statsV2.videoCount),
median_views: views.length ? views[Math.floor(views.length / 2)] : '',
});
}
const cell = (value) => `"${String(value).replaceAll('"', '""')}"`;
writeFileSync('creators.csv', [Object.keys(rows[0]).join(','), ...rows.map((row) => Object.values(row).map(cell).join(','))].join('\n'));
console.table(rows);
console.log(`${rows.length} of ${creators.length} creators, one page each, saved to creators.csv`);Bereit, es mit Ihren eigenen Creatorn auszuführen? API-Key und kostenlose Anfragen erhalten.
Ein Konto, ein Proxy-Netzwerk, ein Ökosystem. Wählen Sie das Produkt, das der Job braucht.
Sie scrapen weitere Websites? Sehen Sie sich die Scraper für Instagram, YouTube und Reddit an oder alle Web-Scraping-Tools.
Ein TikTok Scraper, auch TikTok-Crawler genannt, ist ein Tool, das öffentliche TikTok-Seiten liest und in Daten verwandelt: bei einem Profil Follower, Likes und neueste Videos, bei einem Video Aufrufe, Likes, Kommentare, Shares und Speicherungen. Gologin Web Unlocker ist eine TikTok-Scraper-API: Senden Sie die Adresse eines Profils oder Videos, und der Dienst gibt die Seite mit diesen Daten zurück, zu $0.98 pro 1.000 Seiten.
Um TikTok-Daten zu scrapen, brauchen Sie eine Anfrage pro Seite: Senden Sie die Adresse eines öffentlichen Profils oder Videos an Web Unlocker. Der Dienst gibt die Seite so zurück, wie ein abgemeldeter Besucher sie sieht, mit den Daten, die TikTok darin als JSON hält. Der Code oben liest sie in ein paar Zeilen aus. Wenn TikTok einen Fehler schickt, fragen Sie erneut an: Sie zahlen nur für die Seite, die zurückkommt.
Senden Sie die Profiladresse mit der Bibliothek requests an Web Unlocker und lesen Sie das JSON aus der Seite. Der Python-Tab oben ist ein vollständiges Skript, getestet an der Live-API: Es gibt die exakten Follower, Likes und die Zahl der Videos des Creators aus, dazu seine 16 neuesten Videos mit Aufrufen.
Exakte Follower, gefolgte Konten, Likes und die Zahl der Videos, Name, Bio und Verifizierungshaken sowie die 16 neuesten Videos mit Links, Bildunterschriften und Aufrufen. TikTok zeigt auf der Seite gerundete Zahlen; die Daten darin enthalten die exakten.
Ein TikTok-Video-Scraper liefert Aufrufe, Likes, Kommentare, Shares und Speicherungen, die Bildunterschrift, Hashtags, Sound, Datum und Länge, das Titelbild und den Autor mit seiner Followerzahl. Bei großen Videos rundet TikTok Aufrufe und Likes, so wie es sie auch anzeigt.
Ja. Öffentliche Profile und Videos laden ohne Login, und Web Unlocker öffnet sie als abgemeldeter Besucher. Sie brauchen kein TikTok-Konto und setzen keines Ihrer Konten aufs Spiel. Private Konten bleiben geschlossen.
Nur für zugelassene Forschende. Die Research API steht akademischen und gemeinnützigen Forschungsgruppen in den USA, in Europa und in einigen anderen Ländern offen, und die Prüfung dauert etwa 4 Wochen. Die Display API liest nur das Profil und die Videos eines Nutzers, der sich in Ihrer App anmeldet. Keine von beiden deckt kommerzielle Arbeit mit Daten anderer Creator ab.
Addieren Sie die Likes, Kommentare, Shares und Speicherungen der neuesten Videos des Creators und teilen Sie die Summe durch ihre Aufrufe. Web Unlocker bringt die 16 neuesten Videos von der Profilseite und die Zahlen jedes Videos von seiner eigenen Seite: 17 Seiten, $0.0167. Der Node.js-Tab oben rechnet das aus und schreibt eine CSV-Datei; für MrBeast ergab sich 14,7 %.
Die Zahl der Kommentare, ja: Jede Videoseite enthält sie. Die Kommentare selbst laden erst beim Scrollen und brauchen eine angemeldete Sitzung, daher gibt Web Unlocker sie nicht zurück.
$0.98 pro 1.000 Seiten, für jede Seite derselbe Preis: Ein Profil mit seinen 16 neuesten Videos ist eine Seite, ein Video mit seinen Zahlen ist eine Seite. Eine fehlgeschlagene Anfrage kostet nichts. Sie starten mit 1.000 kostenlosen Anfragen, und die Tarife beginnen bei $49 im Monat für 50.000 Anfragen.
Das hängt vom Job ab. Apify und Bright Data verkaufen fertige Zeilen aus Profilen, Videos, Hashtags und Kommentaren und berechnen jede einzelne. Web Unlocker gibt die ganze öffentliche Profil- oder Videoseite zu einem Preis pro Seite zurück, auf TikTok und auf jeder anderen Website, sodass die Prüfung von Creatorn nur ein paar Cent kostet.
Ja. Der TikTok Scraper von Apify berechnet jedes Video, $3.70 pro 1.000 im kostenlosen Tarif, sodass die 16 neuesten Videos eines Creators 16 Ergebnisse sind. Web Unlocker gibt das Profil mit diesen 16 Videos und ihren Aufrufen als eine Seite zurück: $0.98 pro 1.000 Creator.
Profile und Videos, die ohne Login laden, sind öffentliche Seiten. Im Fall Meta gegen Bright Data entschied ein US-Bundesgericht im Januar 2024, dass die Bedingungen einer Plattform das Scraping öffentlicher Daten ohne Login nicht untersagen. Was Sie erfassen und wie Sie es nutzen, liegt bei Ihnen, prüfen Sie es daher anhand der Regeln, die für Ihr Projekt gelten.
Erzählen Sie uns kurz von Ihrem Team und erhalten Sie: