# Autohero Scraper: 10 EU Stores, 40+ Fields (`getascraper/autohero-cars-scraper`) Actor

Pull inspected used cars from Autohero across 10 EU storefronts. 40+ fields per car: accidents, damages, previous owners, service book, VAT, branch, emissions. Filter by country, brand, model, sort. No proxy needed.

- **URL**: https://apify.com/getascraper/autohero-cars-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.97 / 1,000 eu cars

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🚗 Autohero Cars Scraper: All Europe Used Cars Catalog

Get the full used car inventory from Autohero in 10 European countries, in clean data you can use. No setup, no manual work. One run gives you 23,000+ inspected cars.

Autohero (AUTO1 Group) sells inspected used cars online across Germany, Austria, Spain, France, Belgium, Italy, Netherlands, Poland, and Sweden. This scraper pulls the live inventory for any combination of countries. 40+ fields per car including accident history, previous owners, service records, and dealer branch details.

***

### 👥 What can you do with it?

- **You are a cross-border trader** moving cars between EU markets. Spot price gaps between Germany, France, and Italy. The same car can be 20% cheaper in one country.
- **You are a market researcher** building European-wide reports. Compare prices, mileage, and brand mix across all 10 countries. Build a single dataset for the whole EU.
- **You are a finance or insurance provider.** Get clean vehicle history for any car: accident count, damage count, previous owners, service book status. Quote policies or approve loans with confidence.
- **You are a fleet manager** sourcing vehicles. Get bulk data on every sedan, SUV, or compact available across Europe. Filter by year, mileage, and price.
- **You are a dealership in one country** watching competitors in another. Track what Autohero is selling in adjacent markets to adjust your pricing.

***

### 🚀 How to use it

1. **Open the actor** in the Apify Store and click "Try for free".
2. **Pick your countries.** Choose one or many from the 10 European storefronts (Germany, Austria, Spain, France, Belgium, Italy, Netherlands, Poland, Sweden).
3. **Set your volume.** Define how many cars to extract per country (e.g. 500 each).
4. **Click Start.** The scraper pulls the live data in minutes.
5. **Download your dataset** in JSON, CSV, or Excel. Or pipe it straight to Google Sheets, BigQuery, or your CRM.

***

### ⚙️ Input

| Field | Type | Required | Description |
| --- | --- | :---: | --- |
| `locales` | array of enum | No | Country storefronts: de (Germany), at (Austria), es (Spain), fr (France), fr-be (Belgium French), nl-be (Belgium Dutch), it (Italy), nl (Netherlands), pl (Poland), se (Sweden). |
| `startUrls` | array of URLs | No | Optional direct Autohero car detail page URLs. |
| `maxItems` | integer | No | Maximum cars to extract per country. Default 1000. |
| `pageLimit` | integer | No | Batch size per query (1 to 100). Default 100. |
| `maxConcurrency` | integer | No | Parallel requests. Default 6. |
| `proxyConfiguration` | object | No | Optional residential proxy. Default: no proxy. |

***

### 📦 Output

Each row is one car. Here is what a real record looks like:

```json
{
  "rowType": "car",
  "vehicleId": "522d03e4-2b6a-4a4f-a4c6-c05f3ce05a40",
  "stockNumber": "UN54418",
  "retailAdId": "673ccc64-21da-4404-8455-462e9ed7b359",
  "locale": "de",
  "countryCode": "IT",
  "detailUrl": "https://www.autohero.com/de/peugeot-308/id/522d03e4-2b6a-4a4f-a4c6-c05f3ce05a40/",
  "title": "Peugeot 308 1.5 Blue-HDi",
  "make": "Peugeot",
  "model": "308",
  "trim": "1.5 Blue-HDi",
  "builtYear": 2022,
  "firstRegistrationYear": 2023,
  "firstRegistration": "20230228T000000.000Z",
  "mileageKm": 50781,
  "priceAmount": 19799,
  "priceCurrency": "EUR",
  "monthlyPaymentAmount": 315,
  "monthlyPaymentCurrency": "EUR",
  "fuelType": "Diesel",
  "transmission": "Automatic",
  "driveTrain": "front-wheel",
  "powerKw": 96,
  "powerHp": 131,
  "engineCcm": 1499,
  "acceleration0to100": 10.6,
  "co2Value": 119,
  "emissionClass": "EURO 3544",
  "vatType": "VAT deductible",
  "previousOwners": 1,
  "accidents": 0,
  "damages": 42,
  "hasServiceBook": false,
  "lastServiceOn": "20260513",
  "dealerName": "Workshop Pizzale",
  "dealerCity": "Voghera",
  "dealerZipcode": "27058",
  "dealerStreet": "via Torquato Taramelli",
  "mainImageUrl": "https://img-eu-c1.autohero.com/img/0fefdadc9865110119ed20c05ead250ed4e8b8ef71c226b71b3a9d59765b7bec/exterior/1/768x432-468e7dc428934aa59f22d8dfd5b4c071.jpg",
  "scrapedAt": "2026-06-16T13:00:15.123Z"
}
```

