Idealo Price Comparison Germany & France
DeprecatedPricing
from $3.20 / 1,000 results
Idealo Price Comparison Germany & France
DeprecatedCompare 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
Maintained by CommunityActor 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
| Field | Type | Default | Notes |
|---|---|---|---|
operation | string | search-by-gtin | What the values are. See the table below |
values | array of strings | (required) | 1 to 50 unique values per run. Blank lines and duplicates are removed |
country | string | de | de for idealo.de, fr for idealo.fr |
operation | Value | What you get |
|---|---|---|
search-by-gtin | EAN, GTIN or UPC barcode | Product with all shop offers |
search-by-id | idealo product ID | Product with all shop offers |
search-by-url | idealo product URL from the same country as country | Product with all shop offers |
search-by-term | Search text, for example a product name | The 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-info | idealo shop ID | Shop 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:
| Field | Meaning |
|---|---|
query, operation, country | What was asked, and on which idealo site |
status | found, not_found or error |
result.id, result.name, result.url | idealo product ID, product name and idealo page |
result.page_type | What kind of idealo page the data came from: a product page or a search/category page |
result.price_min, result.price_max, result.offers_count | Price range and number of offers on idealo |
result.offers[].shop_name, .shop_url | The shop |
result.offers[].price, .shipping, .total | Item price, shipping, and both together |
result.offers[].shop_review_rating, .shop_review_count | The shop's rating on idealo |
result.offers[].availability_text | Delivery text as idealo shows it |
result.offers[].classification, .confidence | How well the offer matches the product you asked for |
errorCode, statusCode, error | Only 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-resultevent per row with statusfoundornot_found. - Free: every
errorrow: 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
timeoutrows, 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.
errorCode | statusCode | Meaning |
|---|---|---|
invalid_input | 400 | The value does not fit the selected operation |
free_limit_reached | 402 | The free plan allowance does not cover the run |
timeout | 408 | The lookup did not finish within the run's budget |
concurrency_limit_reached | 429 | Your account already had 50 idealo lookups running |
blocked | 500 | idealo could not be fetched for this value right now |
internal_error | 500 | Any 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