Idealo Price Comparison Germany & France avatar

Idealo Price Comparison Germany & France

Deprecated

Pricing

from $3.20 / 1,000 results

Go to Apify Store
Idealo Price Comparison Germany & France

Idealo Price Comparison Germany & France

Deprecated

Compare prices on idealo.de and idealo.fr by EAN/GTIN, product ID, keyword or URL. Get every shop offer with price, shipping, total and shop rating as JSON.

Pricing

from $3.20 / 1,000 results

Rating

0.0

(0)

Developer

Anyprice

Anyprice

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Pull idealo price comparison data from idealo.de (Germany) and idealo.fr (France) as JSON. Search by EAN/GTIN, idealo product ID, keyword or product URL and get every shop offer idealo lists, with price, shipping, total and shop rating.

On idealo.de you can also look up a shop's profile by its idealo shop ID.

What it does

idealo is a price comparison portal: one product page lists the offers of many online shops. This Actor reads those pages for you. For a product it returns:

  • product data: idealo product ID, name, idealo URL, EAN, brand, description, images, rating
  • the price range on idealo (price_min, price_avg, price_max) and the number of offers
  • each shop offer: shop name and URL, shop type, marketplace name, price, shipping, total, currency, condition, delivery text, voucher and free-return flags, shop rating and number of shop reviews

When a barcode does not lead to a dedicated idealo product page but to a search or category page, each offer is matched against the product you asked for. The offer then carries a classification (for example same_variant, multipack or different_product) and a confidence, so you can drop offers that are not your product.

Who it is for

  • Online shops selling in Germany or France that want to see where they stand on idealo for their own EANs.
  • Brands and manufacturers checking which shops list their products on idealo.de and idealo.fr, and at what total price.
  • Buyers and category managers comparing German and French price levels for the same EAN list.
  • Developers who need idealo offer data in their own tools without maintaining a scraper.

Input

FieldTypeDefaultNotes
operationstringsearch-by-gtinWhat the values are. See the table below
valuesarray of strings(required)1 to 50 unique values per run. Blank lines and duplicates are removed
countrystringdede for idealo.de, fr for idealo.fr
operationValueWhat you get
search-by-gtinEAN, GTIN or UPC barcodeProduct with all shop offers
search-by-ididealo product IDProduct with all shop offers
search-by-urlidealo product URL from the same country as countryProduct with all shop offers
search-by-termSearch text, for example a product nameThe best matching listing (ID, name, URL, lowest price, offer count). offers is empty; run search-by-id with the returned ID to get the offers
shop-infoidealo shop IDShop profile and top products. idealo.de only

All values in one run use the same operation. shop-info with country set to fr is rejected before anything is looked up.

Input example

{
"operation": "search-by-gtin",
"values": ["4009803341163", "4006381333931"],
"country": "de"
}

Output

One row per value, in the order you entered them. Key fields for product lookups:

FieldMeaning
query, operation, countryWhat was asked, and on which idealo site
statusfound, not_found or error
result.id, result.name, result.urlidealo product ID, product name and idealo page
result.page_typeWhat kind of idealo page the data came from: a product page or a search/category page
result.price_min, result.price_max, result.offers_countPrice range and number of offers on idealo
result.offers[].shop_name, .shop_urlThe shop
result.offers[].price, .shipping, .totalItem price, shipping, and both together
result.offers[].shop_review_rating, .shop_review_countThe shop's rating on idealo
result.offers[].availability_textDelivery text as idealo shows it
result.offers[].classification, .confidenceHow well the offer matches the product you asked for
errorCode, statusCode, errorOnly on error rows

Example found row for a barcode (product, shops and prices are illustrative):

