idealo API: Produktsuche und alle Händlerpreise als JSON
idealo ist selbst ein Preisvergleich, und genau das macht diese Schnittstelle nützlich: Sie bekommen nicht einen Preis, sondern zu einem Produkt jedes Händlerangebot in einem einzigen Aufruf — mit Händlername, Preis und Versand. Kein Händlerkonto nötig, die Antwort kommt als JSON.
Endpunkte
| endpoint | Was zurückkommt | Pflicht |
|---|---|---|
| search | Suche auf idealo.de: id, Titel, Bild, günstigster Preis und wie viele Händler das Produkt führen. | query |
| product/detail | Der vollständige idealo-Datensatz zu einem Produkt: Titel, Marke, kompletter Kategoriepfad, alle Bilder und die Produktdaten. | product_id |
| product/offers | Der eigentliche Zweck dieser Schnittstelle: jeder Händler, der dieses Produkt verkauft, in einem Aufruf — mit Preis, Versand und Händlerangaben. | product_id |
| category/products | Eine ganze Kategorie über ihre id oder URL durchgehen, mit denselben Feldern wie in der Suche. | category |
Jeder Aufruf wird in Credits abgerechnet. Fehlgeschlagene und blockierte Aufrufe sind kostenlos.
Funktionierendes Beispiel
Erst über die Suche die product_id holen, dann die Angebote abfragen. Der in der Suche gezeigte Preis ist die Untergrenze — wer gegen wen antritt, steht erst in product/offers.
curl -X POST https://api.reefapi.com/idealo/v1/product/offers \
-H "x-api-key: IHR_SCHLUESSEL" \
-H "content-type: application/json" \
-d '{"product_id": "200123456"}'{
"ok": true,
"data": {
"offers": [
{
"merchant": "...",
"price": 899.0,
"currency": "EUR",
"shipping": 0
}
]
},
"meta": { "record_count": 31, "cache_hit": false, "mode": "live" }
}Statt eines eigenen idealo-Scrapers
Einen idealo-Scraper zu schreiben ist der naheliegende erste Schritt, und am ersten Tag funktioniert er meistens. Teuer wird es später: ändert sich der Aufbau der Angebotsliste, liefert der Parser stillschweigend eine leere Liste statt eines Fehlers, und greift der Bot-Schutz, bricht der Lauf mittendrin ab.
Hier liegt die Pflege bei uns: ändert sich das Schema, reparieren wir die Engine; wird blockiert, kommt ein klarer Fehlercode zurück und dieser Aufruf kostet nichts.
Für eine einmalige Auswertung ist das eigene Skript weiterhin günstiger — das sagen wir offen. Für eine Preisüberwachung, die täglich laufen soll, zahlt man nicht für den Code, sondern für die unbemerkten Ausfälle.
Grenzen und ehrliche Hinweise
- Das ist nicht die offizielle idealo-Schnittstelle, und wir haben keine Partnerschaft mit idealo.
- Veröffentlicht ein Händler keinen Versandpreis, kommt das Feld als null zurück; wir rechnen nichts hinzu.
- Die Engine arbeitet auf idealo.de. Andere Länderausgaben sind nicht abgedeckt.
- Kein Cache: jeder Aufruf zeigt den Stand zum Zeitpunkt der Anfrage.