# 🚘Europe Car Data Scraper  6 Websites 🇪🇺 (`jordan-byte/all-car-data-scraper-europe`) Actor

Scrape European used car listings from 6 automotive marketplaces in a single run. Collect prices, make, model, year, mileage, fuel type, transmission, location, seller details, images, and listing URLs in one unified dataset for price comparison and automotive market research.

- **URL**: https://apify.com/jordan-byte/all-car-data-scraper-europe.md
- **Developed by:** [Jordan Byte](https://apify.com/jordan-byte) (community)
- **Categories:** Automation, E-commerce, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

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

**Search all 6 major European car marketplaces at once, from a single input.** Give it a make and it queries Otomoto (Poland), Marktplaats (Netherlands), and AutoScout24 (Italy, France, Spain) and 2dehands (Belgium) concurrently, returning one comprehensive dataset instead of running six separate scrapers by hand.

### What does All Car Data Scraper Europe do?

All Car Data Scraper Europe searches every major European car site for the same make in a single run: [Otomoto.pl](https://www.otomoto.pl), [Marktplaats.nl](https://www.marktplaats.nl), [AutoScout24.it](https://www.autoscout24.it), [AutoScout24.fr](https://www.autoscout24.fr), [AutoScout24.es](https://www.autoscout24.es), and [2dehands.be](https://www.2dehands.be). All 6 sites run by default - this Actor is built for maximum coverage, not just a curated subset. Every result lands in one dataset with a consistent set of fields and a `source` field showing which site it came from.

### Why use All Car Data Scraper Europe?

- **Maximum market coverage** - all 6 sites by default, including all three AutoScout24 country editions, spanning six national markets.
- **Cross-border price comparison** - see what the same make is going for across every major European site in one table.
- **One input, one dataset** - no need to run and merge six separate Actors yourself.
- **Market research** - the fullest pan-European view of a make's pricing and availability this repo offers.

### How to use All Car Data Scraper Europe

1. Go to the **Input** tab.
2. Set **Make** (required).
3. Leave **Sites to search** empty to search all 6, or deselect any you don't need.
4. Click **Start** and wait for the run to finish.
5. Open the **Dataset** tab - filter by `source` to see results from a specific site, or view everything together.

### Input

| Field | Type | Description |
| --- | --- | --- |
| `make` | String | Car make to search for, e.g. `BMW` (required). |
| `sites` | Array | Which sites to search. Leave empty to search all 6 (the default). |
| `maxItemsPerSite` | Integer | Maximum listings to collect from each site (default: 30). |

Example input:

```json
{
    "make": "BMW",
    "maxItemsPerSite": 30
}
```

### Output

Each listing is saved as one item, tagged with which site it came from:

```json
{
    "source": "autoscout24it",
    "url": "https://www.autoscout24.it/annunci/bmw-118-118i-advantage-5p-136cv-benzina-nero-cat_ma13mo18481-758a818f-a57d-418b-a01a-34eba1349e0c",
    "title": "BMW 118",
    "image": "https://prod.pictures.autoscout24.net/listing-images/...",
    "make": "BMW",
    "model": "118",
    "price": 12900,
    "currency": "EUR",
    "firstRegistration": "09/2018",
    "mileageKm": 112501,
    "fuelType": "Benzina",
    "transmission": "Manuale",
    "power": "100 kW (136 CV)",
    "sellerName": "Dielle Auto Srl",
    "location": "10071 Borgaro Torinese",
    "condition": "Dealer"
}
```

#### Data table

| Field | Description |
| --- | --- |
| `source` | Which site this listing came from (`otomoto`, `marktplaats`, `autoscout24it`, `twodehands`, `autoscout24fr`, or `autoscout24es`) |
| `url` | The listing's own page on that site |
| `title`, `make`, `model` | Vehicle identification |
| `price`, `currency` | Asking price, in that site's local currency (PLN for Otomoto, EUR for the rest) |
| `firstRegistration`, `mileageKm`, `fuelType`, `transmission`, `power` | Core spec, where the site provides it |
| `sellerName`, `location` | Who's selling it and where, where shown |
| `condition` | Listed condition or price type, as each site labels it |
| `image` | Listing photo URL |

Not every site returns every field - each site module only fills in what that site actually publishes; everything else is `null` rather than guessed.

### Pricing / Cost estimation

How much does it cost to run this Actor? Pricing depends on your Apify plan's compute unit rate and how many sites you select. Every site here is a fast, no-browser HTTP request, so runs are inexpensive even at the full 6-site set.

### Tips for better runs

- Note prices are in each site's local currency - Otomoto (Poland) uses PLN, the other five use EUR. Convert before comparing across sites if you need a single currency.
- Deselect sites you don't need in `sites` for a faster, cheaper run.
- Use the Apify **Schedule** feature to re-run this Actor periodically and track price changes across all six sites at once.

### FAQ

**Is this legal?** This Actor only collects publicly visible listing data. You are responsible for using the data in accordance with each site's Terms of Service and any applicable laws in your jurisdiction.

**Why did one site return 0 results?** A single site failing (e.g. a transient block) doesn't stop the other sites' results from being returned - check the run log for that site's specific error.

**Found a bug or have a feature request?** Please use the Issues tab on this Actor's page - feedback directly shapes future updates.

# Actor input Schema

## `make` (type: `string`):

Car make to search for, e.g. <code>BMW</code>.

## `sites` (type: `array`):

Which sites to search. Leave empty to search all 6 (the default).

## `maxItemsPerSite` (type: `integer`):

Maximum number of listings to collect from each site.

## Actor input object example

```json
{
  "make": "BMW",
  "sites": [],
  "maxItemsPerSite": 30
}
```

# Actor output Schema

## `listings` (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 = {
    "make": "BMW"
};

// Run the Actor and wait for it to finish
const run = await client.actor("jordan-byte/all-car-data-scraper-europe").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 = { "make": "BMW" }

# Run the Actor and wait for it to finish
run = client.actor("jordan-byte/all-car-data-scraper-europe").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 '{
  "make": "BMW"
}' |
apify call jordan-byte/all-car-data-scraper-europe --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,jordan-byte/all-car-data-scraper-europe"
        }
    }
}

```

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/5Wf1g0oXB4SmNaCgl/builds/cFIIhrYyweTqPNNme/openapi.json