You can download the dataset in JSON, CSV, or Excel. Prices are in local currency (EUR for most countries).

***

### 📊 Data table

| Field | Type | Description |
| --- | :---: | --- |
| `vehicleId` | text | Autohero's internal unique vehicle ID. |
| `stockNumber` | text | Dealer stock number. |
| `locale` | text | Country code: de, at, es, fr, it, etc. |
| `countryCode` | text | Country of registration. |
| `title` | text | Full car title with model and trim. |
| `make` | text | Manufacturer: Peugeot, BMW, Audi, etc. |
| `model` | text | Model: 308, X3, A4, etc. |
| `trim` | text | Trim level. |
| `builtYear` | integer | Year of manufacture. |
| `firstRegistrationYear` | integer | First registration year. |
| `firstRegistration` | text | First registration date (ISO 8601). |
| `mileageKm` | integer | Odometer reading in kilometers. |
| `priceAmount` | integer | Listed price in local currency. |
| `priceCurrency` | text | Price currency: EUR, etc. |
| `monthlyPaymentAmount` | integer | Monthly finance payment in local currency. |
| `monthlyPaymentCurrency` | text | Monthly payment currency. |
| `fuelType` | text | Petrol, Diesel, Electric, Hybrid. |
| `transmission` | text | Automatic or Manual. |
| `driveTrain` | text | Front-wheel, rear-wheel, all-wheel drive. |
| `powerKw` | integer | Engine power in kilowatts. |
| `powerHp` | integer | Engine power in horsepower. |
| `engineCcm` | integer | Engine displacement in cc. |
| `acceleration0to100` | number | 0-100 km/h time in seconds. |
| `co2Value` | integer | CO2 emissions in g/km. |
| `emissionClass` | text | Emission standard: EURO 6, EURO 5, etc. |
| `vatType` | text | VAT treatment for business buyers. |
| `previousOwners` | integer | Number of previous owners. |
| `accidents` | integer | Number of recorded accidents. |
| `damages` | integer | Number of recorded damages. |
| `hasServiceBook` | boolean | True if the service book is complete. |
| `lastServiceOn` | text | Date of last service. |
| `dealerName` | text | Delivery branch name. |
| `dealerCity` | text | Branch city. |
| `dealerZipcode` | text | Branch zip code. |
| `dealerStreet` | text | Branch street address. |
| `mainImageUrl` | text | Cover image URL. |
| `detailUrl` | text | Canonical Autohero URL. |
| `scrapedAt` | text | ISO timestamp of when the data was extracted. |

***

### 💰 Pricing

**$1.99 per 1,000 listings.** No monthly fee. You only pay for what you extract. The 10 countries combined have roughly 23,000 cars in stock, which would cost about $46 in a single full run.

***

### ⭐ Enjoying Autohero Cars Scraper?

<table width="100%">
<tr>
<td style="padding:20px 24px 14px;background:#EAF5EC;border:1px solid #EAF5EC;border-left:5px solid #166534;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">A clean, 23,000-car European inventory feed with full accident and service history, no manual cross-border checking needed.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other cross-border traders and market researchers find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#166534;border:1px solid #EAF5EC;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/autohero-cars-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

***

### 💡 Tips and advanced options

