Wie man Google Shopping Preise scrapt: Angebote, Verkäufer, Geo-Daten
Google Shopping aggregiert Preise von tausenden Händlern an einem Ort. So verwandeln Sie das Shopping-Vertikal in einen strukturierten, geo-bewussten Preis-Feed, dem Sie vertrauen können.
Google Shopping ist einer der größten Preisaggregatoren im Web: Für ein bestimmtes Produkt zieht es Live-Angebote, Preise und Verkäuferdetails von tausenden Händlern in eine einzige, rangierte Ansicht. Das macht es zu einer einzigartig effizienten Quelle für Preisintelligenz - eine Anfrage zeigt, was Dutzende von Einzelhändlern derzeit verlangen. Dieser Leitfaden erklärt, wie man Google Shopping Preise sauber scrapt, warum Geografie alles verändert und wann man aufhören sollte, einen Browser selbst zu entwickeln und stattdessen eine strukturierte API zu verwenden.
Was das Shopping-Vertikal Ihnen tatsächlich bietet
Der Shopping-Tab ist das tbm=shop Vertikal von Google Search. Jede Produktkarte enthält einen Titel, einen Preis, den Namen des Händlers/Verkäufers, eine Sternebewertung und die Anzahl der Bewertungen sowie eine Produktkennung, die mehrere Angebote desselben Artikels gruppiert. Für die Preisarbeit ist diese Verkäufer-und-Preis-Paarung das Gold: Sie können die Verteilung über Einzelhändler für eine SKU beobachten, sehen, wer wen unterbietet, und die Preisbewegung im Laufe der Zeit verfolgen - das Rohmaterial für einen Repricing- oder MAP-Monitoring-Workflow.
Die URL-Struktur ist einfach. Ergebnisse werden mit einem start Offset zehn pro Seite paginiert, und das Land des Exits wird mit gl festgelegt:
# Google Shopping search URL, page 1, US results
https://www.google.com/search?q=wireless+earbuds&tbm=shop&gl=us
# Page 2 (results 11-20): add a start offset
https://www.google.com/search?q=wireless+earbuds&tbm=shop&gl=us&start=10
Warum der Standort die Antwort bestimmt
Shopping-Ergebnisse sind lokalisiert. Preise werden in der lokalen Währung angezeigt, die Händlerzusammensetzung ändert sich je nach Markt, die Verfügbarkeit variiert, und der gl Parameter allein reicht nicht aus - Google berücksichtigt auch den Standort der anfragenden IP. Fordern Sie deutsche Ergebnisse von einer US-Datacenter-IP an, erhalten Sie eine inkonsistente, teilweise US-Antwort. Um den Katalog zu lesen, den ein Käufer in Berlin tatsächlich sieht, muss die Anfrage von einer deutschen Residential-IP ausgehen. Ein Residential-Proxy-Pool, der über 200+ Länder spannt, ermöglicht es Ihnen, den Exit auf jeden Markt festzulegen, den Sie preislich analysieren. Dies ist die gleiche Disziplin, die hinter Wettbewerber-Preismonitoring im großen Maßstab steht.

Der DIY-Weg (und seine Kosten)
Sie können die Seiten direkt mit einem Headless-Browser scrapen. Google Shopping wird dynamisch gerendert und ist gut geschützt, sodass einfache HTTP-Anfragen nicht ausreichen - Sie benötigen eine echte Browser-Engine, einen Proxy bei jeder Anfrage und Code, um die Cookie-Zustimmungswand zu umgehen (die berüchtigte button#L2AGLb "Alle akzeptieren"), bevor Produkte geladen werden. Dann kämpfen Sie mit dem CSS: Die Container-Klassennamen von Shopping sind verschleiert und rotieren, sodass Selektoren, die heute funktionieren, in zwei Wochen brechen. Fügen Sie Wiederholungslogik hinzu (drei Versuche mit zufälligem Backoff sind ein vernünftiges Minimum) und Sie haben einen funktionierenden Scraper - und einen dauerhaften Wartungsjob.
# Sketch of the DIY approach with Playwright + proxy
from playwright.sync_api import sync_playwright
PROXY = {"server": "http://gate.quantumproxies.io:8000",
"username": "USER", "password": "PASS"}
URL = "https://www.google.com/search?q=wireless+earbuds&tbm=shop&gl=us"
with sync_playwright() as pw:
browser = pw.chromium.launch(proxy=PROXY, headless=True)
page = browser.new_context(locale="en-US").new_page()
page.goto(URL, wait_until="networkidle", timeout=15000)
# dismiss the consent wall before products render
for sel in ("button#L2AGLb", "button:has-text('Accept all')"):
btn = page.locator(sel).first
if btn.is_visible():
btn.click(); break
# ...then wrestle the obfuscated product containers
browser.close()
Der API-Weg: ein Aufruf, strukturiertes JSON
Die Alternative besteht darin, eine SERP API den Browser, die Proxies und das Parsen übernehmen zu lassen und Ihnen das Shopping-Vertikal als JSON zu übergeben. Sie übergeben die Anfrage und ein Land; es liefert Angebote mit Titel, Preis, Verkäufer, Bewertung und Produkt-ID bereits extrahiert. Keine Cookie-Wände, keine Selektoren-Wartung, Geo als Parameter. Für einen Preis-Feed, der dauerhaft laufen muss, ist dieser Tausch in der Regel der richtige - unsere Aufschlüsselung von wie SERP-Scraping 2026 funktioniert erklärt, warum der rohe HTML-Pfad immer schwieriger wird.
# One request to the SERP API's Google Shopping vertical
curl -G "https://api.quantumproxies.io/v1/serp" \
-H "Authorization: Bearer YOUR_API_KEY" \
--data-urlencode "engine=google_shopping" \
--data-urlencode "q=wireless earbuds" \
--data-urlencode "gl=us"
import requests
def shopping_offers(query, country="us"):
r = requests.get(
"https://api.quantumproxies.io/v1/serp",
headers={"Authorization": "Bearer YOUR_API_KEY"},
params={"engine": "google_shopping", "q": query, "gl": country},
timeout=30,
)
r.raise_for_status()
rows = []
for p in r.json().get("shopping_results", []):
rows.append({
"title": p.get("title"),
"price": p.get("price"),
"seller": p.get("source"), # merchant name
"rating": p.get("rating"),
"pid": p.get("product_id"),
})
return rows
for country in ("us", "gb", "de"):
print(country, shopping_offers("wireless earbuds", country)[:3])

Was ein einzelnes Angebot tatsächlich enthält
Es lohnt sich, die Form einer Produktkarte zu verstehen, bevor Sie eine Pipeline darum herum skalieren. Über den Hauptpreis hinaus enthält jedes Angebot den Händlernamen, einen Artikelzustand (neu, gebraucht oder generalüberholt), Versand- und Steuerhinweise, eine Sternebewertung mit einer Anzahl von Bewertungen und eine Produkt-ID, die Google verwendet, um jeden Verkäufer desselben Artikels unter einem Eintrag zu gruppieren. Diese Produkt-ID ist der Verknüpfungsschlüssel für alles nachgelagerte: Gruppieren Sie Angebote danach und Sie können gleichwertige Vergleiche über Händler hinweg anstellen, den Preis einer SKU im Laufe der Zeit verfolgen und den Moment erkennen, in dem ein neuer Verkäufer in eine Liste eintritt oder ein bestehender verschwindet.
Zwei Felder verdienen besondere Aufmerksamkeit für die Preisarbeit. Der Verkäufername ermöglicht es Ihnen, eine Ansicht pro Händler zu erstellen - wer konsistent unterbietet, wer hoch ankert, wer nur bei Aktionen erscheint - was weitaus handlungsfähiger ist als eine anonyme Preiswolke. Die Bewertung gibt ein grobes Vertrauensgewicht, sodass Sie einen Wiederverkäufer mit einer Bewertung nicht mit einem etablierten Einzelhändler gleichsetzen. Erfassen Sie beide zusammen mit dem Preis und der Währung, und Ihr Datensatz beantwortet Fragen, die ein reiner Preis-Feed nie kann.
- product_id - der Clusterschlüssel; deduplizieren und jeden Verkäufer eines Artikels darauf verknüpfen.
- price + currency - die Metrik, immer gepaart mit dem Markt, aus dem Sie sie gezogen haben.
- seller / source - der Händler, für wettbewerbsfähige Ansichten pro Einzelhändler.
- rating + reviews - ein Vertrauensgewicht, damit Vergleiche fair sind.
- timestamp - stempeln Sie jede Erfassung, damit Geschichte und Deltas möglich sind.
Angebote in Intelligenz verwandeln
Rohangebote sind keine Intelligenz - die Schleife ist es. Führen Sie Ihren Abfragesatz nach einem Zeitplan aus, speichern Sie jede Erfassung mit einem Zeitstempel und vergleichen Sie sie mit der Geschichte, um das Wichtige hervorzuheben: ein Konkurrent, der unter Ihren Preis fällt, ein neuer Verkäufer, der in eine SKU eintritt, ein Lagerausfall, den Sie ausnutzen können. Gruppieren Sie Angebote nach Produkt-ID, damit die Verkäufer desselben Artikels gleichwertig verglichen werden, und führen Sie das gesamte Set pro Zielmarkt aus. Wenn Sie darauf aufbauende Tools erstellen, behandelt unsere Notiz zu der Wahl einer SERP API die Fragen zur JSON-Form und den Kosten pro Anfrage, die die Einheitseconomics bei Volumen entscheiden.
Google Shopping Daten mit der SERP API abrufen
Häufig gestellte Fragen
Wie scrape ich Google Shopping mit Python?
Zwei Wege. Steuern Sie einen Headless-Browser (Playwright) über einen Residential-Proxy, umgehen Sie die Cookie-Zustimmungswand und parsen Sie die Produktcontainer - flexibel, aber wartungsintensiv, da das Markup verschleiert ist und sich ändert. Oder rufen Sie die google_shopping Engine einer SERP API mit Ihrer Anfrage und einem Ländercode auf und erhalten Sie geparste Angebote als JSON in einer Anfrage. Der API-Weg erfordert weit weniger Code, um am Leben zu bleiben.
Ändern sich die Google Shopping Daten je nach Land?
Ja, erheblich. Währung, die Menge der Händler, Preise und Verfügbarkeit variieren alle je nach Markt. Der gl Parameter fordert ein Land an, aber Google berücksichtigt auch die anfragende IP, sodass genaue lokalisierte Ergebnisse eine Exit-IP im Zielland benötigen. Fixieren Sie die Anfrage auf eine Residential-IP pro Markt, den Sie preislich analysieren.
Ist das Scrapen von Google Shopping legal?
Das Sammeln öffentlich angezeigter Preise und Angebote ist gängige Praxis für Preisintelligenz, aber die Bedingungen der Quelle und alle Datenschutzbestimmungen gelten weiterhin, und dies ist keine Rechtsberatung. Halten Sie sich an öffentliche Produktdaten, respektieren Sie Ratenlimits, und wenn Sie sich über eine spezifische Nutzung unsicher sind, holen Sie rechtlichen Rat ein. Sammeln oder speichern Sie keine persönlichen Informationen, die Sie nicht benötigen.
Wie oft sollte ich Shopping-Preise scrapen?
Es hängt davon ab, wie schnell sich Ihre Kategorie bewegt. Schnelllebige Elektronik oder ticketierte Waren können stündliche Erfassungen rechtfertigen; stabile Kategorien sind täglich in Ordnung. Passen Sie den Rhythmus an die Preisvolatilität an, stempeln Sie jede Erfassung, um Geschichte aufzubauen, und verteilen Sie Anfragen über IPs und Zeit, um ein höflicher, risikoarmer Besucher zu bleiben.
Google Shopping kondensiert die Preisgestaltung eines ganzen Marktes in eine abfragbare Oberfläche. Ob Sie es selbst rendern oder eine API für strukturiertes JSON aufrufen, das gewinnende Muster ist dasselbe: Gezielte Ansprache jedes Marktes, Erfassung nach einem Zeitplan und Vergleich mit der Geschichte. Das ist eine Preisintelligenz-Engine, kein einmaliges Scrapen.