Amazon-Produktdaten scrapen, ohne blockiert zu werden
Suchergebnisse, Preise, Bewertungen und ASINs von Amazon als JSON: warum DIY schnell scheitert, was die Daten kosten. Mit Python-Beispiel, August 2026.

Preisverfolgung, Konkurrenzbeobachtung, Kataloganreicherung: Sie starten alle mit demselben Bedürfnis, Amazon-Produktdaten als strukturierte Felder statt als HTML. So bekommst du sie zuverlässig, mit einem getesteten Beispiel und den echten Kosten pro Anfrage.
Warum scheitert direktes Scraping von Amazon?
Amazon betreibt eine der aggressivsten Anti-Bot-Infrastrukturen im öffentlichen Web, und sie lässt dich stufenweise scheitern statt auf einen Schlag:
- Blocks kommen schnell. Datacenter-IPs bekommen die Roboterprüfung schon nach ein paar Anfragen. Residentielle Proxys halten länger durch, kosten aber echtes Geld pro Gigabyte, und Amazon profiliert aktiv das Sitzungsverhalten, nicht nur IPs.
- Das Markup ändert sich ständig. Amazon testet Layouts per A/B-Test nach Marktplatz, Kategorie und Sitzung. Ein Parser, der heute bei Elektronik auf
amazon.comfunktioniert, bricht morgen bei Haushaltswaren aufamazon.de. - Der stille Fehlerfall ist schlimmer als der laute. Statt einer Fehlerseite bekommst du oft eine degradierte Seite: kein Preis, keine Bewertung, nur gesponserte Ergebnisse. Deine Pipeline läuft weiter und füllt deine Datenbank still mit Löchern.
Das Ergebnis: Der DIY-Weg ist nicht ein Skript, sondern ein Proxy-Budget plus ein Parser-Team. Wenn Produktdaten nicht dein Produkt sind, ist das der falsche Ort, um Engineering-Zeit zu investieren.
Die Version, die funktioniert
import requests
API_KEY = "faf_live_..." # dein FastAF-Key
resp = requests.get(
"https://api.fastaf.co/v1/amazon",
params={
"query": "mechanical keyboard",
"domain": "com",
},
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=60,
)
resp.raise_for_status()
for item in resp.json()["results"]:
if item["type"] == "search_product":
print(f'{item["price"]:>8} {item["stars"]}★ ({item["total_reviews"]}) {item["asin"]} {item["title"][:60]}')
Wir haben genau diese Anfrage beim Schreiben dieses Posts ausgeführt (August 2026). Eine Suche lieferte 16 organische Produkte plus die gesponserten Marken-Blöcke, für 1 Credit, wobei jedes Produkt Folgendes mitbringt: asin, price und extracted_price (numerisch), old_price für durchgestrichene Rabatte, stars, total_reviews, number_of_people_bought (“3K+ bought in past month”), is_best_seller, is_amazon_choice, has_prime, limited_time_deal, Lieferschätzungen und die Produkt-URL. Der Parameter domain wechselt den Marktplatz (com, co.uk, de, it, …), page paginiert, postal_code lokalisiert Verfügbarkeit und Lieferung.
Such- oder Produkt-Endpoint?
Der Such-Endpoint oben beantwortet “was rankt für diese Query und zu welchem Preis”. Für tiefe Daten zu einem einzelnen Listing übergibst du stattdessen eine ASIN:
resp = requests.get(
"https://api.fastaf.co/v1/amazon",
params={"resource": "product", "asin": "B0CF3VGQFL", "domain": "com"},
headers={"Authorization": f"Bearer {API_KEY}"},
timeout=60,
)
Das liefert die komplette Produktseite als Felder: Bullet Points, Beschreibung, Bilder, Varianten, Verkäufer- und Buybox-Informationen, Kategorie-Ranks. Das praktische Muster für Preisverfolgung: einmal suchen, um ASINs und Positionen zu entdecken, dann den Produkt-Endpoint nur für die Listings treffen, die du tatsächlich trackst.
Was kosten Amazon-Daten?
Eine Amazon-Anfrage kostet bei FastAF 1 Credit, der günstigste Endpoint, den wir betreiben, weil kein JavaScript-Rendering nötig ist. Konkret, zu den Preisen von August 2026:
| Volumen | Credits | Paket, das es abdeckt | Kosten |
|---|---|---|---|
| 1.000 Produkte, tägliches Update | 30.000 (30 Tage) | Growth, $29 | ~$11,60 des Pakets |
| 10.000 Produkte, tägliches Update | 300.000 (30 Tage) | Scale, $99 | das ganze Paket |
| Einmaliger Katalog-Sweep, 50.000 Artikel | 50.000 | Growth, $29 | ~$19,30 des Pakets |
Eine fehlgeschlagene oder blockierte Anfrage wird nie berechnet: Credits werden beim Start der Anfrage reserviert und zurückgegeben, wenn kein Ergebnis kommt. Der Free Tier sind 500 Credits ohne Karte, also 500 Amazon-Anfragen, genug, um die Feldabdeckung für deine eigene Kategorie zu validieren, bevor du etwas bezahlst.
Die Fehler, die wirklich Geld kosten
Mit der Suche statt mit dem Produkt-Endpoint tracken. Suchergebnisse lassen Verkäuferdaten aus und können sich neu sortieren; ASINs sind stabil. Entdecke mit der Suche, tracke mit resource=product.
extracted_price ignorieren. Das Feld price ist ein Anzeige-String (“$69.99”); extracted_price ist die Zahl. Regex-Parsing auf Anzeige-Strings ist, wie Währungsbugs entstehen.
Alles mit derselben Rate aktualisieren. Preise bei volatilen Listings (Deals, Buybox-Kämpfe) bewegen sich stündlich; Long-Tail-Katalogartikel bewegen sich wöchentlich. Teile deine Update-Stufen auf, und der Großteil deines Credit-Budgets verschwindet.
Nur einen Marktplatz annehmen. Dieselbe ASIN kann in Preis, Verfügbarkeit und sogar Titel zwischen com, de und co.jp abweichen. Wenn du in drei Märkten verkaufst, tracke drei domain-Werte; das sind drei Credits, nicht einer.