Fügen Sie ein öffentliches Profil oder einen Post ein. Web Unlocker gibt die X-Seite ohne Login zurück: bei einem Profil die Follower, die Bio und die 5 neuesten Posts, jeden Post mit exakten Likes, Reposts, Antworten und Aufrufen. $0.98 pro 1.000 Seiten.
1.000 kostenlose Anfragen · Nur bei Erfolg zahlen · 195+ Länder · Claude-tauglich
X-Seiten brauchen meist 2 bis 10 Sekunden. Es läuft noch, Sie müssen nicht erneut klicken.
Bereit für Ihre eigenen Konten? API-Key anfordern oder Demo buchen.
Erzählen Sie uns kurz von Ihrem Team und erhalten Sie:
Öffentliche Seiten, ohne Login, ohne X-Konto und ohne X-API-Key. Social-Listening-Teams, Agenturen, Marken und KI-Agenten 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.
Web Unlocker berechnet eine Post-Seite einmal, mit ihren exakten Antworten, Reposts, Likes und Aufrufen, zu $0.98 pro 1.000 Seiten. Ein Twitter Scraper auf Apify berechnet $0.05 für jeden einzelnen Post-Link, Bright Data $1.50 pro 1.000 Datensätze.
Die X API berechnet $5.00 pro 1.000 Posts.
Hier kosten 1.000 nur $0.98.
Eine Anfrage, die der Dienst nicht beantworten kann, kostet nichts. In unserem Test kamen beim ersten Versuch 6 von 50 Anfragen mit einer schnellen Ablehnung zurück, und eine erneute Anfrage brachte die Seite.
Was 1.000 X-Posts kosten
1.000 öffentliche Posts mit Likes, Reposts, Antworten und Aufrufen, zu veröffentlichten Preisen
Gologin: $0.98 pro 1.000 Seiten, eine Seite pro Post. Bright Data berechnet jeden Datensatz, $1.50 pro 1.000. Die X API berechnet $0.005 pro gelesenem Post. Twitter Scraper Lite auf Apify berechnet $0.05 pro einzelnem Post-Link, plus $0.0004 pro Post.
Bereit, es mit Ihren eigenen Posts auszuführen? API-Key und kostenlose Anfragen erhalten.
Unser Test zum Twitter-Scraping: 20 Marken- und Creator-Profile, je ein frischer Post von jedem und 10 kleinere Konten, jede Seite bis zu dreimal angefragt, so wie es die Demo oben macht. Das kam zurück, und so schnell.
44 von 50 kamen beim ersten Versuch zurück.
Die anderen 6 beim zweiten oder dritten.
Die offizielle X API, die Twitter-Scraper von Apify und die X Scraper API von Bright Data: was jeder für dieselben 1.000 Posts und Profile berechnet und was er von Ihnen verlangt, bevor Sie starten.
| Was es braucht | ||||
|---|---|---|---|---|
| Sie zahlen für | Eine Seite | Jeden Post oder jedes Profil | Jede Abfrage und jeden Post | Jeden Datensatz |
| 1.000 Posts per Link | $0.98 | $5.00 | $50.40 | $1.50 |
| 1.000 Profile | $0.98 | $10.00 | $4.40 | $1.50 |
| Entwicklerkonto | Nicht nötig | Nötig | Nicht nötig | Nicht nötig |
| Wiederholte Prüfungen eines Kontos | Ja | Ja | Begrenzt | Ja |
| Suche nach Stichwort | Nein | Ja | Ja | Ja |
| Exakte Followerzahlen | Gerundet | Ja | Ja | Ja |
| Kostenlos zum Start | 1.000 Anfragen | Nein | $5 im Monat | 5.000 im Monat |
| Gleicher Preis auf jeder anderen Website | Ja | Nein | Nein | Nein |
Sie scrapen mehr als X? Web Unlocker gibt jede Seite auf dieselbe Weise zurück, zum selben Preis.
Eine Profilseite bringt die 5 neuesten Posts eines Kontos mit exakten Likes, Reposts, Antworten und Aufrufen. 100 Konten liefern Ihnen 500 frische Posts für $0.098, so oft Sie prüfen. Der wichtigste Twitter Scraper von Apify bittet Sie, eine Abfrage nicht zu wiederholen.
Die X API berechnet $5 für 1.000 Posts.
Hier kommen 1.000 aus 200 Profilen für $0.20.
X schickt einem abgemeldeten Besucher die Daten im HTML der Seite, mit exakten Zahlen unter jedem Post. Web Unlocker gibt dieses HTML zurück, und ein paar Zeilen Code lesen es aus. Der Tab „Kontenliste“ ist ein kleiner Twitter-Crawler: Konten rein, neueste Posts als 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 5 neuesten Posts, ein Post für seine exakten Likes, Reposts, Antworten und Aufrufe.
Prüfen Sie, ob die Seite mit Daten kam, und fragen Sie erneut an, wenn der Dienst eine schnelle Ablehnung geschickt hat.
pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python x_profile.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport html
import json
import os
import re
import time
from datetime import datetime, timezone
import requests
username = "NASA"
def scrape(url):
for attempt in range(3):
address = url if attempt == 0 else f"{url}?fresh={int(time.time())}"
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=90,
)
page = response.json().get("data", {}).get("html", "") if response.ok else ""
if 'role="group"' in page:
return page
time.sleep(3)
raise RuntimeError("The page came back without data, try again later")
def meta(page, name):
found = re.search(rf'<meta (?:property|name)="{name}" content="([^"]*)"', page)
return html.unescape(found.group(1)) if found else None
def count(page, word):
found = re.search(rf">([\d.,]+[KMB]?)</span>\s*<span[^>]*>{word}<", page)
return found.group(1) if found else None
def text_of(chunk):
start = chunk.find('aria-label="More"')
if start < 0:
return ""
start = chunk.find("</button>", start) + len("</button>")
ends = [chunk.find(mark, start) for mark in ('inert=""', "data-press-control", "<video", 'role="group"', "<article")]
end = min([chunk.rfind("<", 0, at) for at in ends if at > 0] or [len(chunk)])
words = re.sub(r"<script.*?</script>|<[^>]+>", "", chunk[start:end], flags=re.S)
return html.unescape(words).strip()
page = scrape(f"https://x.com/{username}")
posts = []
start = 0
for match in re.finditer(r'aria-label="([^"]*)"[^>]*role="group"', page):
chunk = page[start : match.start()]
start = match.end()
link = re.search(r'href="/(\w+)/status/(\d+)', chunk)
stamp = re.search(r'"timestamp":(\d+)', chunk)
counts = {word.rstrip("s").replace("replie", "reply"): int(value) for value, word in re.findall(r"(\d+) (\w+)", match.group(1))}
posts.append(
{
"url": f"https://x.com/{link.group(1)}/status/{link.group(2)}",
"time": datetime.fromtimestamp(int(stamp.group(1)) / 1000, timezone.utc).isoformat() if stamp else None,
"pinned": ">Pinned</span>" in chunk[: chunk.find("data-post-avatar")],
"text": text_of(chunk),
"replies": counts.get("reply", 0),
"reposts": counts.get("repost", 0),
"likes": counts.get("like", 0),
"bookmarks": counts.get("bookmark", 0),
"views": counts.get("view"),
}
)
profile = {
"username": meta(page, "profile:username"),
"name": meta(page, "author"),
"bio": meta(page, "description"),
"followers": count(page, "Followers"),
"following": count(page, "Following"),
"posts": meta(page, "twitter:data1"),
"joined": meta(page, "twitter:data2"),
"latest_posts": posts,
}
print(json.dumps(profile, indent=2, ensure_ascii=False))
print(f"@{username}: {profile['followers']} followers, {len(posts)} latest posts with exact counts from one page")GOLOGIN_SCRAPING_API_KEY=your_key node x-posts.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeimport { writeFileSync } from 'node:fs';
const links = [
'https://x.com/NASA/status/2120305504295510080',
'https://x.com/SpaceX/status/2120808224324510133',
'https://x.com/Spotify/status/2120607242374504556',
];
async function scrape(url) {
for (let attempt = 1; attempt <= 3; attempt++) {
const address = attempt === 1 ? url : `${url}?fresh=${Date.now()}`;
const params = new URLSearchParams({ url: address, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const page = response.ok ? (await response.json()).data?.html : '';
if (page?.includes('role="group"')) return page;
await new Promise((resolve) => setTimeout(resolve, 3000));
}
throw new Error(`${url} came back without data, try again later`);
}
const meta = (page, name) => page.match(new RegExp(`<meta (?:property|name)="${name}" content="([^"]*)"`))?.[1] ?? '';
const count = (label, word) => Number(label.match(new RegExp(`(\\d+) ${word}`))?.[1] ?? 0);
const posts = [];
for (const url of links) {
const page = await scrape(url);
const label = page.match(/aria-label="([^"]*)"[^>]*role="group"/)[1];
posts.push({
url,
author: meta(page, 'og:title').replace(/ on X$/, ''),
date: meta(page, 'article:published_time').slice(0, 10),
replies: count(label, 'repl'),
reposts: count(label, 'repost'),
likes: count(label, 'like'),
bookmarks: count(label, 'bookmark'),
views: count(label, 'view'),
});
}
writeFileSync('posts.csv', ['url,author,date,replies,reposts,likes,bookmarks,views', ...posts.map((post) => Object.values(post).map((value) => JSON.stringify(value)).join(','))].join('\n'));
console.table(posts);
console.log(`${posts.length} posts in ${posts.length} pages: $${(posts.length * 0.00098).toFixed(4)} on the Growth plan`);GOLOGIN_SCRAPING_API_KEY=your_key node x-accounts.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeimport { writeFileSync } from 'node:fs';
const accounts = ['NASA', 'NatGeo', 'SpaceX', 'Spotify', 'YouTube'];
async function scrape(url) {
for (let attempt = 1; attempt <= 3; attempt++) {
const address = attempt === 1 ? url : `${url}?fresh=${Date.now()}`;
const params = new URLSearchParams({ url: address, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const page = response.ok ? (await response.json()).data?.html : '';
if (page?.includes('role="group"')) return page;
await new Promise((resolve) => setTimeout(resolve, 3000));
}
return '';
}
const count = (label, word) => Number(label.match(new RegExp(`(\\d+) ${word}`))?.[1] ?? 0);
const rows = [];
for (const account of accounts) {
const page = await scrape(`https://x.com/${account}`);
const followers = page.match(/>([\d.,]+[KMB]?)<\/span>\s*<span[^>]*>Followers</)?.[1] ?? '';
let start = 0;
for (const group of page.matchAll(/aria-label="([^"]*)"[^>]*role="group"/g)) {
const chunk = page.slice(start, group.index);
start = group.index + group[0].length;
const [, author, id] = chunk.match(/href="\/(\w+)\/status\/(\d+)/) ?? [];
const time = chunk.match(/"timestamp":(\d+)/)?.[1];
rows.push({
account,
followers,
post: `https://x.com/${author}/status/${id}`,
date: time ? new Date(Number(time)).toISOString().slice(0, 10) : '',
replies: count(group[1], 'repl'),
reposts: count(group[1], 'repost'),
likes: count(group[1], 'like'),
views: count(group[1], 'view'),
});
}
}
writeFileSync('latest-posts.csv', ['account,followers,post,date,replies,reposts,likes,views', ...rows.map((row) => Object.values(row).map((value) => JSON.stringify(value)).join(','))].join('\n'));
console.table(rows);
console.log(`${rows.length} posts from ${accounts.length} accounts in ${accounts.length} pages: $${(accounts.length * 0.00098).toFixed(4)} on the Growth plan`);Bereit, es mit Ihren eigenen Konten 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, Reddit und YouTube an oder alle Web-Scraping-Tools.
Ein Twitter Scraper, heute auch X Scraper genannt, ist ein Tool, das öffentliche Seiten von X (früher Twitter) liest und in Daten verwandelt: bei einem Profil Name, Bio, Follower und neueste Posts, bei einem Post Text, Zeit, Antworten, Reposts, Likes und Aufrufe. Gologin Web Unlocker ist eine Twitter-Scraper-API: Senden Sie eine Seitenadresse, und der Dienst gibt die Seite mit diesen Daten zurück, zu $0.98 pro 1.000 Seiten.
Ja, ohne Login. X zeigt abgemeldeten Besuchern öffentliche Profile und Posts, mit den Daten in der Seite selbst. Web Unlocker öffnet sie als abgemeldeter Besucher von einer US-Adresse, Sie brauchen also kein X-Konto, keine Cookies und keinen X-API-Key: In unserem Test kamen 50 von 50 Seiten mit Daten zurück.
Senden Sie die Profil- oder Post-Adresse mit der Bibliothek requests an Web Unlocker und lesen Sie die Zahlen aus der Seite. Der Python-Tab oben ist ein vollständiger Twitter Scraper in Python, getestet an der Live-API: Er gibt die Follower eines Profils und seine 5 neuesten Posts mit exakten Likes, Reposts, Antworten und Aufrufen aus.
Ja. Die offizielle X API ist ein Weg, Posts zu lesen, die öffentliche Seite ein anderer. Web Unlocker liest die Seite, Sie sparen sich also das Entwicklerkonto, die Rechnung der X API und ihre Monatsgrenze von 3 Millionen gelesenen Posts.
Nicht, um Posts in großem Umfang zu lesen. Die X API rechnet jetzt nach Nutzung ab: $0.005 pro gelesenem Post und $0.010 pro Profil, bis zu 3 Millionen gelesene Posts im Monat. Web Unlocker enthält 1.000 kostenlose Anfragen, genug für 1.000 Posts oder Profile.
Die Preise der Twitter API sind heute die Preise der X API, nach Nutzung abgerechnet: $5.00 für 1.000 Posts und $10.00 für 1.000 Profile. Web Unlocker berechnet in beiden Fällen $0.98 pro 1.000 Seiten, und eine Profilseite bringt bereits die 5 neuesten Posts des Kontos mit: 1.000 Posts aus 200 Profilen kosten $0.20.
$980, wenn Sie jeden Post über seinen eigenen Link lesen, zu $0.98 pro 1.000 Seiten. Lesen Sie sie über Profilseiten, brauchen 1 Million Posts 200.000 Seiten mit je 5 Posts: $196. Die X API berechnet für dieselbe Million Posts $5.000.
Ja. Jede Anfrage lädt die Live-Seite, die Zahlen sind also die, die X in diesem Moment zeigt: In unserem Test hatte derselbe NASA-Post 4.337 Likes und zwanzig Minuten später 4.341.
Nicht mit Web Unlocker. X öffnet Such- und Hashtag-Seiten nur nach einem Login, eine abgemeldete Anfrage landet also auf der Registrierungsseite. Starten Sie bei den Konten und Posts, denen Sie folgen: Ihre Seiten sind öffentlich, und das Beispiel „Kontenliste“ oben prüft eine ganze Liste davon.
Teilweise. Eine Post-Seite bringt ihre 3 oder 4 Top-Antworten mit, jede mit Autor, Text und exakten Likes, Reposts und Aufrufen. Die vollständige Liste der Antworten öffnet sich nur nach einem Login.
Nicht als Liste: Wer einem Konto folgt, wird nur nach einem Login angezeigt. Die Followerzahl ist öffentlich und kommt mit jedem Profil, gerundet so, wie X sie abgemeldeten Besuchern zeigt (92.2M, 28M): Die Seite enthält keine exakte Zahl. Die Zahlen jedes Posts kommen exakt.
Die 5 neuesten, so wie X sie einem abgemeldeten Besucher zeigt, jeden mit exakten Antworten, Reposts, Likes, Lesezeichen und Aufrufen. Ein angehefteter Post kommt zuerst und ist als angeheftet markiert. Für ältere Posts nutzen Sie deren Links: Jede Post-Seite ist eine Anfrage.
Das hängt vom Job ab. Die Scraper von Apify suchen nach Stichwort und berechnen jeden Post. Die X API liest alles, zu $5 pro 1.000 Posts. Web Unlocker gibt die öffentliche Profil- oder Post-Seite mit exakten Zahlen zu einem Preis pro Seite zurück, auf X und auf jeder anderen Website.
Ja. Der wichtigste Twitter Scraper von Apify nimmt nur Suchen an, mindestens 50 Posts pro Abfrage, und bittet Sie, dieselbe Abfrage nicht zu wiederholen; einzelne Posts laufen über seine Lite-Version zu $0.05 pro Link. Web Unlocker nimmt jeden Profil- oder Post-Link zu $0.98 pro 1.000 Seiten an, so oft Sie es brauchen.
Profile und Posts, die ohne Login laden, sind öffentliche Seiten. Im Fall X Corp. gegen Bright Data wies ein US-Bundesrichter im Mai 2024 die Klage von X wegen des Scrapings öffentlicher Daten ab. 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.
Ja. Ein Agent sendet die Profil- oder Post-Adresse an dieselbe API und liest die Zahlen aus der Seite. Mit MCP & AI Skills baut Claude dieses Tool aus einer Beschreibung des Jobs.
Erzählen Sie uns kurz von Ihrem Team und erhalten Sie: