Scrape idealo offer tables across five countries

The full offer list for a product on idealo.de, .es, .it, .fr and .co.uk: shop, price, shipping, delivery time, availability. The heaviest recipe in the Cookbook by volume.

97.0% success · Aug 2026Browser on 21% of callsComplex price · 2 credits

Measured on Crawlbase

97.0% success in August 2026 on the largest long-tail site we serve. Most of that volume runs through the Smart AI Proxy; the call below is the Crawling API form of the same request. 20.5% of successful calls used the JavaScript token; the offer table is in the HTML, so the rest got the same data at half the cost.

The call

Run in Playground
# 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"

Parameters that matter

ParameterSet it toWhy
countrymatch the domain: DE, ES, IT, FR, GBidealo redirects a foreign exit to its own country site and you end up with the wrong offer table under the right URL.
javascriptleave unsetOffer rows are server-rendered. The calls that used a browser paid twice for the same table.
formathtmlNo dedicated scraper yet. The selectors below are the ones the accounts on this recipe read.

Fields you get, per offer row

shop_name.productOffers-listItemTitle
price.productOffers-listItemOfferPrice
shipping.productOffers-listItemOfferShippingDetails
delivery_time.productOffers-listItemOfferDeliveryTime
availabilitydata-availability
offer_urla[href] (redirect)

What breaks, and the fix

Offer URLs are redirects, not shop URLs. The link on each row goes through idealo's tracking redirect. Follow it with a second call only if you need the shop page; the shop name and price are already in the row.
The table is capped at 50 offers per page. Products with more use ?page=. The first page is sorted by price including shipping; later pages keep that order.
Product ids differ between countries. The German and Spanish ids for one product usually match; the UK id often does not. Resolve by EAN with the search page when in doubt.

Run it on a schedule

Price monitoring at this scale belongs in the Crawler: push product URLs with a callback, and let the queue pace requests.

Questions

Does idealo need JavaScript?

No. Offer tables are in the HTML. Set country to the site's country and skip the browser.

Which idealo countries work?

Germany, Spain, Italy, France and the UK are measured. Austria works with country=AT but has too little traffic to report a rate.

Site names identify the pages a recipe fetches. Crawlbase is not affiliated with any site listed. Use recipes within the acceptable use policy.Measured numbers from August 2026, refreshed monthly