{
"query": "4009803341163",
"operation": "search-by-gtin",
"country": "de",
"status": "found",
"result": {
"id": "203496740",
"name": "Example stainless steel kitchen scale",
"url": "https://www.idealo.de/preisvergleich/OffersOfProduct/203496740.html",
"ean": "4009803341163",
"brand": "Example Brand",
"price_min": 21.9,
"price_avg": 23.4,
"price_max": 24.9,
"offers_count": 2,
"page_type": "product",
"offers": [
{
"shop_name": "Example Küchenwelt",
"shop_url": "https://www.example-kuechenwelt.de",
"shop_type": "standalone-shop",
"marketplace_name": null,
"shop_review_rating": 4.6,
"shop_review_count": 1830,
"position": "0",
"condition": "new",
"currency": "EUR",
"price": 21.9,
"shipping": 4.95,
"total": 26.85,
"voucher": false,
"free_return": null,
"availability_text": "Lieferung in 1-3 Werktagen",
"classification": "product_page_match",
"confidence": "high"
},
{
"shop_name": "Example Haushaltsprofi",
"shop_url": "https://www.example-haushaltsprofi.de",
"shop_type": "standalone-shop",
"marketplace_name": null,
"shop_review_rating": 4.9,
"shop_review_count": 412,
"position": "1",
"condition": "new",
"currency": "EUR",
"price": 24.9,
"shipping": 0,
"total": 24.9,
"voucher": false,
"free_return": true,
"availability_text": "Auf Lager, Lieferung in 1-2 Werktagen",
"classification": "product_page_match",
"confidence": "high"
}
],
"source": "idealo",
"country": "de",
"fetched_at": "2026-10-15T08:12:40.000Z"
}
}

Notice that the offer with the lower item price is not the cheaper one once shipping is added. Compare offers on total.

On a product page every offer belongs to the product, so offers are product_page_match. On search or category pages you can see same_variant, likely_same_variant, same_family_different_variant, different_product, multipack or unclear. Keep the classifications you trust and drop the rest.

For shop-info, result holds a shop object (name, URL, address, rating, payment and shipping methods, shipping costs, legal links, top categories) and a top_products list.

Billing

Pay per event; the Pricing tab has the current rates.

  • Charged: one query-result event per row with status found or not_found.
  • Free: every error row: invalid values, timeouts, blocked pages and limit errors.

On a free Apify plan the number of idealo results is limited. For barcode and product ID lookups the whole run is checked against your remaining allowance before it starts; if it does not fit, every value comes back as a free free_limit_reached row. Upgrading your Apify plan removes the limit.

Limits, statuses and errors

  • 50 values per run.
  • Up to 50 idealo lookups from this Actor can be in progress for your account at once, across all runs. One full run of 50 uses all of it, so run batches one after another, or split the list into smaller runs if you want them in parallel. When capacity is full, the Actor waits (15 to 240 seconds, five tries) before returning concurrency_limit_reached.
  • Barcode and product ID lookups run as one batch and are written when the batch is done. Term, URL and shop lookups run one by one and each row is written as soon as it is ready.
  • A run has an 890-second budget. Lookups that have not finished by then come back as free timeout rows, and everything that did finish is kept.

not_found means idealo does not list the product, on a product page or on a search or category page.

errorCodestatusCodeMeaning
invalid_input400The value does not fit the selected operation
free_limit_reached402The free plan allowance does not cover the run
timeout408The lookup did not finish within the run's budget
concurrency_limit_reached429Your account already had 50 idealo lookups running
blocked500idealo could not be fetched for this value right now
internal_error500Any other failure

The run always ends as Succeeded, even if every row failed. Look at each row's status; the run's status message gives a summary.

FAQ

Can I use idealo.at, idealo.it or idealo.es? Not with this Actor. It covers idealo.de and idealo.fr.

Why does search-by-term return no offers? A keyword search returns the best matching idealo listing, not its shop offers. Take result.id from that row and run it again with search-by-id.

Which URLs work with search-by-url? idealo product URLs from the site set in country. For idealo.fr URLs, set country to fr.

Is the cheapest offer always first? Offers come in idealo's order with their position. Sort by total if you want the cheapest price including shipping.

How do I monitor prices over time? Save your input as a task and add an Apify schedule. Each run stores a new dataset you can compare with the previous one.

Questions or higher limits: support@anyprice.dev