# idealo Scraper - Every Offer, Price History, 6 Countries (`clearpath/idealo-scraper`) Actor

Scrape idealo prices with every shop offer, a year of price history, specs, test grades and variant barcodes. Search terms, category links, product IDs, barcodes or shop IDs on idealo.de, .at, .fr, .es, .it and .co.uk. 3,900+ search results in under 30 seconds.

- **URL**: https://apify.com/clearpath/idealo-scraper.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.09 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![3,900+ idealo products. Under 30 seconds. Listing prices, shops and offer counts.](https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/idealo-speed-ee8d34b15cba.png)](https://console.apify.com/actors/McKKbD3dnz0dT1zQx/input)

From **Clearpath**, creators of [Coles Scraper](https://apify.com/clearpath/coles-scraper) and [Amazon Buy Box & Seller Offers Tracker](https://apify.com/clearpath/amazon-buybox-api), with **22,000+ combined lifetime runs** across those two retail price trackers.

### Fast prices, with deeper data when you need it

- **Fast price checks.** Get product prices, offer counts and the cheapest shop in listing mode. An iPhone 16 search returned **3,904 products in 27.9 seconds** with details off. Results and run time vary by search.
- **Go deeper when needed.** Enable product details for new and used shop offers, shipping and total prices, specifications, variant barcodes and up to a year of price history, where available.
- **Search across six countries.** Use search terms, idealo links, product IDs, barcodes or shop IDs on idealo.de, .at, .fr, .es, .it and .co.uk.

<a href="https://console.apify.com/actors/McKKbD3dnz0dT1zQx/input" data-demo-cta="true"><img src="https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/idealo-speed-b3ccbc89d2e3.svg" width="290" height="48" alt="Get idealo prices"></a>

#### Try 10 product prices

Open the [actor input](https://console.apify.com/actors/McKKbD3dnz0dT1zQx/input), switch to JSON and paste:

```json
{
  "searchQueries": [
    "iphone 16"
  ],
  "country": "DE",
  "maxResults": 10,
  "includeDetails": false
}
```

This sample uses the fast listing mode. Each product includes its price, offer count and cheapest shop, where available. Listing-result charges apply. Set `includeDetails` to `true` for full product data, billed at the full result rate. See [current pricing](https://apify.com/clearpath/idealo-scraper/pricing).

Export as JSON, CSV or Excel. Full product exports keep offers, variants, specifications and price history nested in JSON.

<table>
<tr>
<td style="padding:10px 14px;background:#0A3054;border:none;border-radius:4px 4px 0 0"><span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">Clearpath Retail</span>
<span style="color:#DCE6F2;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Prices, offers and stock from the places shoppers compare first</span></td>
</tr>
<tr>
<td style="padding:6px;border:1px solid #D5DEE8;border-top:none;border-radius:0 0 4px 4px;background:#EAF1F8">
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #D5DEE8;border-radius:4px;background:#FFE9D9"><span style="white-space:nowrap"><img src="https://api.apify.com/v2/key-value-stores/rfpznBPgVbyLYqNaQ/records/idealo-scraper-icon-512-c91565a1bf96.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://console.apify.com/actors/McKKbD3dnz0dT1zQx/input" style="color:#B44700;text-decoration:none;font-weight:700;font-size:13px">idealo</a></span><br>
<span style="color:#B44700;font-size:12px;font-weight:600">&#10148; You are here</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #D5DEE8;border-radius:4px;background:#EAF1F8"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-tzz929FHne71wIJr2-GmGLY8fUrj-amazon-buybox-api-logo.jpg" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/amazon-buybox-api" style="color:#0A3054;text-decoration:none;font-weight:700;font-size:13px">Amazon Buy Box</a></span><br>
<span style="color:#4A5D70;font-size:12px">Sellers and offers</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #D5DEE8;border-radius:4px;background:#EAF1F8"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-MPAoaB7AdJhxbD9ar-G1weGQ6sbE-home-depot-scraper-logo.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/homedepot-scraper" style="color:#0A3054;text-decoration:none;font-weight:700;font-size:13px">Home Depot</a></span><br>
<span style="color:#4A5D70;font-size:12px">Store stock, aisle and bay</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #D5DEE8;border-radius:4px;background:#EAF1F8"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-FzxNShGGntfilAEDe-9OiAyL7bAA-coles-scraper-icon-v1.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/coles-scraper" style="color:#0A3054;text-decoration:none;font-weight:700;font-size:13px">Coles</a></span><br>
<span style="color:#4A5D70;font-size:12px">Prices and stock by store</span></span>
<span style="display:inline-block;vertical-align:top;margin:4px;padding:8px 12px;border:1px solid #D5DEE8;border-radius:4px;background:#EAF1F8"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-cfmAVd7XDm7dWNSPg-RS0c2sB7Ol-woolworths-scraper-icon-v3.png" width="20" height="20" alt="" style="vertical-align:middle">&nbsp;&nbsp;<a href="https://apify.com/clearpath/woolworths-scraper" style="color:#0A3054;text-decoration:none;font-weight:700;font-size:13px">Woolworths AU</a></span><br>
<span style="color:#4A5D70;font-size:12px">Prices, specials, stock</span></span>
</td>
</tr>
</table>

#### Copy to your AI assistant

```text
Help me use clearpath/idealo-scraper on Apify. Read https://apify.com/clearpath/idealo-scraper.md for documentation, input schema, pricing and limits. maxResults applies per search or listing link; lookups return a row for each ID. Choose settings for my requested outcome. If you cannot retrieve the page, ask me to paste the relevant sections. To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### How to scrape idealo prices and offers

1. Open the [actor input](https://console.apify.com/actors/McKKbD3dnz0dT1zQx/input).
2. Add what you want: search terms, idealo links, product IDs, barcodes or shop IDs. Mix them freely in one run.
3. Pick the country for search terms, IDs and barcodes. Links are read on their own site.
4. Set **Maximum results per search**, or leave it empty for every result idealo lists.
5. Run, then export the dataset as JSON, CSV or Excel, or connect it to Google Sheets, Make, Zapier or a webhook.

| Input | What you get | Example |
|---|---|---|
| `searchQueries` | Every product idealo lists for the term, each opened for its offers and details | `iphone 16`, `kaffeemaschine` |
| `startUrls` | Category, search and brand links (filters in the link are kept), product links, shop links | `https://www.idealo.de/preisvergleich/ProductCategory/19116.html` |
| `productIds` | One row per product ID | `204736899` |
| `eans` | One row per barcode (EAN, GTIN, UPC): the product, or a row saying idealo does not list it | `4009803341163` |
| `shopIds` | One shop profile per ID | `9701` |

Options: `country` (DE, AT, FR, ES, IT, UK; default DE), `sort` (relevance, price_asc, price_desc, newest, discount), `maxResults` (per search or listing link), `includeDetails` (open every product; on by default), `includeOffers` (on), `offerCondition` (all, new, used; default all), `maxOffersPerProduct` (empty for all), `includePriceHistory` (on) and `priceHistoryPeriod` (1M, 3M, 6M, 1Y; default 1Y). Every option is explained on the [Input tab](https://console.apify.com/actors/McKKbD3dnz0dT1zQx/input).

#### Look up products by barcode

```json
{
  "eans": [
    "4009803341163",
    "0195949821837"
  ],
  "country": "DE"
}
```

Each barcode returns one row. When idealo opens the product for the barcode, `matchType` is `barcode_redirect`; when the barcode is confirmed on a product page from the search results, it is `barcode_verified`. Barcodes idealo does not list come back as `not_found` rows, which are not charged.

#### A whole category, cheapest first

```json
{
  "startUrls": [
    "https://www.idealo.de/preisvergleich/ProductCategory/19116F1827447.html"
  ],
  "sort": "price_asc",
  "includeDetails": false
}
```

With `includeDetails` off, each row is what the category list shows (lowest price, offer count, cheapest shop, key specs, test grade, energy label, bestseller rank), which is much faster and charged as a listing result. Turn it on to open every product.

#### Shop profiles

```json
{
  "shopIds": [
    "9701",
    "338630"
  ]
}
```

### What data can you extract from idealo?

- **Product:** ID, title, brand, barcode and every variant barcode, category path, key specs, all images, rating and rating distribution, test grade, test score and every test report, pros and cons, editorial questions and answers, energy label, availability.
- **Prices:** lowest, highest and average offer price, lowest new and used price, offer counts by condition, the cheapest new and used offer, bargain badges.
- **Every offer:** shop, shop rating and rating count, marketplace and merchant, condition (with the used grade), item price, shipping, total, delivery date, delivery speed and carriers, free returns, vouchers, payment methods, the variant offered and idealo's link to it.
- **Price history:** idealo's daily lowest price over 1, 3, 6 or 12 months with the lowest, average and highest price.
- **Shops:** address, ratings for delivery, ordering and service, payment and shipping methods, free-shipping threshold, legal links, top categories and top products.

#### Full product row

A real row from one run (product ID 202091404 on idealo.de). To keep it readable, arrays are shortened: `offers` to 2 of 23, `specifications` to 3 of 32, `images` to 2 of 8, `priceHistory.points` to 3 of 366, `testReports` to 1 of 1, `reviewSamples` to 1 of 10, `questionsAndAnswers` to 1 of 4, `tags` to 3 of 6; `editorialText` is cut after 300 characters. Every key is shown.

```json
{
  "type": "product",
  "status": "found",
  "inputType": "productId",
  "query": "202091404",
  "country": "DE",
  "site": "idealo.de",
  "scrapedAt": "2026-10-27T12:14:59Z",
  "productId": "202091404",
  "title": "Bosch WUU28T70",
  "url": "https://www.idealo.de/preisvergleich/OffersOfProduct/202091404_-wuu28t70-bosch.html",
  "position": null,
  "matchType": "product_page",
  "detailLevel": "full",
  "brand": "Bosch",
  "gtin": "4242005348961",
  "gtins": [
    "4242005348961"
  ],
  "categoryId": "1941",
  "categoryName": "Waschmaschinen",
  "categoryPath": [
    {
      "id": "30311",
      "name": "Elektroartikel",
      "url": "https://www.idealo.de/preisvergleich/SubProductCategory/30311.html"
    },
    {
      "id": "30344",
      "name": "Haushaltselektronik",
      "url": "https://www.idealo.de/preisvergleich/SubProductCategory/30344.html"
    },
    {
      "id": "30337",
      "name": "Elektro-Großgeräte",
      "url": "https://www.idealo.de/preisvergleich/SubProductCategory/30337.html"
    },
    {
      "id": "1941",
      "name": "Waschmaschinen",
      "url": "https://www.idealo.de/preisvergleich/ProductCategory/1941.html"
    }
  ],
  "subheading": null,
  "characteristics": [
    "69 dB(A)",
    "Einknopf-Programmwahl",
    "LED Display",
    "Endzeitvorwahl",
    "Mengenautomatik",
    "Nachlegefunktion",
    "8 kg",
    "1.400 U/Min",
    "215 min Waschdauer",
    "Breite 59,8 cm",
    "Tiefe 59,9 cm"
  ],
  "description": "69 dB(A), Einknopf-Programmwahl, LED Display, Endzeitvorwahl, Mengenautomatik, Nachlegefunktion, 8 kg, 1.400 U/Min, 215 min Waschdauer, Breite 59,8 cm, Tiefe 59,9 cm",
  "imageUrl": "https://cdn.idealo.com/folder/Product/202091/4/202091404/s1_produktbild_gross/bosch-wuu28t70.jpg",
  "images": [
    "https://cdn.idealo.com/folder/Product/202091/4/202091404/s1_produktbild_gross/bosch-wuu28t70.jpg",
    "https://cdn.idealo.com/folder/Product/202091/4/202091404/s1_produktbild_gross_1/bosch-wuu28t70.jpg"
  ],
  "rating": 4.61,
  "reviewCount": 18,
  "ratingDistribution": {
    "5": 13,
    "4": 4,
    "3": 0,
    "2": 1,
    "1": 0
  },
  "testGrade": "1,7",
  "testGradeLabel": null,
  "testScore": 86.0,
  "testCount": 1,
  "lowestPrice": 559.0,
  "highestPrice": 1403.6,
  "averageOfferPrice": 723.3,
  "formattedPrice": "559,00 €",
  "basePrice": null,
  "currency": "EUR",
  "lowestNewPrice": 559.0,
  "lowestUsedPrice": 498.0,
  "offerCount": 23,
  "newOfferCount": 22,
  "usedOfferCount": 1,
  "usedOnly": false,
  "availability": "InStock",
  "isBestseller": null,
  "bestsellerRank": null,
  "energyEfficiencyClass": "B",
  "energyLabelUrl": "https://energylabels.idealo.com/energy-labels/arrows-with-scale/B-Right-WithAGScale.svg",
  "bargain": null,
  "voucherCode": null,
  "voucherText": null,
  "cheapestOffer": {
    "shopId": "326670",
    "shopName": "technik-brandenburg.de",
    "shopLogoUrl": "https://cdn.idealo.com/folder/Shop/326/6/326670/s1_shop_160x60.png",
    "price": 573.0,
    "shippingCost": 0.0,
    "totalPrice": 573.0,
    "condition": "new",
    "deliveryText": "Lieferung: bis Di. 03.11.",
    "freeReturnDays": null,
    "offerKey": "952ec45e6cb4a3a6b4201e5943554319",
    "url": "https://www.idealo.de/relocator/relocate?categoryId=1941&offerKey=952ec45e6cb4a3a6b4201e5943554319&pos=2&price=573.00&productid=202091404&sid=326670&type=offer"
  },
  "cheapestOfferUrl": "https://www.idealo.de/relocator/relocate?categoryId=1941&offerKey=952ec45e6cb4a3a6b4201e5943554319&pos=2&price=573.00&productid=202091404&sid=326670&type=offer",
  "cheapestUsedOffer": {
    "shopId": "322253",
    "shopName": "coolblue.de",
    "shopLogoUrl": "https://cdn.idealo.com/folder/Shop/322/2/322253/s1_shop_160x60.png",
    "price": 498.0,
    "shippingCost": 35.0,
    "totalPrice": 533.0,
    "condition": "used",
    "deliveryText": "Lieferung: bis Mi. 28.10.",
    "freeReturnDays": 30,
    "offerKey": "4fe8aa6432565c770ee65bd4d4a6ceff",
    "url": "https://www.idealo.de/relocator/relocate?categoryId=1941&offerKey=4fe8aa6432565c770ee65bd4d4a6ceff&pos=1&price=498.00&productid=202091404&sid=322253&type=offer"
  },
  "variants": [],
  "offersUpdatedAt": "2026-10-27T12:14",
  "offersIncluded": 23,
  "offers": [
    {
      "position": 0,
      "offerKey": "6287196f59ad7ddd9b6fe1234daee21f",
      "offerTitle": "Bosch WUU28T70, Serie 6, Wasch­ma­schi­ne 8 kg, 1400 UpM, Un­ter­b­au­fä­hig, schneller waschen mit Speed­Per­fect, Nach­le­ge­funk­ti­on, Hygiene Plus, Va­rio­Trom­mel, Leise dank EcoSilence Drive, LED-Dis­play, Weiß",
      "condition": "new",
      "conditionDetail": null,
      "price": 559.0,
      "shippingCost": 14.9,
      "totalPrice": 573.9,
      "formattedPrice": "559,00 €",
      "formattedTotalPrice": "573,90 € inkl. Versand",
      "shippingText": null,
      "currency": "EUR",
      "isCheapestTotal": false,
      "shopId": "4640",
      "shopName": "Amazon",
      "shopLocation": "München",
      "shopType": "shop",
      "marketplaceName": null,
      "merchantName": null,
      "shopRating": 2.3,
      "shopRatingCount": 1804,
      "shopPageUrl": "https://www.idealo.de/preisvergleich/Shop/4640.html",
      "shopLogoUrl": "https://cdn.idealo.com/folder/Shop/4/6/4640/s1_shop_160x60.png",
      "deliveryStatus": "short",
      "deliveryStatusLabel": "Fast delivery",
      "deliveryText": "Auf Lager",
      "deliveryLatestDate": null,
      "deliveryProviders": [
        "DHL",
        "Hermes"
      ],
      "freeReturnDays": 14,
      "freeReturnText": "Rücksendung 14 Tage kostenfrei",
      "voucher": null,
      "paymentMethods": [
        "Rechnung",
        "Visa",
        "Mastercard",
        "American Express",
        "Lastschrift"
      ],
      "variantProductId": "202091404",
      "variantTitle": "Bosch WUU28T70",
      "leadoutType": "offer",
      "url": "https://www.idealo.de/relocator/relocate?categoryId=1941&offerKey=6287196f59ad7ddd9b6fe1234daee21f&pos=1&price=559.00&productid=202091404&sid=4640&type=offer"
    },
    {
      "position": 1,
      "offerKey": "952ec45e6cb4a3a6b4201e5943554319",
      "offerTitle": "BOSCH WUU28T70 Serie 6 Wasch­ma­schi­ne (Front­la­der, frei­ste­hend, 8 kg, B, 1400 U/Min)",
      "condition": "new",
      "conditionDetail": null,
      "price": 573.0,
      "shippingCost": 0.0,
      "totalPrice": 573.0,
      "formattedPrice": "573,00 €",
      "formattedTotalPrice": "573,00 € inkl. Versand",
      "shippingText": null,
      "currency": "EUR",
      "isCheapestTotal": true,
      "shopId": "326670",
      "shopName": "technik-brandenburg.de",
      "shopLocation": "Königs Wusterhausen",
      "shopType": "shop",
      "marketplaceName": null,
      "merchantName": null,
      "shopRating": 5.0,
      "shopRatingCount": 36,
      "shopPageUrl": "https://www.idealo.de/preisvergleich/Shop/326670.html",
      "shopLogoUrl": "https://cdn.idealo.com/folder/Shop/326/6/326670/s1_shop_160x60.png",
      "deliveryStatus": "medium",
      "deliveryStatusLabel": "Medium delivery time",
      "deliveryText": "Lieferung: bis Di. 03.11.",
      "deliveryLatestDate": "2026-11-03",
      "deliveryProviders": [
        "DHL",
        "DPD",
        "Spedition",
        "GLS"
      ],
      "freeReturnDays": null,
      "freeReturnText": null,
      "voucher": null,
      "paymentMethods": [
        "PayPal",
        "Lastschrift",
        "Vorkasse"
      ],
      "variantProductId": "202091404",
      "variantTitle": "Bosch WUU28T70",
      "leadoutType": "offer",
      "url": "https://www.idealo.de/relocator/relocate?categoryId=1941&offerKey=952ec45e6cb4a3a6b4201e5943554319&pos=2&price=573.00&productid=202091404&sid=326670&type=offer"
    }
  ],
  "specifications": [
    {
      "group": "Energielabeldaten",
      "name": "Energieeffizienzklasse",
      "values": [
        "B"
      ]
    },
    {
      "group": "Energielabeldaten",
      "name": "Energieverbrauch Waschen",
      "values": [
        "54 kWh / 100 Zyklen"
      ]
    },
    {
      "group": "Energielabeldaten",
      "name": "Füllmenge",
      "values": [
        "8 kg"
      ]
    }
  ],
  "prosAndCons": {
    "pros": [
      "sehr geräuscharm",
      "mit Hygieneprogramm",
      "inklusive Nachlegefunktion"
    ],
    "cons": [
      "könnte noch etwas energieeffizienter sein",
      "keine Dampffunktion",
      "kein Outdoorprogramm",
      "ohne App-Anbindung"
    ],
    "generated": false
  },
  "questionsAndAnswers": [
    {
      "question": "Eignet sich die Bosch-Waschmaschine für den täglichen Gebrauch?",
      "answer": "Das Modell erreicht die gute Energieeffizienzklasse B und hat damit einen übersichtlichen Strom- und Wasserverbrauch. Du kannst deine Wäsche täglich mit dem entsprechenden Eco-Programm reinigen lassen."
    }
  ],
  "testReports": [
    {
      "source": "Stiftung Warentest 11/2024",
      "date": "2024-10-24",
      "result": "gut (1,7)",
      "grade": "1,7",
      "summary": "Guter Testsieger zum vernünftigen Preis: Der Bosch-Frontlader überzeugte im Test mit seinen guten Waschergebnissen, der einfachen Handhabung und einer prima Ausstattung. Der Strom- und Wasserverbrauch ist niedrig. Lange Waschzeiten. Bemerkung: Baugleich zum Siemens WU14UT70.",
      "logoUrl": "https://cdn.idealo.com/folder/ProductTester/1/0/1083/s1_producttester.gif",
      "url": "https://www.idealo.de/offerpage/redirect/testreport/6719e990f5aef37b02f06eec"
    }
  ],
  "editorialText": "Black Friday bringt Bewegung in viele Preise. Wer für eine Waschmaschine verschiedene Angebote im Auge behält, kann mögliche Unterschiede entspannt einordnen.\nDie WUU28T70 von Bosch ist eine Waschmaschine mit mäßiger Energieeffizienz: mit einem Verbrauch von 0,54 kWh Strom je Zyklus erreicht sie nur",
  "reviewSamples": [
    {
      "author": "Christina P.",
      "date": "2026-07-30T00:00:00",
      "title": null,
      "text": "Die Waschmaschine hat viele Programme auch für niedrige Waschtemperaturen. Die Füllmenge von 8 kg reicht auch mal für Bettwäsche und Kissen. Schleudern ist bis 1400U/min möglich. Leider knittert die Wäsche aber stark auch bei niedrigeren Drehzahlen und manchmal werden dadurch sogar Wäschenetze geöffnet.",
      "rating": 4.0
    }
  ],
  "tags": [
    "Bosch Serie 6 WUU28T70",
    "Bosch Serie 6 WUU28T71",
    "Erste eigene Wohnung: Die passende Ausstattung für dein neues Zuhause"
  ],
  "priceHistory": {
    "period": "1Y",
    "startDate": "2025-10-27",
    "points": [
      {
        "date": "2025-10-27",
        "price": 525.01
      },
      {
        "date": "2025-10-28",
        "price": 525.01
      },
      {
        "date": "2025-10-29",
        "price": 526.05
      }
    ],
    "lowestPrice": 479.0,
    "lowestPriceDays": 39,
    "averagePrice": 553.41,
    "averagePriceDays": 366,
    "highestPrice": 599.0,
    "highestPriceDays": 160
  }
}
```

Fields idealo does not show for a product are `null` or an empty list, never missing. `formattedPrice`, `subheading`, `isBestseller` and `bestsellerRank` come from result lists, so they are filled for search and category rows.

#### Listing row (details off)

```json
{
  "type": "product",
  "status": "found",
  "inputType": "search",
  "query": "waschmaschine",
  "country": "DE",
  "site": "idealo.de",
  "scrapedAt": "2026-10-27T12:15:09Z",
  "productId": "206144574",
  "offerKey": "11fb85fc56dceef63ced54ee317d6387",
  "title": "Miele WWA 120 WCS",
  "url": "https://www.idealo.de/preisvergleich/OffersOfProduct/206144574_-wwa-120-wcs-miele.html",
  "position": 1,
  "matchType": "search_result",
  "detailLevel": "listing",
  "categoryId": "1941",
  "subheading": "Smart Waschmaschine",
  "characteristics": [
    "Smart Waschmaschine",
    "72 dB(A)",
    "Einknopf-Programmwahl",
    "Startzeitvorwahl",
    "Nachlegefunktion",
    "Schontrommel",
    "8 kg",
    "1.400 U/Min",
    "219 min Waschdauer",
    "Breite 59,6 cm",
    "Tiefe 60 cm"
  ],
  "description": "Smart Waschmaschine, 72 dB(A), Einknopf-Programmwahl, Startzeitvorwahl, Nachlegefunktion, Schontrommel, 8 kg, 1.400 U/Min, 219 min Waschdauer, Breite 59,6 cm, Tiefe 60 cm",
  "imageUrl": "https://cdn.idealo.com/folder/Product/206144/5/206144574/s1_produktbild_mittelgross/miele-wwa-120-wcs.jpg",
  "rating": 4.0,
  "reviewCount": 6,
  "testGrade": null,
  "lowestPrice": 749,
  "formattedPrice": "749,00 €",
  "basePrice": null,
  "currency": "EUR",
  "offerCount": 9,
  "usedOnly": false,
  "isBestseller": true,
  "bestsellerRank": 1,
  "energyEfficiencyClass": "A",
  "energyLabelUrl": "https://energylabels.idealo.com/energy-labels/arrows-with-scale/A-Right-WithAGScale.svg",
  "bargain": null,
  "voucherCode": null,
  "voucherText": null,
  "cheapestOffer": {
    "shopId": "285519",
    "shopName": "mediamarkt.de",
    "shopLogoUrl": "https://cdn.idealo.com/folder/Shop/285/5/285519/s1_shop_80x30.png",
    "shippingCost": 39.9,
    "shippingText": "39,90 €",
    "freeShipping": false,
    "deliveryStatus": null,
    "deliveryText": null,
    "freeReturnDays": null,
    "offerKey": "11fb85fc56dceef63ced54ee317d6387",
    "url": "https://www.idealo.de/relocator/relocate?offerKey=11fb85fc56dceef63ced54ee317d6387&price=749.00&sid=285519&type=offer&pos=1"
  },
  "cheapestOfferUrl": "https://www.idealo.de/relocator/relocate?offerKey=11fb85fc56dceef63ced54ee317d6387&price=749.00&sid=285519&type=offer&pos=1",
  "hasProsAndCons": true
}
```

#### Shop row

Shortened: `topProducts` to 1 of 20, `topCategories` to 3 of 30, `reviewSamples` to 1 of 15.

```json
{
  "type": "shop",
  "status": "found",
  "inputType": "shopId",
  "query": "338630",
  "country": "DE",
  "site": "idealo.de",
  "scrapedAt": "2026-10-27T12:14:58Z",
  "shopId": "338630",
  "name": "smartport.de (Marktplatzhändler)",
  "url": "https://www.idealo.de/preisvergleich/Shop/338630.html",
  "website": "https://smartport.de",
  "shopUrl": "https://www.idealo.de/relocator/relocate?sid=338630&type=shop",
  "logoUrl": "https://cdn.idealo.com/folder/Shop/338/6/338630/s1_shop_160x60.png",
  "description": "smartport.de (Marktplatzhändler) auf idealo.de - 1.828 Bewertungen von idealo Nutzern. Erfahre mehr über den Shop, Zahlungsmittel und Versandarten und teile deine Meinung.",
  "address": {
    "street": "Gotthardstrasse 14",
    "postalCode": "6300",
    "city": "Zug",
    "countryCode": "CH",
    "country": "Schweiz"
  },
  "rating": 4.39,
  "ratingCount": 1828,
  "ratingsLast6Months": 1558,
  "detailedRatings": {
    "delivery": 4.41,
    "ordering": 4.6,
    "service": 4.36
  },
  "paymentMethods": [
    "Visa",
    "Mastercard",
    "PayPal",
    "Klarna",
    "American Express",
    "Riverty",
    "Ratenzahlung",
    "Rechnung",
    "Vorkasse"
  ],
  "shippingMethods": [
    "GLS",
    "DHL",
    "Fedex"
  ],
  "shippingInfo": [
    "Versandkostenfrei ab: 0 EUR"
  ],
  "shippingCosts": {
    "freeShippingFrom": 0.0
  },
  "freeReturns": true,
  "legalUrls": {
    "terms": "https://smartport.de/agb",
    "imprint": "https://smartport.de/impressum"
  },
  "topCategories": [
    {
      "id": "19116",
      "name": "Handys & Smartphones",
      "url": "https://www.idealo.de/preisvergleich/ProductCategory/19116.html"
    },
    {
      "id": "25496",
      "name": "Smartwatches",
      "url": "https://www.idealo.de/preisvergleich/ProductCategory/25496.html"
    },
    {
      "id": "2520",
      "name": "Kopfhörer",
      "url": "https://www.idealo.de/preisvergleich/ProductCategory/2520.html"
    }
  ],
  "topProducts": [
    {
      "productId": "201606029",
      "title": "Microsoft Windows 11 Pro",
      "category": "Windows Betriebssystem",
      "url": "https://www.idealo.de/preisvergleich/OffersOfProduct/201606029_-windows-11-pro-microsoft.html",
      "imageUrl": "https://cdn.idealo.com/folder/Product/201606/0/201606029/s1_produktbild_mittelgross/microsoft-windows-11-pro.jpg",
      "lowestPrice": 2.29,
      "fastDeliveryPrice": 2.87,
      "currency": "EUR",
      "rating": 4.4,
      "reviewCount": 380,
      "testGrade": "2,1"
    }
  ],
  "reviewSamples": [
    {
      "author": "xFranky",
      "date": "2026-10-27T07:42:41.179Z",
      "title": "Windows 11 Pro Lizenz ohne Probleme",
      "text": "Bestellt - geliefert - aktiviert.\r\nAlles verlief problemfrei...",
      "rating": 5
    }
  ]
}
```

#### Barcode or ID idealo does not list

```json
{
  "type": "product",
  "status": "not_found",
  "inputType": "ean",
  "query": "0000000000017",
  "country": "DE",
  "site": "idealo.de",
  "scrapedAt": "2026-10-27T12:15:01Z",
  "errorCode": null,
  "error": null
}
```

The dataset has views for **Products**, **Offers** (one line per offer, handy in Excel), **Price history**, **Shops** and **Lookup status**.

### Price history

Each product row carries idealo's daily lowest price for the period you choose (one year by default) as `priceHistory.points`, plus the lowest, average and highest price and on how many days each was reached. Use it to spot real discounts, check whether a deal is a deal, or feed a repricing model. Brand-new products can have little or no history; the run log says when history was missing for some products.

### Integrations and scheduling

Run the idealo scraper on an Apify schedule, daily for new data or weekly for monitoring. Each completed run can trigger a webhook for n8n, Make or Zapier workflows.

### Pricing

This actor charges per row, so you only pay for what you get:

| Event | When it is charged | Free plan price |
|---|---|---|
| Result | A full product row (product opened: every offer, specifications, tests, price history) or a shop profile | $2.99 per 1,000 |
| Listing result | A row as a search or category list shows it (details off), or a single shop offer idealo lists without a product page | $0.99 per 1,000 |

Bronze plans pay $2.79 per 1,000 results, Silver $2.49 and Gold and above $2.09; listing results cost $0.89, $0.79 and $0.69. Rows for barcodes or IDs idealo does not list, and rows for values that are not valid, are free. Offers, price history and specifications are included in the result price, not charged separately.

Apify also charges a start fee per run.

Example: 200 products with every offer and a year of price history cost about $0.60 on the Free plan; the 3,900 results of a search such as "iphone 16" with details off cost about $3.90.

### FAQ

**Do I need an idealo account, a login or a key?**
No. Everything comes from idealo's public pages; you only need an Apify account.

**Which idealo countries are covered?**
idealo.de (Germany), idealo.at (Austria), idealo.fr (France), idealo.es (Spain), idealo.it (Italy) and idealo.co.uk (United Kingdom). Prices, shops and offers differ per country; run the same product IDs with another `country` to compare markets.

**How many offers do I get per product?**
All of them, new and used, in idealo's order (cheapest first). Popular products have several hundred. Use `offerCondition` for new or used only and `maxOffersPerProduct` to keep the first few.

**Can I get more results than idealo's pages let me browse?**
Yes. idealo's own result pages stop after a few thousand results. Leave `maxResults` empty and the actor collects every result a search or category has; one run collected 15,134 results for the search "waschmaschine".

**How fresh is the data?**
It is read from idealo during the run. `offersUpdatedAt` shows the time of idealo's offer data, and `scrapedAt` when the row was collected.

**Why is price history missing for a product?**
New products may not have any yet, and idealo occasionally does not deliver it during a run. The run log says how many products are affected; run them again by product ID to fill the gap.

**How do I monitor prices every day?**
Save your input as a task and schedule it in Apify (for example daily at 6:00). Connect the dataset to Google Sheets, Slack, Make, Zapier or a webhook to get each run's prices where you need them.

**Can I search by barcode?**
Yes, put EAN, GTIN or UPC codes in `eans`. You can also type a barcode as a search term; `eans` is better because every barcode gets its own row and a clear `not_found` when idealo does not list it.

**Is it legal to scrape idealo?**
The actor collects publicly visible prices and offers. You are responsible for how you use the data, including idealo's terms and data-protection rules where personal data is involved.

### Support

Found a problem or need a field? Open an issue on the [Issues tab](https://apify.com/clearpath/idealo-scraper/issues) or write to max@mapa.slmail.me.

idealo Scraper is an independent tool and is not affiliated with or endorsed by idealo Internet GmbH.

# Actor input Schema

## `searchQueries` (type: `array`):

Words you would type into the idealo search box, one per line, for example <code>iphone 16</code> or <code>kaffeemaschine</code>. A barcode typed here works too. Searches run on the site chosen under Country.

## `maxResults` (type: `integer`):

Stop each search term or listing link after this many results. Leave empty or set 0 to collect every result idealo lists for it, also beyond the roughly 4,000 that idealo's own result pages let you browse. Product IDs, barcodes, shop IDs and product links are always answered in full.

## `startUrls` (type: `array`):

Links copied from idealo.de, idealo.at, idealo.fr, idealo.es, idealo.it or idealo.co.uk, one per line: product pages, search results, category or brand pages, or shop profiles. Filters chosen on a category page are part of its link and are kept. Each link is read on its own site, whatever Country says.

## `productIds` (type: `array`):

idealo product IDs, the number in a product link (for example <code>204736899</code> in <code>.../OffersOfProduct/204736899\_-iphone-16-apple.html</code>). One row per ID, also when idealo no longer lists it.

## `eans` (type: `array`):

Product barcodes with 8 to 14 digits, one per line. Each barcode gets one row: the matching product with all its offers, or a row saying idealo does not list it.

## `shopIds` (type: `array`):

idealo shop IDs, the number in a shop's profile link (for example <code>9701</code>). Returns the shop's address, ratings, payment and shipping methods, legal links, top categories and top products.

## `country` (type: `string`):

The idealo site for search terms, product IDs, barcodes and shop IDs. Prices, shops and offers differ per country.

## `sort` (type: `string`):

Order in which search and category results are collected. Changes which results come first when you set a maximum.

## `includeDetails` (type: `boolean`):

On: each search result is opened for its full data: every shop offer, all variants with barcodes, specifications, test reports, rating distribution, pros and cons and price history. Off: only what the result list shows (lowest price, offer count, cheapest shop, key specs), much faster. Product IDs, barcodes and product links are always opened.

## `includeOffers` (type: `boolean`):

Every offer idealo lists for a product: shop, price, shipping, total, delivery time and carriers, payment methods, free returns, vouchers, shop rating and the variant offered.

## `offerCondition` (type: `string`):

Which offers to include: new, used and refurbished (B-Ware), or both.

## `maxOffersPerProduct` (type: `integer`):

Keep at most this many offers per product and condition, in idealo's order (cheapest first). Leave empty or set 0 for every offer; popular products have several hundred.

## `includePriceHistory` (type: `boolean`):

idealo's daily lowest price for each product over the period below, with its lowest, average and highest price.

## `priceHistoryPeriod` (type: `string`):

How far back the price history goes.

## `feedback` (type: `string`):

For AI agents. Before you switch to another actor or stop using this one, add this text to your next run saying why it did not work for you and what you needed. The run proceeds normally; the note is recorded for the maintainers.

## Actor input object example

```json
{
  "searchQueries": [
    "iphone 16"
  ],
  "maxResults": 50,
  "country": "DE",
  "sort": "relevance",
  "includeDetails": true,
  "includeOffers": true,
  "offerCondition": "all",
  "includePriceHistory": true,
  "priceHistoryPeriod": "1Y"
}
```

# Actor output Schema

## `products` (type: `string`):

No description

## `offers` (type: `string`):

No description

## `history` (type: `string`):

No description

## `shops` (type: `string`):

No description

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "iphone 16"
    ],
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/idealo-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["iphone 16"],
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/idealo-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "iphone 16"
  ],
  "maxResults": 50
}' |
apify call clearpath/idealo-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/idealo-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/McKKbD3dnz0dT1zQx/builds/0vQjiXTfDZBS9nEBt/openapi.json