- **Start with one country** to test, then expand. Germany has the most inventory (around 8,000 cars). Italy and France are next.
- **Use `maxItems: 100` for a quick preview** of the schema, then bump to 1000 or 2000 for full data dumps.
- **Set `pageLimit: 100`** for the fastest runs. Lower values like 25 will make more API calls but give you more granular progress.
- **Compare across countries** by running multiple locales in sequence. The same car model can have a 15-25% price gap between Germany and Eastern Europe.
- **Schedule daily runs** via Apify Schedules to track inventory turnover and price changes.

***

### ❓ FAQ

**Is scraping Autohero legal?**
This actor extracts publicly visible car listings that anyone can see without logging in. You are responsible for ensuring your use case complies with Autohero's Terms of Service and applicable laws. Do not scrape private data beyond what is publicly displayed.

**Why is the data so clean?**
Autohero runs on a modern backend with structured data, so every listing has consistent fields: accident count, service book status, dealer branch, emissions, finance options. No messy HTML scraping.

**Can I get data from one specific country only?**
Yes. Set the `locales` array to a single country code, e.g. `["de"]` for Germany or `["fr"]` for France.

**How does the free trial work?**
New Apify users get $5 of platform credit. That is enough to extract about 2,500 cars across the 10 countries, or 23,000 cars for a full run if you top up.

***

### 🛡️ Disclaimers and support

- **Disclaimer**: This actor is not affiliated with Autohero, AUTO1 Group, or any of their partners. The data is publicly available on the website. Make sure your usage complies with Autohero's terms of service and applicable laws.
- **Support**: Open an issue from the [Issues tab](https://apify.com/actorstack/autohero-cars-scraper/issues) for bug reports or feature requests. Custom enterprise solutions with regional catalog filters, CSV exports, or API integrations are also available.

### 🔗 Other actors

- [CarDekho Used Cars Scraper](https://apify.com/getascraper/cardekho-used-cars-scraper) ↗ - extracts Indian used car listings, prices and dealer data.
- [che168 Used Car Scraper](https://apify.com/getascraper/che168-car-scraper) ↗ - collects used car listings and dealer profiles from Autohome's che168 in China.
- [Cinch.co.uk Scraper](https://apify.com/getascraper/cinch-co-uk-scraper) ↗ - pulls UK used car listings and vehicle data from Cinch.
- [Easyauto123 Car Scraper](https://apify.com/getascraper/easyauto123-scraper) ↗ - extracts VIN, pricing, specs and dealer data from Easyauto123.

# Actor input Schema

## `locales` (type: `array`):

Select the countries you want to scrape used cars from (e.g. Germany, France, Spain). Each country has its own catalog.

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

Optional. Enter direct links to specific car pages on Autohero to extract just those vehicles.

## `brand` (type: `string`):

Optional. Filter results by a specific brand (e.g., BMW, Peugeot, Audi, Volkswagen). Capitalized first letter is required.

## `model` (type: `string`):

Optional. Filter results by a specific model name (e.g., 308, Golf, 500, A-Klasse).

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

Select how you want the saved listings to be ordered.

## `maxItems` (type: `integer`):

The maximum number of cars to save for each selected country.

## `pageLimit` (type: `integer`):

The number of results retrieved in each background step. Best left at the default of 100.

## `maxConcurrency` (type: `integer`):

Number of parallel queries allowed. Default of 6 is recommended for optimal performance.

## `maxRequestRetries` (type: `integer`):

Number of automatic retries on temporary connection hiccups.

## `proxyConfiguration` (type: `object`):

Proxy settings. Recommended default settings are preconfigured to guarantee smooth, unblocked access.

## Actor input object example

```json
{
  "locales": [
    "de"
  ],
  "startUrls": [],
  "brand": "",
  "model": "",
  "sortBy": "newest",
  "maxItems": 1000,
  "pageLimit": 100,
  "maxConcurrency": 6,
  "maxRequestRetries": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "locales": [
        "de"
    ],
    "startUrls": [],
    "brand": "",
    "model": "",
    "sortBy": "newest",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/autohero-cars-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 = {
    "locales": ["de"],
    "startUrls": [],
    "brand": "",
    "model": "",
    "sortBy": "newest",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/autohero-cars-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locales": [
    "de"
  ],
  "startUrls": [],
  "brand": "",
  "model": "",
  "sortBy": "newest",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call getascraper/autohero-cars-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getascraper/autohero-cars-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/tdTMqHz8DBeicY7Rp/builds/7EMWEBp73PCugYPUG/openapi.json
