# AutoScout24 Scraper & API - Car Listings, Prices & Dealers (`rel8ble/autoscout24-scraper`) Actor

Use this to get car listings from AutoScout24 (DE, AT, BE, ES, FR, IT, LU, NL). Input: make, model, countries, filters (price, year, km, fuel, gearbox, body, seller) or AutoScout24 URLs. One result = one listing: title, year, km, fuel, gearbox, power, price with rating, seller, URL. $0.29 per 1,000.

- **URL**: https://apify.com/rel8ble/autoscout24-scraper.md
- **Developed by:** [Giovanni Rich](https://apify.com/rel8ble) (community)
- **Categories:** E-commerce
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

## AutoScout24 Scraper & API - Used and New Car Listings, Prices and Dealers (DE, AT, BE, ES, FR, IT, LU, NL)

**AutoScout24 Scraper** is an unofficial AutoScout24 API and car listings scraper for AutoScout24, which calls itself Europe's largest online car marketplace (autoscout24.de, .at, .be, .es, .fr, .it, .lu, .nl and the English autoscout24.com). Give it a make and model, filters (price, first registration, mileage, fuel, gearbox, body type, power, dealer / private, new / used) or paste AutoScout24 search URLs, and get every matching vehicle as clean JSON, CSV or Excel: title, make, model, version, first registration, mileage, fuel, gearbox, power in kW and hp, price in EUR with **AutoScout24's own price rating** (super / good / fair / increased / high price), location, seller (dealer name, rating, phone), images and URL. Optionally the full offer page: equipment list, colour, body, doors, seats, emission class, previous owners, description, market median price, coordinates.

It reads the same server-rendered pages the website shows, over plain HTTP: no browser, no login, 20 listings per request, from datacenter IPs. AutoScout24 shows at most 4,000 listings for any one search; this scraper **splits big searches automatically** by price band, registration year and mileage and merges the results without duplicates, so "every used Volkswagen Golf in Germany" comes back complete.

Use it for **price monitoring and valuation** (what comparable cars list for, by country), **dealer lead generation** (dealers with stock of a given model, their phone numbers and ratings), **market research** (supply by model, fuel type and age across eight markets), **sourcing** (cheapest BMW X3 diesel under 100,000 km in Germany or Austria) and **arbitrage** between countries.

### Sample output

Five rows from a real run in Germany, taken from `sample-output.json`:

| Car | First reg. | km | Fuel | hp | Price (EUR) | AutoScout24 rating | City | Seller |
|---|---|---|---|---|---|---|---|---|
| BMW 320 | 2005-01 | 336100 | Gasoline | 170 | 799 | none | Pfaffenhofen an der Ilm | Dealer |
| BMW 120 | 2008-02 | 388450 | Diesel | 177 | 1999 | super price | Landshut | Dealer |
| Jaguar XE | 2018-12 | 152000 | Diesel | 179 | 6890 | none | Bottrop | Dealer |
| BMW 530 | 2005-07 | 275411 | Gasoline | 258 | 1799 | none | Teublitz | Dealer |
| Opel Cascada | 2013-05 | 100000 | Gasoline | 140 | 6499 | super price | Pfaffenhofen an der Ilm | Dealer |

The full row has 55 fields; one is shown in JSON under Output example below. A car AutoScout24 does not rate has `priceRating: null`.

### How to use

1. Type a **Make** (`Volkswagen`, `BMW`, `Mercedes-Benz`) and optionally a **Model** (`Golf`, `X3`, `C 220`) as the English site writes them, or add several lines under **More make / model lines** (`Audi A4`, `Tesla Model 3`).
2. Pick the **Countries**: Germany is the default; add Austria, Belgium, Spain, France, Italy, Luxembourg or the Netherlands. Several countries = one combined search.
3. Optionally filter: **Offer type** (new, used, pre-registered, demonstration ...), **Price**, **First registration**, **Mileage**, **Fuel**, **Gearbox**, **Body type**, **Seller type**, **Power**, **Listed within (days)**, and choose a **Sort order**.
4. Turn on **Include offer details** if you need equipment lists, colours, descriptions or the market median price (one extra request per listing).
5. Set **Max listings per search** / **in total**, click **Start**, and download the results from the **Output** tab or through the API, Make, Zapier, n8n or an MCP client.

Already have links? Paste AutoScout24 **search URLs** from any country site (`https://www.autoscout24.de/lst/audi/a4?atype=C&cy=D&fregfrom=2019&priceto=30000`) or **offer pages** into *AutoScout24 URLs*; a search URL keeps exactly the filters you set in the browser.

### What you get

One dataset item per listing:

- **Vehicle**: `id`, `title`, `version`, `subtitle`, `make`, `model`, `modelGroup`, `variant`, `engine`, `vehicleType`, `offerType` (new / used / pre-registered / demonstration / employee-car / classic), `isNew`, `firstRegistration` (YYYY-MM), `mileageKm`, `fuel`, `fuelCode`, `transmission`, `powerKw`, `powerHp`, `engineDisplacementCcm`, `isDamaged`.
- **Price**: `price` (EUR), `priceText`, `priceRating` (AutoScout24's comparison with the market: super price, good price, fair price, increased price, high price), `isVatDeductible`, `previousPrice`, `isSuperDeal`, `availableNow`.
- **Where**: `country`, `zip`, `city`, `street`.
- **Seller**: `sellerType` (Dealer / Private), `sellerName`, `sellerId`, `sellerContactName`, `sellerPhones`, `sellerRating`, `sellerRatingsCount`, `sellerPage`, `sellerLogo` (dealers only; private sellers get no name, phone or contact).
- **Listing**: `isSponsored`, `adTier`, `leadsRange` (AutoScout24's interest indicator), `images`, `imageCount`, `url`, `sourceSearch`, `page`, `position`, `scrapedAt`.

With **Include offer details** on, each row also gets `description`, `bodyType`, `doors`, `seats`, `bodyColor`, `bodyColorOriginal`, `paintType`, `upholstery`, `upholsteryColor`, `cylinders`, `gears`, `driveTrain`, `fuelConsumption`, `co2Emission`, `emissionClass`, `electricRangeKm`, `previousOwners`, `hadAccident`, `isNonSmoker`, `hasFullServiceHistory`, `inspectionNew`, `warranty`, `originalMarket`, `equipment` (list), `priceNegotiable`, `priceNet`, `vatRate`, `dealerPrice`, `marketMedianPrice`, `sellerWebsite`, `sellerStockPage`, `latitude`, `longitude`, `listedAt`, `offerReference`, `carfaxReportUrl`, `detailImages`.

### Use cases

- **Pricing and valuation**: median asking price of a 2019 Audi A4 Avant diesel automatic with under 100,000 km in Germany vs Italy; `priceRating` tells you how the site itself rates each car against the market.
- **Dealer leads**: every dealer in Austria with a Tesla in stock, with phone number, rating and stock page; `leadsRange` shows which listings get attention.
- **Sourcing for export or resale**: cheapest-first lists across several countries with mileage and first-registration filters; `onlineSinceDays: 1` on a daily schedule catches new listings the day they appear.
- **Market research**: supply counts per model, fuel and body type in eight markets (`siteTotal` per search is in the run summary).
- **AI agents**: "find hybrid SUVs under 25,000 EUR registered after 2020 in the Netherlands" maps straight onto the input fields.

### Input example

| Field | Default | Description |
|---|---|---|
| `make` / `model` | - | As the English site writes them: `Volkswagen` / `Golf`, `BMW` / `3 Series`, `Mercedes-Benz` / `C 220` |
| `searches` | - | More lines: `Audi A4`, `Tesla Model 3`, `Porsche` |
| `startUrls` | - | AutoScout24 search URLs (any country site) or offer pages |
| `countries` | `["DE"]` | `DE`, `AT`, `BE`, `ES`, `FR`, `IT`, `LU`, `NL` |
| `vehicleType` | `car` | `car` or `motorbike` |
| `offerTypes` | new + used | `new`, `used`, `pre-registered`, `demonstration`, `employee-car`, `classic` |
| `priceFrom` / `priceTo` | - | EUR |
| `yearFrom` / `yearTo` | - | First registration year |
| `mileageFrom` / `mileageTo` | - | km |
| `fuels` | all | `petrol`, `diesel`, `electric`, `hybrid-petrol`, `hybrid-diesel`, `lpg`, `cng`, `hydrogen`, `ethanol`, `other` |
| `gearboxes` | all | `automatic`, `manual`, `semi-automatic` |
| `bodyTypes` | all | `compact`, `convertible`, `coupe`, `suv`, `station-wagon`, `sedan`, `van`, `transporter`, `other` |
| `sellerType` | `any` | `any`, `dealer`, `private` |
| `powerFrom` / `powerTo` | - | kW |
| `onlineSinceDays` | - | 1-14: only listings published in the last N days |
| `sort` | `relevance` | `price-asc`, `price-desc`, `mileage-asc`, `mileage-desc`, `year-desc`, `year-asc`, `power-desc`, `power-asc`, `newest` |
| `includeDetails` | `false` | Open every offer page (equipment, colour, description, median price) |
| `deepSearch` | `true` | Split searches above 4,000 listings so nothing is cut off |
| `maxItemsPerSearch` | 1000 (the form starts at 20) | 0 = everything |
| `maxItems` | 5000 | 0 = everything |

Diesel BMW X3 and Audi Q5 registered 2019 or later in Germany and Austria, cheapest first:

```json
{
    "searches": ["BMW X3", "Audi Q5"],
    "countries": ["DE", "AT"],
    "fuels": ["diesel"],
    "yearFrom": 2019,
    "mileageTo": 100000,
    "sort": "price-asc",
    "maxItemsPerSearch": 500
}
```

Every used Volkswagen Golf in Germany (20,000+ listings, split automatically):

```json
{
    "make": "Volkswagen",
    "model": "Golf",
    "offerTypes": ["used"],
    "maxItemsPerSearch": 0,
    "maxItems": 0
}
```

Electric cars listed today in the Netherlands, with full details, from a search URL:

```json
{
    "startUrls": ["https://www.autoscout24.nl/lst?atype=C&cy=NL&fuel=E&adage=1&sort=age&desc=0"],
    "includeDetails": true
}
```

### Output example

From a real run (Audi A4 in Germany; image list shortened):

```json
{
    "id": "44622b8d-d624-4050-97c1-df7eaaa3235a",
    "title": "Audi A4 Avant 2.0 TDI",
    "version": "Avant 2.0 TDI S-tronic SPORT 17\"+XENON+NAVI+V",
    "subtitle": "HU/AU neu, Sportsitze, Volldigitales Kombiinstrument, 3-Zonen-Klimaautomatik",
    "make": "Audi",
    "model": "A4",
    "modelGroup": "A4",
    "variant": "Avant",
    "engine": "2.0 TDI",
    "vehicleType": "Car",
    "offerType": "used",
    "isNew": false,
    "firstRegistration": "2018-04",
    "mileageKm": 101846,
    "fuel": "Diesel",
    "fuelCode": "d",
    "transmission": "Automatik",
    "powerKw": 110,
    "powerHp": 150,
    "engineDisplacementCcm": 1968,
    "price": 14648,
    "currency": "EUR",
    "priceText": "€ 14.648",
    "priceRating": "super price",
    "isVatDeductible": false,
    "previousPrice": null,
    "isSuperDeal": false,
    "isDamaged": false,
    "availableNow": true,
    "country": "DE",
    "zip": "86529",
    "city": "Schrobenhausen",
    "street": "In der Scherau 6 b",
    "sellerType": "Dealer",
    "sellerName": "Schüchl GmbH",
    "sellerId": "26065",
    "sellerContactName": "Team Verkauf",
    "sellerPhones": ["+49 (0)825 - 2916998900", "+49 (0)8252 - 909810"],
    "sellerRating": 5,
    "sellerRatingsCount": 1722,
    "sellerPage": "https://www.autoscout24.de/haendler/schuechl-gmbh?atype=C",
    "isSponsored": false,
    "adTier": "T50",
    "leadsRange": "Some",
    "images": ["https://prod.pictures.autoscout24.net/listing-images/44622b8d-d624-4050-97c1-df7eaaa3235a_715c0380-1b86-4e66-b5b6-a6d516d298b8.jpg/250x188.webp"],
    "imageCount": 14,
    "url": "https://www.autoscout24.de/angebote/audi-a4-avant-2-0-tdi-s-tronic-sport-17-+xenon+navi+v-diesel-schwarz-cat_ma9gr1626ge134va134mt169tr121-44622b8d-d624-4050-97c1-df7eaaa3235a",
    "sourceSearch": "Audi A4, DE",
    "page": 1,
    "position": 1,
    "scrapedAt": "2026-10-21T17:40:02.118Z"
}
```

With details on, the same car adds `bodyType: "Kombi"`, `doors: 4`, `seats: 5`, `bodyColor: "Black"`, `emissionClass: "Euro 6"`, `hadAccident: false`, `hasFullServiceHistory: true`, `marketMedianPrice: 17200`, a 40-item `equipment` list, the full description and the dealer's coordinates.

Fill rates on a 150-listing test run (BMW X3, Tesla Model 3, Audi Q5 in DE + AT, plus a Volkswagen Golf search URL): id, title, version, make, model, first registration, mileage, fuel, gearbox, power, price, price text, country, zip, city, seller type, URL 100%; price rating 83% (AutoScout24 rates most but not all cars); engine displacement 71% (electric cars have none); dealer name, phone and page 73% (the rest are private sellers, which get no name or phone by design); dealer rating 65%; variant 72%. Texts such as `fuel`, `transmission` and `priceText` come in the language of the site that served the page (English on autoscout24.com, German on .de); `fuelCode` and the numbers are language-independent.

### Pricing

Pay per result: **$0.29 per 1,000 listings** (one result = one vehicle listing saved to the dataset; details included at the same price). No start fee and no charge per search.

- The prefilled form (Volkswagen Golf, 20 listings) = under a cent ($0.006)
- 1,000 listings = $0.29
- Every Volkswagen Golf listed in Germany (19,021 on 21 Oct 2026) = about $5.52
- A daily run of 30 searches, new listings only (about 500 a day) = $0.15 a day

Failed requests, duplicates and sponsored repeats are never charged. If you set a maximum cost per run, the scraper stops cleanly when it reaches it. Apify's free plan includes $5 of monthly platform credit, enough for about 17,000 listings.

### Why this one

Prices below are the Store's FREE-tier prices per 1,000 results, read on 5 Nov 2026. Ours is $0.29 with no start fee. The most-used AutoScout24 scrapers: blackfalcondata (131 users in 30 days) $0.49 + $0.005 per run + $0.02 per 1,000 listings checked; 3x1t's pay-per-result actor (52) $0.99; ivanvs (48) $4.00; memo23 (27) $0.90 + $0.005 per run, with equipment data and dealer e-mails as paid extras; fayoussef (19) $0.50; 3x1t's pay-per-event actor (16) $0.30 + $0.0001 per run.

**It is not the cheapest in every case.** automation_craft charges $0.20 + $0.0045 per run (with paid extras for details and dealer profiles), cliqtomedia $0.24 + $0.0025 per run and xerneas_ftw $0.25 + $0.0005 per run; each had 1-2 users in 30 days. Rivals' prices can change; check the Store page before you rely on this.

What you get for $0.29: equipment, colour, description and market median price (details on) at the same price per listing, no start fee, and big searches over AutoScout24's 4,000-listing cap split automatically.

### FAQ

**Does it need a browser or an account?**
No. It reads the server-rendered pages over HTTP.

**Why are private sellers without phone numbers?**
Names, contacts and phones are collected for dealers only, by design.

**How do I get only new listings every day?**
Schedule it with `onlineSinceDays: 1` and deduplicate on `id`.

**Which countries?**
Germany, Austria, Belgium, Spain, France, Italy, Luxembourg and the Netherlands.

**How fast is it?**
20 listings come from one request. The cloud demo (Volkswagen Golf, 20 listings) finished in about 5 seconds; 1,000 listings took 230 seconds in a cloud test through the datacenter proxy (21 Oct 2026).

**How much does a typical job cost?**
$0.29 per 1,000 listings, with or without details. The prefilled 20-listing run is $0.006; a 500-listing price check is $0.15.

### Integrations

- **Make, Zapier and n8n**: start runs on a schedule and push new or re-priced listings to Google Sheets, Airtable, Slack or your CRM.
- **Google Sheets**: export the dataset straight into a spreadsheet.
- **Apify API**: run the actor and fetch results over REST, or with the official JavaScript and Python clients.
- **Webhooks**: get notified when a run finishes.
- **Schedules**: run daily with `onlineSinceDays: 1` and deduplicate by `id` to collect only new listings.
- **MCP for AI agents**: through the Apify MCP server (https://mcp.apify.com), Claude, ChatGPT, Cursor and other agents can call this car listings API directly and read the results.

### Limits (read before large runs)

- **4,000 listings per single search** is AutoScout24's own limit (200 pages of 20). Deep search works around it by splitting into price bands, then registration years, then mileage bands, and the run summary lists the slices; a slice that is still above 4,000 after every split is read to its 4,000 and counted.
- **Make and model names must match AutoScout24's**. If a make or model is not recognised the run warns in the log and in the summary and returns the whole make (or, for an unknown make, the page is reported as not found). Pasting the browser URL into `startUrls` always works.
- **Sponsored listings** can repeat across pages; duplicates are removed by listing `id` and not charged.
- **Phone numbers and names are collected for dealers only.** Private sellers are returned without name, contact or phone.
- **Prices are in EUR** on all eight markets. Private-seller prices on some sites are shown without VAT details; `isVatDeductible` tells you whether VAT is itemised.
- **Details cost time, not money**: each offer page is about 0.5 MB and one request. A local test opened 8 offer pages in 4.5 seconds; large details runs have not been timed, so allow several minutes per 1,000 listings.
- Site counts (`siteTotal`) are AutoScout24's estimates and can differ from the number of unique listings by a few percent.

Need a custom scraper or a ready dataset? Hire me on Fiverr: https://www.fiverr.com/rel8ble

# Actor input Schema

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

Car make as AutoScout24 writes it: "Volkswagen", "BMW", "Mercedes-Benz", "Audi", "Land Rover", "Citroen", "Skoda". Leave empty to search every make (then give at least one filter below).

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

Optional. Model as the English site (autoscout24.com) writes it: "Golf", "A4", "3 Series", "C 220", "X3", "Model 3", "Fiesta". Model lines like "3 Series" or "C-Class" work too. If AutoScout24 does not recognise the model, the run warns and returns the whole make. Needs a make.

## `searches` (type: `array`):

Optional. Extra searches, one per line, written as "Make Model" or "Make | Model": "BMW X3", "Audi | A6", "Tesla Model 3", "Porsche" (make only). All lines use the same countries and filters as the fields below. Typical: 1-50 lines.

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

Optional. AutoScout24 listing-search URLs copied from any country site, e.g. "https://www.autoscout24.de/lst/audi/a4?atype=C\&cy=D\&fregfrom=2019\&priceto=30000", or single offer pages (".../angebote/..." / ".../offers/..."). A search URL is used with its own filters exactly as copied (the filter fields below are NOT applied to URLs). An offer URL gives one full row (details included).

## `countries` (type: `array`):

Which AutoScout24 markets to search: DE Germany (default, the biggest), AT Austria, BE Belgium, ES Spain, FR France, IT Italy, LU Luxembourg, NL Netherlands. Several = one combined search. Prices are in EUR everywhere.

## `vehicleType` (type: `string`):

"car" (default) or "motorbike" (AutoScout24's motorbike listings: make, model, price, mileage, first registration, power).

## `offerTypes` (type: `array`):

Optional. Any of "new", "used", "pre-registered", "demonstration", "employee-car", "classic". Empty = new and used (AutoScout24's default).

## `priceFrom` (type: `string`):

Optional. Lowest price in EUR, e.g. "5000".

## `priceTo` (type: `string`):

Optional. Highest price in EUR, e.g. "30000".

## `yearFrom` (type: `string`):

Optional. Earliest first-registration year, e.g. "2018".

## `yearTo` (type: `string`):

Optional. Latest first-registration year, e.g. "2022".

## `mileageFrom` (type: `string`):

Optional. Minimum mileage in kilometres.

## `mileageTo` (type: `string`):

Optional. Maximum mileage in kilometres, e.g. "100000".

## `fuels` (type: `array`):

Optional. Any of "petrol", "diesel", "electric", "hybrid-petrol", "hybrid-diesel", "lpg", "cng", "hydrogen", "ethanol", "other". Empty = all fuels.

## `gearboxes` (type: `array`):

Optional. Any of "automatic", "manual", "semi-automatic". Empty = all.

## `bodyTypes` (type: `array`):

Optional (cars). Any of "compact", "convertible", "coupe", "suv", "station-wagon", "sedan", "van", "transporter", "other". Empty = all.

## `sellerType` (type: `string`):

"any" (default), "dealer" (dealers only, with company name, rating and phone) or "private" (private sellers only; no names or phone numbers are collected for private sellers).

## `powerFrom` (type: `string`):

Optional. Minimum engine power in kW (1 kW = 1.36 hp), e.g. "100".

## `powerTo` (type: `string`):

Optional. Maximum engine power in kW.

## `onlineSinceDays` (type: `string`):

Optional. Only listings published in the last N days: 1 (today), 2, 3, 4, 5, 6, 7 or 14. Use 1 with a daily schedule to collect new listings only.

## `sort` (type: `string`):

Order of the results (= order of the rows): "relevance" (AutoScout24's best results), "price-asc", "price-desc", "mileage-asc", "mileage-desc", "year-desc", "year-asc", "power-desc", "power-asc", "newest" (newest listings first).

## `includeSponsored` (type: `boolean`):

Default true: sponsored / boosted listings are kept and flagged isSponsored. False = drop them.

## `includeDetails` (type: `boolean`):

Default false. True opens every listing's offer page (one extra request per listing, about 0.5 MB each) and adds: description, body type, doors, seats, colour, paint, upholstery, cylinders, drive train, emission class, consumption, CO2, previous owners, accident flag, service history, inspection, warranty, equipment list, market median price, VAT / net price, coordinates, listed-at time, all images. Prices are the same; it only takes longer.

## `deepSearch` (type: `boolean`):

AutoScout24 serves at most 200 pages (4,000 listings) for one search. Default true: a bigger search is split automatically into price bands (then registration years, then mileage bands) and merged without duplicates, so "all used Volkswagen Golf in Germany" (20,000+) comes back complete. False = stop at 4,000. URL searches are never split.

## `maxItemsPerSearch` (type: `integer`):

Stop each search (each make/model line or URL) after this many listings. 0 = no limit (everything AutoScout24 has). Default 1000; the form starts at 20 so a first try finishes in seconds.

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

Stop the whole run after this many listings. 0 = no limit. Default 5000 (= $1.45). The run also stops cleanly at the "Maximum cost per run" you set.

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

How many pages to fetch at once. Default 4; lower it to 2 if you see rate-limit warnings.

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

How often a failed page is retried on a new session before it is given up. Default 5.

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

Default: Apify Proxy (datacenter) for IP rotation. AutoScout24 serves datacenter IPs; residential proxies are not needed.

## Actor input object example

```json
{
  "make": "Volkswagen",
  "model": "Golf",
  "countries": [
    "DE"
  ],
  "vehicleType": "car",
  "sellerType": "any",
  "sort": "relevance",
  "includeSponsored": true,
  "includeDetails": false,
  "deepSearch": true,
  "maxItemsPerSearch": 20,
  "maxItems": 5000,
  "maxConcurrency": 4,
  "maxRequestRetries": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

All vehicle listings found: id, title, make, model, version, first registration, mileage, fuel, gearbox, power, price with AutoScout24's price rating, location, seller (type, dealer name, rating, phone), images and URL, plus the offer-page details when includeDetails is on.

## `summary` (type: `string`):

Per-search counts, the total AutoScout24 shows, pages and price-band slices read, warnings about unrecognised makes / models, stop reasons and anything that failed with a hint.

# 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": "Volkswagen",
    "model": "Golf",
    "maxItemsPerSearch": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rel8ble/autoscout24-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 = {
    "make": "Volkswagen",
    "model": "Golf",
    "maxItemsPerSearch": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("rel8ble/autoscout24-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 '{
  "make": "Volkswagen",
  "model": "Golf",
  "maxItemsPerSearch": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call rel8ble/autoscout24-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rel8ble/autoscout24-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/f27R6YAYp2KkiVBpr/builds/DjvI0wc6r6rFeMeGZ/openapi.json
