Idealo Price Scraper
Pricing
Pay per event
Idealo Price Scraper
Look up any product EAN on idealo and get every live merchant offer: shop, total price, delivery and payment methods, plus the full price range. Germany and Austria. Each match is verified against the product page's own GTIN.
Pricing
Pay per event
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
31
Total users
1
Monthly active users
64 days
Issues response
3 days ago
Last modified
Categories
Share
Idealo Price Scraper, Offers and Prices by EAN
Turn any product barcode into the full idealo price-comparison listing. This idealo scraper takes an EAN/GTIN and returns its live merchant offers from idealo, shop name, total price, delivery estimate and accepted payment methods, across the German (idealo.de) and Austrian (idealo.at) marketplaces. No login, no idealo API key, no HTML parsing on your side.
It is built for price monitoring, repricing, and competitive intelligence where you already know the products you care about and need their idealo offers as clean structured JSON. Submit up to 5 EANs per run; each comes back as one product row with every one of its offers nested and the cheapest and most expensive total price pre-computed. Larger catalogues are handled by scheduling runs, which is also how you keep a price history rather than a single snapshot.
What you get
- One dataset item per product EAN you submit, with the matching idealo product
title,brand, canonical producturl,thumbnail, andidealo_sku. - A nested
offersarray, one entry per merchant, withshop,total_price,positionin idealo's ranking,delivery,shipping_includedandpayment_methods, sorted cheapest first. - Every offer, not just the first page. idealo's product page shows 20 offers and hides the rest behind a "show more" button; this Actor follows that through to the end, so a product with 45 sellers returns 45.
offer_countis idealo's own total andoffers_returnedis what you received, so a short list is visible instead of silent. min_total_priceandmax_total_pricestraight from idealo's own totals, matching the range of the returned offers.- A verified EAN match. idealo's search redirects to its closest product even when it does not hold your exact barcode, which is how a price lookup quietly returns the wrong product. Every match is checked against the product page's own GTIN. A page that publishes a different GTIN is reported as a miss, naming the GTIN it landed on in
matched_gtin, rather than being passed off as your product. - Coverage of both live idealo marketplaces: Germany (
idealo.de) and Austria (idealo.at), selectable per run. - An explicit
foundflag so a product idealo does not list is returned as a clear empty record, never a silent gap in your data.ean_verifiedseparates a match idealo's own GTIN confirms from one it simply does not publish a code for. - EUR pricing with the currency stated on every item.
- Up to 5 EANs per run, looked up in parallel. The limit is deliberate: each product is fetched in full, and a small run finishes in seconds instead of degrading into a partial one.
Why scrape idealo price comparison data
idealo is the dominant price-comparison marketplace in the German-speaking market, aggregating offers from hundreds of merchants for the same product. For anyone selling, sourcing, or analysing consumer goods in Germany and Austria, the idealo product page is the single best snapshot of the live competitive price landscape for a given item.
The problem is access. idealo has no public offers API, the product pages are behind bot protection, and the listing for one product can carry dozens of merchant offers that change throughout the day. Scraping it reliably yourself means maintaining proxies, parsing a moving HTML target, and handling the German and Austrian sites separately. This actor does that work behind a stable API-backed pipeline so you receive normalized JSON keyed by the EAN you already have in your catalog.
Because the input is the EAN, the data joins directly back to your own product master, no fuzzy title matching, no manual mapping between your SKUs and idealo's.
Input
| Field | Type | Required | Description |
|---|---|---|---|
eans | array of strings | Yes | Product barcodes (EAN-8/EAN-13/GTIN, 8-14 digits), maximum 5 per run. Non-digit characters are stripped automatically. Duplicates are de-duplicated. |
country | string (de or at) | No | Which idealo marketplace to query. de = idealo.de (default), at = idealo.at. |
concurrency | integer (1-5) | No | How many of the run's EANs to look up in parallel. Default 5. |
Minimal input:
{"eans": ["5702017416663"],"country": "de"}
Output
Each product is one dataset item. Example (trimmed to three offers):
{"ean": "5702017416663","country": "de","site": "idealo.de","found": true,"idealo_sku": 202283713,"title": "LEGO Icons - Botanical Collection - Wildblumenstrauß (10313)","brand": null,"url": "https://www.idealo.de/preisvergleich/OffersOfProduct/202283713.html","thumbnail": null,"availability": "InStock","currency": "EUR","ean_verified": true,"matched_gtin": "4242005218875","offer_count": 20,"offers_returned": 20,"min_total_price": 90.9,"max_total_price": 150.12,"offers": [{"shop": "otto.de","shop_id": "3040","position": 1,"total_price": 90.9,"price_text": "90,90","shipping_included": true,"shipping_cost_text": null,"delivery": "lieferbar - am nachsten Werktag bei dir","payment_methods": ["Rechnung", "Lastschrift", "Vorkasse"],"offer_key": "195a631b5ed56680000e997125b2b868"},{"shop": "boomstore.de","shop_id": "1449","position": 2,"total_price": 97.46,"shipping_included": true,"delivery": "Lieferung: bis Mi. 09.09.","payment_methods": ["Rechnung", "Lastschrift", "Vorkasse"]}]}
Only products idealo actually lists reach the dataset, so every dataset item is a real result. EANs idealo has no listing for are reported separately in the run's OUTPUT record under notFound (a list of EANs), free of charge, so you can reconcile your input against what was found.
Use cases
Repricing and Buy-Box strategy for German marketplaces. If you sell on idealo, Amazon.de or your own shop, you need to know where your price sits against every other merchant on the same product. Pull your catalog's EANs through this idealo scraper on a schedule, read min_total_price and the per-seller offers, and feed your repricing engine the live competitive floor for Germany and Austria.
Brand and MAP monitoring. Brands enforcing minimum advertised pricing across the DACH region can watch every merchant offer for their products on idealo in one pass. The shop and total_price fields make it straightforward to flag any seller listing below an agreed threshold, with shipping already included in the comparison.
Market and assortment research. Analysts sizing a category can submit a basket of EANs and capture the spread between cheapest and most expensive offers (min_total_price to max_total_price), the depth of competition (offer_count), and availability across both the German and Austrian markets, useful inputs for launch pricing and channel decisions.
Product data enrichment. Marketplaces and aggregators that already hold EANs can enrich their records with idealo's canonical product title, image and live price range, keyed cleanly on the barcode with no title-matching guesswork.
How it compares
| Idealo Price Scraper (this actor) | Typical free idealo scrapers | |
|---|---|---|
| Pricing | Pay-per-event, pay only for products actually found | Free actor, but you pay unpredictable Apify compute |
| Input | EAN/GTIN, joins straight to your catalog | Often URL- or keyword-based |
| Markets | idealo.de and idealo.at | Usually idealo.de only |
| Match quality | Every EAN is checked against the product page's own GTIN, so a near-miss is reported as a miss | Trusts the search redirect, so a similar product can be returned as yours |
| Output | Offers nested per product, min/max total price computed | Raw rows, post-processing left to you |
Free idealo scrapers exist and work for one-off runs, but they bill Apify compute, so cost scales with run time rather than with results. This actor trades a small per-result fee for output you can bill and forecast, and for a match you can trust: you are charged for a resolved product, not for the attempt.
Pricing
This actor is pay-per-event with two events: a small per-run actor start fee, and a result charge of $0.004 per product idealo actually returns (one dataset item). EANs with no idealo listing are reported in OUTPUT.notFound and are not charged. Apify automatically applies subscription-plan discounts (for example, Business and higher plans receive a 75% discount on the result price). All pricing is pay-per-event, so you only pay for results you receive, no per-compute-unit charges.
Limits and gotchas
- Only Germany and Austria are supported. idealo discontinued its UK, France, Spain and Italy marketplaces in 2020. The actor exposes only
deandatbecause those are the only idealo sites that return live data. - Lookup is by EAN/GTIN, not by free-text search or product URL. If you do not have the barcode, resolve it first.
- A product not listed on idealo is not an error. Its EAN is returned in
OUTPUT.notFoundrather than the dataset, and is not charged. - Prices are a point-in-time snapshot. idealo offers change throughout the day; schedule repeat runs if you need a price history.
- Free Apify plans are capped at 10 results per run. Upgrade your Apify plan or split work across runs to go beyond that. Paying plans are uncapped.
- Currency is EUR for both markets.
- Brand is sometimes null, idealo does not expose a brand field on every product.
FAQ
Can I scrape idealo prices without an idealo API key? Yes. idealo has no public offers API; this actor handles access for you and returns structured JSON. You supply only EANs.
Why is ean_verified false on a product that clearly matched? Roughly half of idealo's products publish no GTIN on the page, so there is nothing to confirm the match against. That is missing confirmation, not a wrong match: the product was still resolved from your EAN by idealo's own index. Where a page does publish a GTIN and it differs from yours, the item comes back with found: false instead.
Does it cover idealo.at (Austria) as well as idealo.de? Yes, set country to at for the Austrian marketplace or de for Germany. Each market is priced independently by its merchants, so the same EAN can return different offers.
Why do idealo.fr, idealo.co.uk, idealo.es and idealo.it not work? idealo closed those international marketplaces in 2020 and operates only in Germany and Austria today, so there is no live data to return for them.
How do I get the cheapest idealo price for a product? Read min_total_price on each item. It is idealo's own lowest total for the product across every offer it lists, and it matches the cheapest entry in the offers array.
Can I look up many products in one run? Up to 5 EANs per run. The actor de-duplicates them and looks them up concurrently. Anything beyond the fifth is left unprocessed and listed by name in the run's errors record, so you know exactly what to send next. For a bigger catalogue, schedule repeated runs.
Related Actors
- Google Reviews Scraper, product reviews and ratings by SKU.
- Price Scraper, extract prices from arbitrary product pages.
- Shopify Products Scraper, full storefront catalogs from any Shopify shop.