# Idealo Reviews Scraper (`ecomscrape/idealo-reviews-scraper`) Actor

Extract valuable customer reviews and ratings from Idealo.de, Germany's leading price comparison platform. Our scraper efficiently collects review data including ratings, text, author details, and metadata for market research and competitive analysis.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## Contact

If you encounter any issues or need to exchange information, please feel free to contact us through the following link:
[My profile](https://apify.com/ecomscrape)

## Idealo.de Review Scraper - Automated Review Extraction

### Introduction

Idealo.de stands as Germany's premier price comparison platform, serving over 15 million users monthly across Europe and ranking as the #1 price comparison website in Germany. As a consumer review and price comparison website, Idealo combines product pricing data with authentic customer reviews, making it a goldmine of consumer sentiment and product feedback data.

The challenge for businesses, researchers, and analysts lies in efficiently extracting this valuable review data at scale. Manual collection is time-consuming and impractical when dealing with thousands of products and reviews. Our Idealo.de Review Scraper addresses this challenge by automating the extraction of comprehensive review data, enabling businesses to gain competitive insights, monitor product reputation, and understand consumer sentiment across the German market.

### Scraper Overview

The Idealo.de Review Scraper is a robust data extraction tool specifically designed to harvest customer reviews and ratings from Idealo's extensive product database. With Idealo hosting over 30,000 reviews across countless products, this scraper provides businesses with access to authentic consumer feedback that drives purchasing decisions in the German market.

**Key Strengths:**

- **Comprehensive Data Extraction**: Captures complete review metadata including ratings, text, author information, and timestamps
- **Scalable Processing**: Handles multiple product URLs simultaneously with configurable limits
- **Anti-Detection Technology**: Utilizes residential proxies to ensure consistent data collection
- **Structured Output**: Delivers clean, organized data ready for analysis

**Target Users:**

- E-commerce businesses monitoring competitor reviews
- Market researchers analyzing consumer sentiment
- Product managers tracking brand reputation
- Digital marketing agencies conducting competitive analysis
- Academic researchers studying consumer behavior

### Input and Output Details

#### Input Configuration

Example url 1: https://www.idealo.de/preisvergleich/OffersOfProduct/200868950\_-duo-sodastream.html#reviews

Example url 2: https://www.idealo.de/preisvergleich/OffersOfProduct/201237723\_-5khbv83-kitchenaid.html

Example url 3: https://www.idealo.de/preisvergleich/OffersOfProduct/5552199\_-classic-mini-5kfc3516-kitchenaid.html

Example Screenshot of review information page:

![](https://i.ibb.co/Tn2pXmM/Screenshot-from-2025-08-06-11-58-07.png)

The scraper accepts a JSON configuration with the following parameters:

```json
{
  "max_retries_per_url": 2, // Maximum waiting time when accessing the links you provided.
  "proxy": { // Add a proxy to ensure that during the data collection process, you are not detected as a bot.
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL" 
    ],
    "apifyProxyCountry": "SG" // You should choose an Country that coincides with the Country you want to collect data from
  },
  "max_items_per_url": 20, // Total page you want scrape
  "urls": [ // Links to detail pages.
    "https://www.idealo.de/preisvergleich/OffersOfProduct/200868950_-duo-sodastream.html#reviews",
    "https://www.idealo.de/preisvergleich/OffersOfProduct/201237723_-5khbv83-kitchenaid.html",
    "https://www.idealo.de/preisvergleich/OffersOfProduct/5552199_-classic-mini-5kfc3516-kitchenaid.html"
  ]
}
```

**Input Parameters Explained:**

- `max_retries_per_url`: Controls reliability by setting retry attempts for failed requests
- `proxy` settings: Essential for avoiding bot detection during large-scale scraping operations
- `max_items_per_url`: Limits the number of reviews extracted per product to manage data volume
- `urls`: Array of specific Idealo product page URLs to scrape

**Output:**

The scraper delivers structured data with the following fields:

```json
[ // List of review information
  {
  "author": "fabian s.",
  "date": "09.10.22",
  "rating": 4,
  "text": "Ich habe seit einem Jahr SodaStream ich nutze es täglich und bin immer wieder fasziniert von der Erfindung, ich muss kein Wasser mehr schleppen kann mir jederzeit ein Wasser machen nur ist die Maschine leider recht laut und der Zylinder ist leider auch sehr schnell alle .\nVorteile: Sprudelt Wasser\nNachteile: Teuer",
  "html": "<div class=\"productReviews-listItemReview small-12 columns\" data-ellipsis=\"{\n                                            &quot;readMoreCaption&quot;\t: &quot;Weiterlesen&quot;,\n                                            &quot;trimAfter&quot;\t\t\t: &quot;40&quot;,\n                                            &quot;ellipsis&quot;\t\t\t: &quot;...&quot;\n                                            }\">\n                                Ich habe seit einem Jahr SodaStream ich nutze es täglich und bin immer wieder fasziniert von der Erfindung, ich muss kein Wasser mehr schleppen kann mir jederzeit ein Wasser machen nur ist die Maschine leider recht laut und der Zylinder ist leider auch sehr schnell alle .<br><span class=\"cimenio-label-advantages\">Vorteile</span>: Sprudelt Wasser<br><span class=\"cimenio-label-disadvantages\">Nachteile</span>: Teuer</div>",
  "via": "via Cimenio",
  "reference": "Verifizierte Meinung bezieht sich auf: SodaStream Duo",
  "from_url": "https://www.idealo.de/preisvergleich/OffersOfProduct/200868950_-duo-sodastream.html#reviews"
}, // ... Many other review details
]
```

#### Output Format

The scraper returns structured data with the following fields:

**Author**: The reviewer's username or display name on Idealo

- *Purpose*: Identifies review source and enables author-based analysis
- *Format*: String (may be anonymized by Idealo)

**Date**: When the review was published

- *Purpose*: Enables temporal analysis and trend identification
- *Format*: Date string (typically German date format)

**Rating**: Numerical score given by the reviewer

- *Purpose*: Core metric for sentiment analysis and product evaluation
- *Format*: Usually 1-5 stars or 1-10 scale depending on Idealo's system

**Text**: The complete review content written by the customer

- *Purpose*: Provides detailed insights into customer experience and product feedback
- *Format*: Raw text string with original formatting preserved

**HTML**: The raw HTML structure of the review element

- *Purpose*: Preserves formatting, links, and additional metadata for advanced processing
- *Format*: HTML string containing the complete review markup

**Via**: The source or platform through which the review was submitted

- *Purpose*: Identifies review authenticity and submission method
- *Format*: String indicating submission channel (e.g., "Idealo", "Verified Purchase")

**Reference**: Unique identifier or URL reference to the specific review

- *Purpose*: Enables review tracking, deduplication, and direct access
- *Format*: URL or unique ID string

**Example Output:**

```json
{
  "Author": "KundeM47",
  "Date": "15.03.2024",
  "Rating": "4.5",
  "Text": "Excellent product quality. Fast delivery and great customer service...",
  "HTML": "<div class='review-content'>...</div>",
  "Via": "Idealo Verified",
  "Reference": "https://www.idealo.de/review/12345"
}
```

### Usage Instructions

**Step 1: Prepare Target URLs**

- Navigate to Idealo.de product pages
- Ensure URLs include the reviews section (#reviews fragment)
- Compile URLs into the input JSON format

**Step 2: Configure Extraction Parameters**

- Set `max_items_per_url` based on your needs (20-50 recommended for comprehensive analysis)
- Configure proxy settings for your target region
- Adjust retry settings based on network conditions

**Step 3: Execute Scraper**

- Submit the JSON configuration
- Monitor extraction progress
- Handle any rate limiting or blocking issues through proxy rotation

**Best Practices:**

- Use residential proxies from Germany for optimal results
- Implement delays between requests to avoid detection
- Batch process large datasets to prevent timeouts
- Regularly update proxy configurations

**Common Issues:**

- **Empty Results**: Verify URLs contain active review sections
- **Rate Limiting**: Increase proxy rotation and reduce request frequency
- **Blocked Requests**: Switch proxy regions or providers

### Benefits and Applications

**Time Efficiency**: Automates manual review collection, saving hundreds of hours for large-scale analysis projects.

**Competitive Intelligence**: Monitor competitor product reviews to identify strengths, weaknesses, and market opportunities.

**Market Research Applications**:

- Consumer sentiment analysis across product categories
- Brand reputation monitoring and crisis management
- Product feature feedback analysis for R\&D teams
- Pricing strategy optimization based on value perception

**Business Value**:

- Enables data-driven product development decisions
- Supports dynamic pricing strategies based on customer satisfaction
- Facilitates proactive customer service improvements
- Powers AI-driven recommendation systems

The extracted data integrates seamlessly with analytics platforms, business intelligence tools, and machine learning pipelines for advanced consumer insights.

### Conclusion

Idealo's position as a premier price comparison platform across Europe makes it an invaluable source of authentic consumer feedback. Our Review Scraper transforms this wealth of data into actionable business intelligence, enabling organizations to make informed decisions based on real customer experiences. Start extracting valuable review data today to gain competitive advantages in the German market.

## Related Actors

[**Idealo.de Scraper**](https://apify.com/ecomscrape/idealo-product-scraper): Extract detailed product information from Idealo.de effortlessly with this powerful scraping tool

## Your feedback

We are always working to improve Actors' performance. So, if you have any technical feedback about Idealo.de Review Query Scraper or simply found a bug, please create an issue on the Actor's Issues tab in Apify Console.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Detail page urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `max_items_per_url` (type: `integer`):

Limit the number of items per URL you want to scrape

## `max_retries_per_url` (type: `integer`):

Limit the number of retries for each URL if the scrape is detected as a bot or the page fails to load

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://www.idealo.de/preisvergleich/OffersOfProduct/200868950_-duo-sodastream.html#reviews"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "urls": [
        "https://www.idealo.de/preisvergleich/OffersOfProduct/200868950_-duo-sodastream.html#reviews"
    ],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ecomscrape/idealo-reviews-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 = {
    "urls": ["https://www.idealo.de/preisvergleich/OffersOfProduct/200868950_-duo-sodastream.html#reviews"],
    "max_items_per_url": 20,
    "max_retries_per_url": 2,
    "proxy": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("ecomscrape/idealo-reviews-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 '{
  "urls": [
    "https://www.idealo.de/preisvergleich/OffersOfProduct/200868950_-duo-sodastream.html#reviews"
  ],
  "max_items_per_url": 20,
  "max_retries_per_url": 2,
  "proxy": {
    "useApifyProxy": false
  }
}' |
apify call ecomscrape/idealo-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ecomscrape/idealo-reviews-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/1pQYpPFK0d9LzxLsg/builds/JyVtOCdw0g4W4TG5y/openapi.json
