# 🔍🚗⭐ Mobile.de Reviews Scraper (`3x1t/mobile-de-reviews-scraper-ppr`) Actor

Effortlessly scrape dealer reviews and metadata from Germany's largest vehicle marketplace, Mobile.de. Fast, cheap & reliable.

- **URL**: https://apify.com/3x1t/mobile-de-reviews-scraper-ppr.md
- **Developed by:** [3x1t](https://apify.com/3x1t) (community)
- **Categories:** Automation, Lead generation, E-commerce
- **Stats:** 20 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.75 / 1,000 reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## 🔍 What does Mobile.de Reviews Scraper do?

**Mobile.de Reviews Scraper** is a tool for extracting dealer reviews from *Germany's most popular car marketplace*, Mobile.de. This website is not only being used in Germany though, as there are many listings from other EU countries as well.

It offers a simple interface that mirrors the Mobile.de dealer reviews interface for easy configuration.

You can export the data in various forms, including JSON, CSV, table and others that are supported by the Apify platform, or even use this actor as API.

## 📋 Why scrape Mobile.de reviews?

#### Gain valuable insights into dealer reputation

Customer reviews on Mobile.de provide crucial insights into dealer trustworthiness and service quality. By scraping these reviews, you can systematically analyze customer sentiment, detect recurring issues, and identify top-rated dealers. This data is invaluable for businesses looking to partner with reliable sellers or for buyers who want to make informed purchasing decisions.

#### Monitor market trends and customer preferences

Understanding how customers perceive dealerships can reveal broader market trends. Are buyers consistently complaining about hidden fees? Do they appreciate certain service aspects like fast responses or flexible financing? Scraping reviews allows you to spot emerging patterns and adapt your business strategies accordingly. Whether you're a competitor, analyst, or reseller, review data helps you stay ahead.

#### Automate competitor analysis and brand monitoring

For dealerships and automotive businesses, tracking customer feedback on Mobile.de is essential for maintaining a competitive edge. Instead of manually checking reviews, an automated scraper provides a steady stream of fresh data, helping businesses benchmark against competitors, improve service quality, and respond proactively to customer concerns.

## 🚀 Features

1. Get complete data with additional dealer metadata
2. Blazingly fast (~12 results per second)
3. Dirt cheap - **only $0.75** per 1000 results starting from **April 11, 2025**!
4. Export data in CSV, JSON, or Excel formats
5. Our complete support ❤️

## 📊 What is being extracted?

| 🏷️ Data Field               | 🔍 Description                           |
|----------------------------|-----------------------------------|
| 📅 Review date            | Date when the review was posted  |
| 👤 Reviewer name         | Name of the person leaving the review |
| 🚗 Vehicle listing title  | Title of the vehicle listing being reviewed |
| ⭐ Total score            | Overall rating given by the reviewer |
| 📊 Advice score         | Score based on how helpful the dealer's advice was |
| 😊 Friendliness score   | Rating of the dealer's friendliness |
| ⏳ Response time score  | Score reflecting how quickly the dealer responded |
| 👍 Liked text            | Positive aspects of reviewer's experience |
| 👎 Disliked text         | Negative aspects of reviewer's experience |
| 🛠️ Helpful count         | Number of users who found the review helpful |
| ❓ Bought a vehicle?     | Whether the reviewer purchased the vehicle |
| 📞 Communication channels | Methods used to communicate with the dealer (e.g., *email*, *phone*) |
| 🏢 Seller name          | Name of the selling person |
| 💬 Reply from dealer    | Dealer's response to the review (including *date* and *author*) |
| 🏪 Dealer details       | Details like *name*, *phone*, *address*, *sold vehicle count*, and more! |

For more detailed output, please refer to the output example section of this readme.

## ❓ How to use

This scraper requires you to provide it review URL pages for it to work. In this example, we will show you how to do that. We also have plans to extend this actor so that you have to just input the car listing URL, but that option is not currently available.

### 1. Navigate to Mobile.de dealer reviews page

In our example, we will visit [Reinhardt Automobile GmbH](https://www.mobile.de/bewertungen/REINHARDTDRESSMANAUTOMOBILEGMBH?lang=en) review page.

We get there by following these steps:

1. Visit [Mobile.de](https://www.mobile.de/)
2. Search for Audi cars
3. Click on a listing with the dealer being *Reinhardt Automobile GmbH*

The review page should look like this:

![Review page](https://i.imghippo.com/files/wPnm7332pr.png)

### 2. Copy the review page URL

![Copy URL](https://i.imghippo.com/files/rDo9624uxM.png)

### 3. Paste into Apify actor

Last step is just to paste this URL into the "🔎 Start URL(s)" input field, like so:

![Paste URL](https://i.imghippo.com/files/CW3514cWs.png)

You are done! Press the *Save & Start* button and enjoy the results 🎉.

## 🖼️ Example output

This sample is in JSON format. Apify enables you by default to choose other formats, such as `JSON`, `CSV`, `XML`, `Excel`, `HTML Table`, `RSS` or `JSONL`.

```json
[
    {
        "reviewId": 2389224872,
        "vehicleListingTitle": "Audi Q5 2.0TFSi Q 3xS line/Black Edition/20\"/S-SITZE",
        "reviewerName": "L.",
        "totalScore": 3.3,
        "reviewDate": "2020-10-03T00:00:00.000Z",
        "details": {
            "likedText": "freundlicher Mailverkehr",
            "dislikedText": "ohne Nachfrage kaum Infos vom Verkäufer, bei einem komplexen + unbekannten PKW (Q5) wären die Verkäuferinfos zielführend gewesen. Fühlten uns auch sehr herablassend behandelt, sodass schnell klar wurde, dass  dort kein Auto gekauft wird. Permanentes Lächeln ist kein Kaufargument. Haben auf der Rückfahrt einen anderen Q5 gekauft.",
            "sellerName": null,
            "reviewerName": "L.",
            "boughtAVehicle": false,
            "score": {
                "total": 3.3,
                "advice": 2,
                "friendliness": 3,
                "responseTime": 5
            },
            "vehicleAsDescribed": true,
            "recommendsDealer": null,
            "howDidYouCommunicateWithDealer": [
                "mail",
                "personally"
            ]
        },
        "helpfulCount": 12,
        "reply": {
            "author": null,
            "text": "Hallo Herr L.,\r\n\r\nvielen Dank auch für diese Bewertung.\r\n\r\nWenn man als Inhaber bzw. Geschäftsführer liest, dass ein Mitarbeiter einem Kunden das Gefühl gegeben hat, dass dieser sich herablassend behandelt gefühlt hat, klingeln erst einmal alle Alarmglocken - So auch gestern, als ich Ihre Bewertung gelesen habe.\r\n\r\nDirekt habe ich Sie per Mail kontaktiert um nachzuhören, was genau nicht gepasst hat - So eine Kritik nehmen wir schließlich sehr ernst.\r\n\r\nAnschließend kam dann von Ihnen - Zitat - diese Antwort zurück:\r\n\r\n\"Was den Begriff „herablassend“ betrifft unterstelle ich Ihnen, dass Ihnen der Begriff bekannt ist und Ihnen der Sinn des Wortes geläufig ist.\"\r\n\r\nDiese Antwort war der Inbegriff von herablassend und führt leider dazu, dass Ihre Kritik alles andere als konstruktiv ist. Wer öffentlich schlecht bewertet und solche Behauptungen aufstellt sollte doch bitte so fair sein und Chancen zur Aufklärung & fortlaufender Verbesserung des Unternehmens einräumen.\r\n\r\nMit freundl. Grüßen\r\nM. Reinhardt",
            "replyDate": "2020-10-04T00:00:00.000Z",
            "logoUrl": "https://img.classistatic.de/api/v1/mo-prod/images/7f/7fff9aaa-bf2a-4b7a-a27a-e93c4dd6f0c0?rule=mo-80.jpg"
        },
        "dealerDetails": {
            "id": 18237764,
            "name": "Reinhardt Automobile GmbH",
            "phone": "+49233159252010",
            "homepageUrl": "https://home.mobile.de/REINHARDTDRESSMANAUTOMOBILEGMBH",
            "iconUrl": "https://img.classistatic.de/api/v1/mo-prod/images/7f/7fff9aaa-bf2a-4b7a-a27a-e93c4dd6f0c0?rule=mo-80.jpg",
            "address": "Delsterner Str. 92, DE-58091 Hagen",
            "activeSince": "2018-04-17T00:00:00.000Z",
            "score": {
                "total": 4.4,
                "responseTime": 4.5,
                "friendliness": 4.5,
                "advice": 4.2
            },
            "soldVehicleCount": 678,
            "vehicleAsDescribedPercentage": 91.7,
            "recommendPercentage": 87
        }
    },
    {
        "reviewId": 1493207438,
        "vehicleListingTitle": "Audi A3 Limousine 2.0TFSi S line/Optikp.-Schwarz/NAV+",
        "reviewerName": "Toni Lamys",
        "totalScore": 5,
        "reviewDate": "2018-12-12T00:00:00.000Z",
        "details": {
            "likedText": "Sehr freundlicher und korrekter Kontakt per Mail. Schnelle Antwortzeit. Alle Fragen wurden ehrlich beantwortet. Bilder des zu verkaufenden Kfz's wurden per Mail geschickt. Mein Ansprechpartner Herr Reinhardt macht einen sehr Vertrauenswürdigen und ehrlichen Eindruck und ich gehe davon aus, dass ich meinen nächsten PKW ggf. dort kaufen werde. Der einzige Grund, weshalb ich den Wagen nicht gekauft habe liegt darin, dass ich zum einen einen höheren Kurs für mein jetziges Fahrzeug erhofft habe und die Entfernung von über 100 Kilometern, nur um sich das Auto vorab einmal anzuschauen.",
            "dislikedText": null,
            "sellerName": "Reinhardt",
            "reviewerName": "Toni Lamys",
            "boughtAVehicle": false,
            "score": {
                "total": 5,
                "advice": 5,
                "friendliness": 5,
                "responseTime": 5
            },
            "vehicleAsDescribed": null,
            "recommendsDealer": true,
            "howDidYouCommunicateWithDealer": [
                "mail"
            ]
        },
        "helpfulCount": 8,
        "reply": {
            "author": null,
            "text": "Hallo Herr Lamys,\r\n\r\nrecht herzlichen Dank für die super Bewertung! Auch wenn es dieses mal nicht geklappt hat - Es gibt sicher ein nächstes mal!\r\n\r\nMit freundlichen Grüßen\r\nM. Reinhardt",
            "replyDate": "2019-03-03T00:00:00.000Z",
            "logoUrl": "https://img.classistatic.de/api/v1/mo-prod/images/7f/7fff9aaa-bf2a-4b7a-a27a-e93c4dd6f0c0?rule=mo-80.jpg"
        },
        "dealerDetails": {
            "id": 18237764,
            "name": "Reinhardt Automobile GmbH",
            "phone": "+49233159252010",
            "homepageUrl": "https://home.mobile.de/REINHARDTDRESSMANAUTOMOBILEGMBH",
            "iconUrl": "https://img.classistatic.de/api/v1/mo-prod/images/7f/7fff9aaa-bf2a-4b7a-a27a-e93c4dd6f0c0?rule=mo-80.jpg",
            "address": "Delsterner Str. 92, DE-58091 Hagen",
            "activeSince": "2018-04-17T00:00:00.000Z",
            "score": {
                "total": 4.4,
                "responseTime": 4.5,
                "friendliness": 4.5,
                "advice": 4.2
            },
            "soldVehicleCount": 678,
            "vehicleAsDescribedPercentage": 91.7,
            "recommendPercentage": 87
        }
    }
]
```

## 🔗 Integrating with other platforms

**Mobile.de Reviews Scraper** supports integrations with external services, enabling automated workflows and data exchange. Through the [Apify platform integrations](https://apify.com/integrations), it connects with tools like Make and Zapier, facilitating interactions with Slack, Airbyte, GitHub, Google Sheets, and Google Drive ([learn about integrations](https://docs.apify.com/platform/integrations)). Additionally, its API and [webhook support](https://docs.apify.com/platform/integrations/webhooks) allow real-time interactions, such as triggering automated workflows or receiving notifications when a scraping task is completed.

## 🛠️ Support

If there is a feature that you would love to see (more fields, better input, etc.), do not hesitate to **create an issue** or contact me at <contact@3x1t.dev>.

## ⚖️ Is it legal to scrape Mobile.de?

Note that personal data is protected by GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. We also recommend that you read our blog post: [is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

## 🔍🌍 Explore more of our actors

### 🚗 Automotive

<table>
    <tr>
        <th style="white-space: nowrap;">Actor</th>
        <th>Description</th>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/autoscout24-scraper" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/pXKi1391Ar.png" height="36" style="border-radius: 8px;" />
                <span>🔍🚙 AutoScout24 Scraper (Rental)</span>
            </a>
        </td>
        <td>
            Scrapes vehicle listings from AutoScout24, with detailed vehicle data like brand, model, price, images, dealer info and more.Rental version.
        </td>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/autoscout24-scraper-ppr" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/pXKi1391Ar.png" height="36" style="border-radius: 8px;" />
                <span>🔍🚙 AutoScout24 Scraper (PPR)</span>
            </a>
        </td>
        <td>
            Scrapes vehicle listings from AutoScout24, with detailed vehicle data like brand, model, price, images, dealer info and more. Pay-per-result version.
        </td>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/mobile-de-scraper" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/gyr1800LkY.png" height="36" style="border-radius: 8px;" />
                <span>🔍🚗 Mobile.de Scraper</span>
            </a>
        </td>
        <td>Scrapes vehicle listings from Mobile.de, Europe's largest car marketplace, with detailed vehicle data like brand, model, price, and images.</td>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/mobile-de-scraper-ppr" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/ulK5777Os.png" height="36" style="border-radius: 8px;" />
                <span>🔍🚗 Mobile.de Scraper (PPR)</span>
            </a>
        </td>
        <td>Pay-per-result version of the Mobile.de Scraper, offering a cost-effective option for smaller use cases to extract car data.</td>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/mobile-de-reviews-scraper-ppr" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/JZVD8870c.png" height="36" style="border-radius: 8px;" />
                <span>🔍🚗📝 Mobile.de Reviews Scraper</span>
            </a>
        </td>
        <td>Extracts dealer reviews from Mobile.de, providing insights into dealer reputation, customer sentiment, and service quality.</td>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/mobile-de-listing-health-checker" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/jefb7972cT.png" height="36" style="border-radius: 8px;" />
                <span>🚗📝👨‍⚕️ Mobile.de Listing Health Checker</span>
            </a>
        </td>
        <td>Checks listing IDs and returns only those that are not valid anymore.</td>
    </tr>
</table>

### 🛒 E-commerce

<table>
    <tr>
        <th style="white-space: nowrap;">Actor</th>
        <th>Description</th>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/ebay-scraper" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/uDVH9433ex.png" height="36" style="border-radius: 8px;" />
                <span>🔍🛒 eBay Scraper (Rental)</span>
            </a>
        </td>
        <td>Extracts product data from eBay, including details like price, title, images, and more. Rental version.</td>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/ebay-scraper-ppr" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/uDVH9433ex.png" height="36" style="border-radius: 8px;" />
                <span>🔍🛒 eBay Scraper (PPR)</span>
            </a>
        </td>
        <td>Extracts product data from eBay, including details like price, title, images, and more. Pay-per-result version.</td>
    </tr>
    <tr>
        <td style="white-space: nowrap;">
            <a href="https://apify.com/3x1t/wish-scraper" style="display: flex; align-items: center; gap: 8px;">
                <img src="https://i.imghippo.com/files/jMY5308nVk.png" height="36" style="border-radius: 8px;" />
                <span>🔍🛒 Wish Scraper (PPR)</span>
            </a>
        </td>
        <td>Extracts product data from Wish.com, including details like price, name, reviews, and more.</td>
    </tr>
</table>

Can't find what you're looking for? No worries, we've got your back! Hit us up at <contact@3x1t.dev> or create an issue. If all else fails, you can always [visit the Apify store](https://apify.com/store) — it could have exactly what you need. 😉

# Changelog

This Actor's version history is a separate document: https://apify.com/3x1t/mobile-de-reviews-scraper-ppr/changelog.md

# Actor input Schema

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

Paste the dealer URLs here.

Example: `https://www.mobile.de/bewertungen/REINHARDTDRESSMANAUTOMOBILEGMBH?lang=en#1`

## `maxReviewCount` (type: `integer`):

Set this to limit the maximum amount of reviews scraped per each *Start URL*. For example, if you set 3 *Start URLs* and set this field to **10**, your total limit will be **30**.

## `sortBy` (type: `string`):

Select a sorting method and order.

## `filterBy` (type: `array`):

You can filter (limit) the reviews based on these criteria.

## `showOldRatings` (type: `boolean`):

Check this if you want the scraper to include ratings that are considered *old* by Mobile.de.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.mobile.de/bewertungen/REINHARDTDRESSMANAUTOMOBILEGMBH?lang=en"
  ],
  "maxReviewCount": 100,
  "sortBy": "newest",
  "filterBy": [],
  "showOldRatings": true
}
```

# 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 = {
    "startUrls": [
        "https://www.mobile.de/bewertungen/REINHARDTDRESSMANAUTOMOBILEGMBH?lang=en"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("3x1t/mobile-de-reviews-scraper-ppr").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 = { "startUrls": ["https://www.mobile.de/bewertungen/REINHARDTDRESSMANAUTOMOBILEGMBH?lang=en"] }

# Run the Actor and wait for it to finish
run = client.actor("3x1t/mobile-de-reviews-scraper-ppr").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 '{
  "startUrls": [
    "https://www.mobile.de/bewertungen/REINHARDTDRESSMANAUTOMOBILEGMBH?lang=en"
  ]
}' |
apify call 3x1t/mobile-de-reviews-scraper-ppr --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,3x1t/mobile-de-reviews-scraper-ppr"
        }
    }
}
```

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/VG4fsMlfbOkr2RFP7/builds/1ikkYgAdc2tOD2R2T/openapi.json
