Idealo Scraper - Price Comparison & Shop Offers avatar

Idealo Scraper - Price Comparison & Shop Offers

Pricing

from $17.00 / 1,000 idealo search pages

Go to Apify Store
Idealo Scraper - Price Comparison & Shop Offers

Idealo Scraper - Price Comparison & Shop Offers

Scrape Idealo price comparison in Germany, Austria, France, Italy, Spain and the UK: search results with the lowest price and number of shop offers, or every shop's offer and price for a product id. Batch many searches or products. No proxies needed.

Pricing

from $17.00 / 1,000 idealo search pages

Rating

0.0

(0)

Developer

ScraperCompany

ScraperCompany

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Idealo Scraper collects price comparison data from Idealo in two modes. Product search returns every product on a results page with its product id, title, lowest price, currency, number of shop offers and Idealo link. Shop offers returns, for one product id, each shop's name, Idealo shop id and price, in Idealo's own order. It works on idealo.de, idealo.at, idealo.fr, idealo.it, idealo.es and idealo.co.uk. Use it for price monitoring, competitor tracking and MAP checks. Pricing is pay-per-event: $0.02 per search page and $0.02 per product's offers; failed requests and empty answers are not charged.

Proxies, retries and anti-bot handling are built in, so you don't need your own proxies or an API key. Start a run, get structured JSON.

What can this Idealo scraper do?

  • Product search: product id, title, lowest price, currency, offer count, Idealo link.
  • Shop offers: every shop on the product page with its shop id and price.
  • Six Idealo sites: Germany, Austria, France, Italy, Spain (EUR) and the UK (GBP).
  • Paste product ids or Idealo product links; batch many searches or products in one run.
  • Searches with no match and products with no offers are free.

Modes

ModeWhat it returnsPrice per request
searchProducts for a search: product id, title, lowest price, currency, number of shop offers, link$0.02
offersEvery shop offer for one product id: shop, shop id, price$0.02

Use cases for Idealo data

  • E-commerce sellers: See which shops undercut you on Idealo and by how much.
  • Brands and distributors: Monitor the street price of your products across European shops.
  • Pricing analysts: Track lowest prices and offer counts for a product range over time.

What Idealo data can you extract?

FieldDescription
products[].product_id / title / urlProduct identity (Product search)
products[].price / currencyLowest offer price ("from" price) and currency
products[].offer_countNumber of shops offering the product
totalProducts or offers in the answer
product.product_id / title / urlThe product the offers belong to (Shop offers)
offers[].seller / shop_idShop name and Idealo shop id
offers[].price / currencyThat shop's price

Every dataset item also carries input (the exact request that was sent), request_id (quote it to support), billed and scraped_at.

How to scrape Idealo prices and shop offers

  1. Open Idealo Scraper in Apify Console and go to the Input tab.
  2. Enter search queries and pick the Idealo site, or switch Mode to Shop offers and paste Idealo product ids or links.
  3. Adjust the options if needed. Dates accept an exact date (2026-12-01) or a relative one (30 days from today), so saved tasks and schedules never go stale.
  4. Click Start and wait for the run to finish.
  5. Download the results from the Output tab as JSON, CSV, Excel or HTML, or fetch them with the Apify API.

Input example

This is the default input; running the Actor without changes uses it.

{
"mode": "search",
"queries": [
"airpods pro 2"
],
"domain": "idealo.de",
"productIds": [
"203554857"
],
"includeErrors": true,
"maxConcurrency": 3,
"maxRetries": 2
}

Output example

One dataset item per request (trimmed here; real items contain every field the API returns):

{
"mode": "search",
"endpoint": "/v1/retail/idealo/search",
"input": {
"q": "playstation 5",
"domain": "idealo.de"
},
"products": [
{
"currency": "EUR",
"offer_count": 77,
"price": 599.99,
"product_id": "203554857",
"title": "Sony PlayStation 5 Slim (PS5 Slim) Digital Edition",
"url": "https://www.idealo.de/preisvergleich/OffersOfProduct/203554857_-playstation-5-slim-ps5-slim-digital-edition-sony.html"
},
{
"currency": "EUR",
"offer_count": 62,
"price": 649.99,
"product_id": "203721237",
"title": "Sony PlayStation 5 Slim (PS5 Slim) Standard Edition",
"url": "https://www.idealo.de/preisvergleich/OffersOfProduct/203721237_-playstation-5-slim-ps5-slim-standard-edition-sony.html"
}
],
"search_parameters": {
"domain": "idealo.de",
"engine": "idealo_search",
"q": "playstation 5"
},
"total": 2,
"request_id": "req_3f9c0d6e2b8a4c1f9e7d5b3a1c0e8f6d",
"billed": true,
"scraped_at": "2026-10-01T14:03:27.512Z"
}

A request that fails is saved with an error message instead (turn off Include failed requests to skip those). Failed requests are never charged.

How much does it cost to scrape Idealo prices and shop offers?

This Actor uses pay-per-event pricing: you pay for successful API requests, not for compute time.

EventCharged whenPricePer 1,000
search-pageOne page of Idealo search results (lowest price and offer count per product). Searches with no match are free.$0.02$20.00
offers-pageEvery shop's offer for one Idealo product (shop name, shop id, price). Products with no current offers are free.$0.02$20.00

Paid Apify plans pay less: offers-page up to 18% off, search-page up to 18% off (Bronze 5%, more on higher plans). The Pricing tab shows the price on your plan.

For example, 1,000 requests in the default mode cost $20.00.

  • Failed requests (errors, invalid input, blocked upstream after retries) are free.
  • Requests where the source returns nothing at all (no results, nothing priced) are saved but not charged.
  • Set Maximum cost per run when you start a run and the Actor stops cleanly before going over it.

FAQ

Do I need proxies or an API key?

No. Proxy rotation, retries and anti-bot handling are built in, and the Actor is ready to run as is. You only pay the per-event prices above.

Which Idealo sites are supported?

idealo.de, idealo.at, idealo.fr, idealo.it and idealo.es (prices in EUR) and idealo.co.uk (prices in GBP).

Do prices include shipping?

They are the prices Idealo shows on the listing, which usually exclude shipping.

How many offers do I get per product?

The offers on the first page of the product's offer list, in Idealo's own order.

Where do I get product ids?

From the product_id of Product search results, or from an Idealo product link (the number after OffersOfProduct/).

The Actor collects publicly available information that anyone can see without logging in. You are responsible for how you use the results: respect the source site's terms, copyright and privacy law (such as GDPR) and do not collect personal data without a lawful basis. If in doubt, ask a lawyer.

What happens when a request is blocked or rate-limited?

Rate limits (HTTP 429) and temporary errors (5xx) are retried automatically with exponential backoff, respecting Retry-After. If a request still fails it is saved with the error message and not charged, and the rest of the batch keeps going. A run only fails when every request failed.

Why did a request return an error?

Read the error field: validation problems (for example a malformed date or an unknown id) are reported exactly as the API sees them. Fix the input and run again; failed requests cost nothing.

How many requests can I run at once?

Any number per run. The Actor sends up to 3 requests in parallel by default (change it under Run options); larger batches simply take longer.

Use it from your code

Call the Actor from any language through the Apify API. With the JavaScript client (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('scrapercompany/idealo-price-comparison-scraper').call({
"mode": "search",
"queries": [
"airpods pro 2"
]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

With Python (pip install apify-client):

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("scrapercompany/idealo-price-comparison-scraper").call(run_input={
"mode": "search",
"queries": ["airpods pro 2"],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

You can also schedule runs, chain them with webhooks, or connect them to Make, Zapier, n8n, Google Sheets and other integrations from the Integrations tab.

Support

Questions, a field you need, or a site that stopped working? Open an issue on the Issues tab. Include the request_id from the dataset item so we can trace the request.