Fügen Sie eine Google-Play-App ein und wählen Sie ein Land. Web Unlocker gibt die exakte Wertung und die exakten Downloads hinter „4.7“ und „500M+“ zurück, dazu Version, Preis und 20 Rezensionen mit den Antworten des Entwicklers. $0.98 pro 1.000 Apps.
1.000 kostenlose Anfragen · Nur bei Erfolg zahlen · 195+ Länder · Claude-tauglich
Google-Play-Seiten brauchen 3 bis 10 Sekunden. Es läuft noch, Sie müssen nicht erneut klicken.
Bereit für Ihre eigenen Apps? API-Key anfordern oder Demo buchen.
Erzählen Sie uns kurz von Ihrem Team und erhalten Sie:
Google Play rundet, was es anzeigt: „4.7“, „500M+“. Die Seite darunter enthält die exakten Zahlen, und eine Anfrage gibt sie mit 20 Rezensionen zurück. Ohne Google-Konto.
Eine Anfrage bringt die ganze Seite einer App: Wertung, Downloads, Version, Preis und 20 Rezensionen. Web Unlocker berechnet sie als eine Seite. Apify und Bright Data berechnen die App und jede ihrer Rezensionen als eigene Zeile, und SerpApi berechnet jede Suche.
Eine App mit 20 Rezensionen sind 21 Zeilen bei Apify.
Hier ist es eine Seite.
Eine Seite, die nicht lädt, kostet nichts. Dieselbe App aus einem anderen Land, ihre Datensicherheitsseite oder eine Suche nach Suchbegriff ist eine weitere Seite.
Was 1.000 Apps mit je 20 Rezensionen kosten
1.000 App-Seiten, Details plus 20 Rezensionen, zu veröffentlichten Preisen
Gologin: $0.98 pro 1.000 Seiten im Growth-Tarif. Apify: 1.000 App-Zeilen und 20.000 Rezensionszeilen, zu $0.0007 und $0.00011 pro Zeile bei einem Actor und $0.30 pro 1.000 Ergebnisse beim anderen. SerpApi: 1.000 App-Suchen im $25-Tarif. Bright Data: 21.000 Datensätze zu $1.50 pro 1.000, Pay-as-you-go.
Bereit, es mit Ihren eigenen Apps auszuführen? API-Key und kostenlose Anfragen erhalten.
Unser Test zum Google-Play-Scraping, zweimal im Abstand einer Stunde: 10 US-Apps je dreimal, 3 deutsche Apps, 2 Suchen und 2 Datensicherheitsseiten, jede bis zu dreimal angefragt wie in der Demo oben.
78 von 88 kamen beim ersten Versuch zurück.
Die anderen 10 beim zweiten oder dritten.
Die Open-Source-Bibliothek google-play-scraper, die Google-Play-Actors von Apify und die Google Play Scraper API von Bright Data: was jede Lösung für dieselben 1.000 Apps kostet und was sie Ihnen überlässt.
| Was es braucht | google-play-scraper | |||
|---|---|---|---|---|
| Sie zahlen für | Eine Seite | Ihre eigenen Server | Jede Zeile | Jeden Datensatz |
| 1.000 Apps mit 20 Rezensionen | $0.98 | Kostenlos, von Ihren IPs | $2.90 bis $6.30 | $31.50 |
| Rezensionen pro App | 20; mehr mit Cloud Browser | Seitenweise, 200 pro Aufruf | Bis zu 100.000 | So viele Sie festlegen |
| Suche nach Suchbegriff | Ja | Ja | Ja | Nein |
| Kostenlos zum Start | 1.000 Anfragen | Kostenlos | $5 im Monat | 5.000 im Monat |
| Die ganze Seite als HTML | Ja | Nein | Nein | Nein |
| Derselbe Preis auf jeder anderen Website | Ja | Nur Google Play | Nein | Nein |
Sie scrapen mehr als Google Play? Web Unlocker gibt jede Seite auf dieselbe Weise zurück, zum selben Preis.
Web Unlocker gibt die 20 Rezensionen einer App-Seite zurück, der Rest liegt im Rezensions-Feed von Google. Cloud Browser, ein eigenes Gologin-Produkt mit eigenen Tarifen, ruft diesen Feed von der App-Seite aus auf: 2.000 der neuesten Duolingo-Rezensionen in 4,5 Sekunden.
Wertungen, Downloads, Preise, Suchplätze und die 20 Top-Rezensionen kommen allein von Web Unlocker. Cloud Browser ist für den vollständigen Rezensionsverlauf.
Von der geöffneten App-Seite aus fragt Cloud Browser den Feed von Google nach 100 Rezensionen auf einmal, neueste zuerst: 20 Aufrufe, 2.000 Rezensionen, 4,5 Sekunden.
Cloud Browser ist nicht Teil der Web-Unlocker-Anfragen. Ihr Playwright- oder Puppeteer-Code oder Claude steuert ihn. Residential-IPs inklusive.
Starten Sie es mit Playwright, Puppeteer oder Claude. Cloud Browser ansehen.
Google Play hält die Daten einer App als JSON in ihrer Seite, dasselbe JSON liest die Bibliothek google-play-scraper. Web Unlocker gibt diese Seite aus dem gewählten Land zurück, und ein paar Zeilen lesen daraus die App, ihre 20 Rezensionen oder Suchergebnisse.
Füllen Sie das Formular oben aus. Der Key kommt innerhalb eines Werktags per E-Mail.
Eine App-Seite für Details und Rezensionen, eine Suchseite für Platzierungen, eine Datensicherheitsseite für das, was die App erfasst.
Schneiden Sie die Daten der App aus der Seite und fragen Sie mit einer neuen Seitenadresse (URL) erneut an, wenn die Seite ohne sie kam.
pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python google_play_app.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport json
import os
import re
import time
from datetime import datetime, timezone
import requests
app_id = "com.duolingo"
country = "us"
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": country, "format": "json"},
headers={"apikey": os.environ["GOLOGIN_SCRAPING_API_KEY"]},
timeout=90,
)
page = response.json().get("data", {}).get("html", "") if response.ok else ""
if "key: 'ds:5'" in page:
return page
time.sleep(3)
raise RuntimeError("The page came back without the app data, try again later")
def blocks(page):
for key, data in re.findall(r"AF_initDataCallback\(\{key: '(ds:\d+)'.*?data:(.*?), sideChannel: \{\}\}\);</script>", page, re.S):
yield key, json.loads(data)
def at(node, *path):
for step in path:
if not isinstance(node, list) or step >= len(node):
return None
node = node[step]
return node
def day(stamp):
return datetime.fromtimestamp(stamp[0], timezone.utc).date().isoformat() if stamp else None
page = scrape(f"https://play.google.com/store/apps/details?id={app_id}&hl=en&gl={country.upper()}")
data = dict(blocks(page))
d = at(data["ds:5"], 1, 2)
reviews = next(
(value[0] for value in data.values() if isinstance(at(value, 0, 0, 0), str) and re.match(r"^[0-9a-f]{8}-", at(value, 0, 0, 0))),
[],
)
app = {
"id": app_id,
"title": at(d, 0, 0),
"developer": at(d, 68, 0),
"genre": at(d, 79, 0, 0, 0),
"rating": at(d, 51, 0, 1),
"ratings": at(d, 51, 2, 1),
"installs": at(d, 13, 0),
"installs_exact": at(d, 13, 2),
"price": (at(d, 57, 0, 0, 0, 0, 1, 0, 0) or 0) / 1e6,
"currency": at(d, 57, 0, 0, 0, 0, 1, 0, 1),
"version": at(d, 140, 0, 0, 0) or "Varies with device",
"updated": at(d, 145, 0, 0),
"reviews": [
{
"author": at(review, 1, 0),
"stars": at(review, 2),
"text": at(review, 4),
"date": day(at(review, 5)),
"helpful": at(review, 6),
"app_version": at(review, 10),
"reply": at(review, 7, 1),
}
for review in reviews
],
}
print(json.dumps(app, indent=2, ensure_ascii=False))
print(f"{app['title']}: {app['rating']:.2f} from {app['ratings']:,} ratings, {app['installs_exact']:,} installs, {len(app['reviews'])} reviews from one page")GOLOGIN_SCRAPING_API_KEY=your_key node google-play-apps.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeimport { writeFileSync } from 'node:fs';
const apps = ['com.duolingo', 'com.babbel.mobile.android.en', 'com.memrise.android.memrisecompanion', 'com.busuu.android.enc', 'com.hellotalk'];
const country = 'us';
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: country, 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("key: 'ds:5'")) return page;
await new Promise((resolve) => setTimeout(resolve, 3000));
}
return '';
}
const at = (node, ...path) => path.reduce((value, step) => (Array.isArray(value) ? value[step] : undefined), node);
const appData = (page) => {
const block = page.match(/AF_initDataCallback\(\{key: 'ds:5'.*?data:(.*?), sideChannel: \{\}\}\);<\/script>/s)?.[1];
return block ? at(JSON.parse(block), 1, 2) : null;
};
const rows = [];
for (const id of apps) {
const d = appData(await scrape(`https://play.google.com/store/apps/details?id=${id}&hl=en&gl=${country.toUpperCase()}`));
rows.push({
id,
title: at(d, 0, 0),
rating: at(d, 51, 0, 1)?.toFixed(3),
ratings: at(d, 51, 2, 1),
installs: at(d, 13, 2),
version: at(d, 140, 0, 0, 0) ?? 'Varies with device',
updated: at(d, 145, 0, 0),
price: (at(d, 57, 0, 0, 0, 0, 1, 0, 0) ?? 0) / 1e6,
});
}
writeFileSync('apps.csv', ['id,title,rating,ratings,installs,version,updated,price', ...rows.map((row) => Object.values(row).map((value) => JSON.stringify(value ?? '')).join(','))].join('\n'));
console.table(rows);
console.log(`${rows.length} apps in ${rows.length} pages: $${(rows.length * 0.00098).toFixed(4)} on the Growth plan`);GOLOGIN_SCRAPING_API_KEY=your_key node google-play-rank.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst keyword = 'meditation';
const app = 'com.calm.android';
const countries = ['us', 'gb', 'de', 'ca', 'au'];
async function scrape(url, geo) {
for (let attempt = 1; attempt <= 3; attempt++) {
const address = attempt === 1 ? url : `${url}&fresh=${Date.now()}`;
const params = new URLSearchParams({ url: address, geo, 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("key: 'ds:4'")) return page;
await new Promise((resolve) => setTimeout(resolve, 3000));
}
return '';
}
const results = (page) => {
const block = page.match(/AF_initDataCallback\(\{key: 'ds:4'.*?data:(.*?), sideChannel: \{\}\}\);<\/script>/s)?.[1];
const sections = block ? JSON.parse(block)?.[0]?.[1] : null;
const items = sections?.find((section) => section?.[22]?.[0])?.[22]?.[0];
return (items ?? []).map(([item]) => ({ id: item[0][0], title: item[3], rating: item[4]?.[1] }));
};
for (const country of countries) {
const found = results(await scrape(`https://play.google.com/store/search?q=${encodeURIComponent(keyword)}&c=apps&hl=en&gl=${country.toUpperCase()}`, country));
const place = found.findIndex((item) => item.id === app) + 1;
console.log(`${country.toUpperCase()}: ${app} is #${place || '-'} of ${found.length} for "${keyword}", top app: ${found[0]?.title} (${found[0]?.rating?.toFixed(1)})`);
}
console.log(`${countries.length} countries in ${countries.length} pages: $${(countries.length * 0.00098).toFixed(4)} on the Growth plan`);Bereit, es mit Ihren eigenen Apps 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 YouTube, Reddit und Instagram an oder alle Web-Scraping-Tools.
Ein Google Play Scraper, auch Play Store Scraper genannt, ist ein Tool, das öffentliche Google-Play-Seiten liest und in Daten verwandelt: Wertung, Downloads, Version, Preis und Rezensionen einer App oder die Apps, die eine Suche nach einem Suchbegriff zeigt. Die Google Play Scraper API von Gologin ist Web Unlocker: Senden Sie die Adresse einer App, und der Dienst gibt die Seite mit diesen Daten zurück, zu $0.98 pro 1.000 Seiten.
Um den Google Play Store zu scrapen, senden Sie die Adresse der App, play.google.com/store/apps/details?id= gefolgt vom Paketnamen, mit dem gewünschten Land an Web Unlocker. Der Dienst gibt die Seite so zurück, wie der Browser eines Besuchers sie lädt, mit dem eigenen JSON von Google Play darin: den Details der App und ihren 20 Top-Rezensionen. Der Code oben liest sie in ein paar Zeilen aus.
Jede App-Seite enthält 20 Rezensionen mit Sternen, Text, Datum, Hilfreich-Stimmen, der App-Version und der Antwort des Entwicklers, und Web Unlocker gibt sie mit der App zurück. Jedes Land und jede Sprache zeigt eigene 20. Für mehr als 20 ergänzen Sie Cloud Browser, ein eigenes Gologin-Produkt mit eigenen Tarifen: Von der App-Seite aus ruft es den Rezensions-Feed von Google mit 100 Rezensionen auf einmal auf, neueste zuerst, und lieferte in unserem Test 2.000 der neuesten Rezensionen von Duolingo in 4,5 Sekunden.
Nicht für die Apps anderer Entwickler: Für sie gibt es keine öffentliche Google Play Store API. Die Google Play Reviews API, Teil der Google Play Developer API, funktioniert nur für Ihre eigenen Apps und liefert Rezensionen der letzten Woche. Wertung, Downloads, Preis und Rezensionen jeder anderen App stehen auf ihrer öffentlichen Google-Play-Seite, und genau die liest ein Google Play Scraper.
Senden Sie die Adresse der App mit der Bibliothek requests an Web Unlocker und lesen Sie das JSON von Google Play aus der Seite. Der Python-Tab oben ist ein vollständiges Skript, getestet an der Live-API: Es gibt Wertung, Zahl der Bewertungen, exakte Downloads, Version, Preis und 20 Rezensionen der App aus.
Die google-play-scraper-Bibliotheken für Node.js und Python sind kostenlos und lesen dasselbe JSON von Ihrem eigenen Server aus. Der Autor der Node.js-Version pflegt sie nicht mehr und warnt, dass sie ausfällt, wenn Google Play seine Seiten ändert, und intensive Nutzung von einer IP bringt für etwa eine Stunde 503-Fehlerseiten. Web Unlocker lädt jede Seite von einer Residential-IP im gewählten Land, und eine fehlgeschlagene Seite kostet nichts.
Eine App-Seite liefert Titel, Entwickler, Genre, exakte Wertung, Zahl der Bewertungen, die Zahl für jeden Stern, Downloads, Preis und Währung, die Preisspanne der In-App-Käufe, Werbung, Version, Aktualisierungs- und Veröffentlichungsdatum, Altersfreigabe, Chartplatz, Screenshots und 20 Rezensionen. Eine Suchseite liefert die Apps in der Reihenfolge von Google Play, eine Datensicherheitsseite, was die App erfasst und teilt.
ASO-Teams (App-Store-Optimierung) verfolgen, auf welchem Platz Apps für einen Suchbegriff in jedem Land stehen. Publisher beobachten Tag für Tag Wertungen, Downloads, Versionen und Preise der Konkurrenz. Produkt- und Research-Teams lesen Rezensionen auf Beschwerden und Funktionswünsche, und Analysten schätzen Märkte anhand von Downloads und Charts ab. Der Code oben speichert alles als JSON oder CSV.
Ja. Google Play zeigt eine gerundete Zahl wie 500M+ und hält die exakte Zahl in den Daten der Seite: 995.744.335 für Duolingo am 11. November 2026. Web Unlocker gibt beide zurück.
Ja. Eine Suchseite zu einem Suchbegriff liefert die Apps in der Reihenfolge, in der Google Play sie zeigt, in unserem Test 21 bis 30 für „meditation“, jede mit ID, Titel, Wertung, Genre und Preis. Führen Sie dieselbe Suche in mehreren Ländern aus, um zu sehen, auf welchem Platz eine App jeweils steht: Im Tab „Platz nach Land“ oben ist Calm in den USA auf Platz 7, in Deutschland auf Platz 6 und in Australien auf Platz 4.
Ja. Die Demo bietet 10 Länder, und die API nimmt jedes von 195+. Jedes Land sieht seine eigene Wertung, Preise in der eigenen Währung und Rezensionen in der eigenen Sprache: Spotify hat in Deutschland 4,17 und in den USA 4,35.
$0.98 pro 1.000 Seiten, für jede Seite derselbe Preis: Eine App mit ihren 20 Rezensionen ist eine Seite, eine Suche ist eine Seite. Eine fehlgeschlagene Anfrage kostet nichts. Die Tarife beginnen bei $49 im Monat für 50.000 Anfragen.
Web Unlocker enthält 1.000 kostenlose Anfragen, genug für 1.000 Apps mit ihren Rezensionen. Die Open-Source-Bibliotheken google-play-scraper sind ebenfalls kostenlos: Sie laufen auf Ihren eigenen Servern und IPs, und sie am Laufen zu halten, wenn Google Play sich ändert, liegt bei Ihnen.
Nicht mit Web Unlocker: Der Dienst bringt Residential-IPs aus 195+ Ländern mit und wählt für jede Anfrage eine aus. Wenn Sie Ihren eigenen Scraper betreiben, sind Gologin Proxies dasselbe Netzwerk.
Ja. Claude und andere Agenten rufen Web Unlocker wie jede API auf, und MCP & AI Skills machen aus einer einfachen Bitte, etwa „Vergleiche die Wertungen dieser fünf Apps in Deutschland“, ein funktionierendes Tool.
App-Seiten, Rezensionen und Suchergebnisse auf Google Play laden ohne Google-Konto: Es sind öffentliche Seiten. 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, besonders bei den Namen der Rezensenten.
Erzählen Sie uns kurz von Ihrem Team und erhalten Sie: