Scraper les tableaux d’offres idealo dans cinq pays
La liste complète des offres d’un produit sur idealo.de, .es, .it, .fr et .co.uk : boutique, prix, livraison, délai, disponibilité. La recette la plus lourde du Cookbook en volume. Dernier test le 6 sept. 2026.
À propos de idealo.de
idealo.de se décrit ainsi : « ✓ Plus de 50 000 boutiques ✓ Plus de 350 millions d’offres ✓ Conseils d’achat et avis d’experts ✓ Comparez maintenant les prix et les produits sur idealo.de et économisez ! ».
Sa page d’accueil déclare 6 langues : it-it, de-at, en-gb, es-es, fr-fr, de-de.
Son robots.txt interdit 12 chemins.
Mesuré sur Crawlbase
97.0% de réussite en août 2026 sur le plus gros site de longue traîne que nous servons. L’essentiel de ce volume passe par le Smart AI Proxy ; l’appel ci-dessous est la forme Crawling API du même request. 20.5% des appels réussis ont utilisé le token JavaScript ; le tableau d’offres est dans le HTML, donc les autres ont obtenu les mêmes données à moitié prix.
L’appel
# Offer table for one product on idealo.de curl "https://api.crawlbase.com/?token=YOUR_TOKEN&country=DE&url=https%3A%2F%2Fwww.idealo.de%2Fpreisvergleich%2FOffersOfProduct%2F203251234.html" # Same product on idealo.es: switch the domain and the exit country together curl "https://api.crawlbase.com/?token=YOUR_TOKEN&country=ES&url=https%3A%2F%2Fwww.idealo.es%2Fprecios%2F203251234.html"
from crawlbase import CrawlingAPI api = CrawlingAPI({'token': 'YOUR_TOKEN'}) r = api.get('https://www.idealo.de/preisvergleich/OffersOfProduct/203251234.html', {'country': 'DE'}) # offers are rows under .productOffers-listItem; shop, price, shipping, delivery per row
const { CrawlingAPI } = require('crawlbase'); const api = new CrawlingAPI({ token: 'YOUR_TOKEN' }); const r = await api.get('https://www.idealo.de/preisvergleich/OffersOfProduct/203251234.html', { country: 'DE' });
Les paramètres qui comptent
| Paramètre | Valeur | Pourquoi |
|---|---|---|
country | faire correspondre au domaine : DE, ES, IT, FR, GB | idealo redirige une sortie étrangère vers son site du pays correspondant et vous vous retrouvez avec le mauvais tableau d’offres sous la bonne URL. |
javascript | laisser vide | Les lignes d’offres sont rendues côté serveur. Les appels qui ont utilisé un browser ont payé deux fois pour le même tableau. |
format | html | Pas encore de scraper dédié. Les sélecteurs ci-dessous sont ceux que lisent les comptes sur cette recette. |
Les champs que vous obtenez, par ligne d’offre
.productOffers-listItemTitle.productOffers-listItemOfferPrice.productOffers-listItemOfferShippingDetails.productOffers-listItemOfferDeliveryTimedata-availabilitya[href] (redirect)Ce qui casse, et la solution
?page=. La première page est triée par prix livraison comprise ; les pages suivantes gardent cet ordre.Lancez-la de façon planifiée
Le suivi des prix à cette échelle a sa place dans le Crawler : envoyez les URL produit avec un callback, et laissez la file réguler les requests.
Questions
idealo a-t-il besoin de JavaScript ?
Non. Les tableaux d’offres sont dans le HTML. Réglez country sur le pays du site et passez-vous du browser.
Quels pays idealo fonctionnent ?
L’Allemagne, l’Espagne, l’Italie, la France et le Royaume-Uni sont mesurés. L’Autriche fonctionne avec country=AT mais a trop peu de trafic pour afficher un taux.
Autres pages sur idealo.de
Pages que idealo.de liste dans ses propres sitemaps, récupérées par Crawlbase le 6 sept. 2026 et vérifiées sur 2 passages consécutifs. Chaque ligne est l’appel le moins cher qui a renvoyé la page avec son contenu.
| Page | Exemple | Token | Pays | Médiane |
|---|---|---|---|---|
Accueil/Données structurées : Organization, WebSite, WebPage | idealo.de/ | Simple | aucun | 14.0s |
Liste/{slug}/deals | aucun | JavaScript | aucun | 6.4s |
Autre/{slug}/{slug}/{slug} | aucun | Simple | aucun | 13.7s |