# Coches.net Used Car Scraper (`crawlerbros/coches-net-scraper`) Actor

Scrape used-car listings from coches.net, Spain's largest used-car marketplace. Search by make, model, price, year, mileage, fuel type, transmission, body type and province, or fetch specific listings by URL.

- **URL**: https://apify.com/crawlerbros/coches-net-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (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 $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

## Coches.net Used Car Scraper

Scrape **coches.net** — Spain's largest used-car marketplace. Search thousands of used-car listings by make, model, price range, registration year, mileage, power (hp), fuel type, transmission, body type, province and mainland-Spain-only, or fetch specific listings by URL. Get title, price, full spec, seller info, description and photos for every listing. HTTP-only, no login, no cookies, no residential proxy required.

### What this actor does

- **Two modes:** `search` (filtered search across the whole catalog) and `byUrls` (fetch specific listing pages you already have links for)
- **Rich filters:** make, model, price range, year range, mileage range, power (horsepower) range, fuel type, transmission, body type, province, mainland-Spain-only, seller type (dealer vs. private), keyword search
- **Full listing detail:** price, make/model/year/mileage, fuel type, transmission, body type, location, seller type and name, description, up to 30 photos
- **Sorting:** relevance or price
- **Empty fields are omitted** — a listing with no description simply has no `description` key, never `null`

### Output per listing

- `listingId` — coches.net's internal ad ID
- `title` — listing headline (make, model, trim)
- `price`, `financedPrice`, `currency` — asking price in EUR (and financed monthly-payment price if advertised)
- `make`, `model`, `year` — vehicle identity
- `mileageKm` — odometer reading in kilometers
- `fuelType` — Diesel / Gasoline / Electric / Hybrid / Plug-in hybrid / LPG / CNG / Other
- `transmission` — Manual / Automatic (only present when detail-page fetching is enabled)
- `bodyType` — Sedan / Coupe / Convertible / Estate / Minivan / SUV / Pick-up / Other
- `horsePowerHp` — engine power in hp, when advertised
- `environmentalLabel` — Spanish DGT eco-label (`0`, `ECO`, `B`, `C`)
- `color` — exterior color, when advertised (detail-page only)
- `doors` — number of doors, when advertised (detail-page only)
- `province`, `city`, `region` — listing location
- `sellerType` — `dealer` or `private`
- `sellerName`, `sellerRating`, `sellerReviewCount` — seller info, when available
- `description` — full free-text listing description (detail-page only)
- `hasWarranty`, `isCertified`, `isFinanced` — listing badges, when true
- `publicationDate` — when the listing was published/refreshed
- `photos[]`, `mainPhotoUrl` — up to 30 photo URLs
- `listingUrl` — canonical coches.net URL for the listing
- `recordType: "carListing"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | `search` or `byUrls` |
| `searchText` | string | – | Keyword search across listing titles (mode=search) |
| `makeIds` | array (select) | – | One or more car makes (mode=search); empty = all makes |
| `modelName` | string | – | Free-text substring match on model name (mode=search) |
| `minPrice` / `maxPrice` | int | – | Price range in EUR |
| `minYear` / `maxYear` | int | – | Registration year range |
| `minKm` / `maxKm` | int | – | Mileage range in km |
| `fuelType` | string (select) | any | Diesel / Gasoline / Electric / Hybrid / Plug-in hybrid / LPG / CNG / Other |
| `transmission` | string (select) | any | Automatic / Manual |
| `bodyType` | string (select) | any | Sedan / Coupe / Convertible / Estate / Minivan / SUV / Pick-up / Other |
| `minHp` / `maxHp` | int | – | Engine power range in horsepower (hp/CV) |
| `provinceId` | string (select) | all Spain | Filter to one Spanish province |
| `onlyPeninsula` | boolean | `false` | Exclude Balearic Islands and Canary Islands listings, keeping mainland Spain (+ Ceuta/Melilla) |
| `sellerType` | string (select) | `any` | `any` / `dealer` / `private` |
| `sortBy` | string (select) | `relevance` | `relevance` or `price` (highest first) |
| `fetchDetails` | boolean | `true` | Also visit each listing's page for description + transmission (slower) |
| `listingUrls` | array | – | Listing URLs to fetch directly (mode=byUrls) |
| `maxItems` | int | `10` | Hard cap on returned listings (1–2000) |

#### Example: search by make, price and year

```json
{
  "mode": "search",
  "makeIds": ["4"],
  "minPrice": 5000,
  "maxPrice": 20000,
  "minYear": 2018,
  "maxYear": 2023,
  "maxItems": 50
}
````

#### Example: keyword search with fuel/transmission/province filters

```json
{
  "mode": "search",
  "searchText": "audi a4",
  "fuelType": "1",
  "transmission": "2",
  "provinceId": "28",
  "maxItems": 30
}
```

#### Example: fast run without detail pages

```json
{
  "mode": "search",
  "makeIds": ["15"],
  "bodyType": "6",
  "sellerType": "dealer",
  "fetchDetails": false,
  "maxItems": 100
}
```

#### Example: power range and mainland Spain only

```json
{
  "mode": "search",
  "makeIds": ["1"],
  "minHp": 150,
  "maxHp": 300,
  "onlyPeninsula": true,
  "maxItems": 40
}
```

#### Example: fetch specific listings by URL

```json
{
  "mode": "byUrls",
  "listingUrls": [
    "https://www.coches.net/audi-a4-2-0-tdi-150cv-s-line-5p-diesel-2020-en-madrid-70123456-covo.aspx"
  ]
}
```

### Use cases

- **Price research** — track average asking prices for a make/model/year combo across Spain
- **Dealer monitoring** — see what dealers vs. private sellers list for a given segment
- **Regional market analysis** — compare listing volume and pricing province by province
- **Lead generation** — build a list of private-seller listings in a specific price band
- **Fleet remarketing** — benchmark used-vehicle pricing before setting resale prices

### Limitations

- coches.net applies its own traffic-shaping to individual listing pages that fluctuates over time. The actor always returns the full requested `maxItems` count with all search-result fields (title, price, make, model, year, mileage, fuel type, body type, location, seller, photos), but on a small fraction of runs a handful of listings may be missing the detail-page-only fields (`description`, `transmission`, `color`, `doors`) if that listing's page was temporarily unavailable during the run. Re-running later typically fills in any gaps.
- Coverage is `segunda-mano` (used cars) only — coches.net's primary catalog. New-car and Km0 (zero-km) listings are out of scope.

### FAQ

**Is this affiliated with coches.net?**
No. This is an independent, third-party actor that reads coches.net's public listing pages. It is not affiliated with or endorsed by coches.net.

**How fresh is the data?**
Every run fetches live listing pages at request time — there is no cache or delay beyond the run's own execution time.

**Why are some fields missing on some listings?**
coches.net sellers don't fill out every field (e.g. horsepower, color, doors). This actor never fabricates data — a field is only present if the listing actually advertises it.

**What's the difference between `transmission` and `bodyType`?**
`transmission` (Manual/Automatic) describes the gearbox; `bodyType` (Sedan, SUV, Estate, etc.) describes the vehicle's shape/category. Both are standard coches.net classifications.

**Why does `transmission` and `description` only appear when `fetchDetails` is true?**
Those two fields are only shown on a listing's individual detail page, not in search results. Enabling `fetchDetails` (on by default) makes one extra request per listing to fetch them — disable it if you only need the search-result fields and want a faster run. Large `maxItems` values with `fetchDetails` enabled take proportionally longer (roughly a few seconds per listing) since each detail page is fetched politely, one at a time.

**Does this cover new cars or Km0 (zero-km) vehicles?**
No — this actor covers `segunda-mano` (used/second-hand) listings only, which is coches.net's primary and largest catalog.

**Can I search by an exact model, not just make?**
Use `modelName` for a case-insensitive substring match (e.g. `"A4"`, `"Golf"`), or use `searchText` for a broader keyword search across the listing title.

# Actor input Schema

## `mode` (type: `string`):

What to fetch. `search` runs a filtered search. `byUrls` fetches specific listing URLs directly.

## `searchText` (type: `string`):

Free-text keyword search across listing titles (e.g. `audi a4 quattro`).

## `makeIds` (type: `array`):

One or more car makes/brands to filter by. Leave empty for all makes.

## `modelName` (type: `string`):

Free-text filter on the model name (e.g. `A4`, `Golf`, `Corolla`). Case-insensitive substring match, applied client-side.

## `minPrice` (type: `integer`):

Minimum listing price in euros.

## `maxPrice` (type: `integer`):

Maximum listing price in euros.

## `minYear` (type: `integer`):

Earliest first-registration year.

## `maxYear` (type: `integer`):

Latest first-registration year.

## `minKm` (type: `integer`):

Minimum odometer reading in kilometers.

## `maxKm` (type: `integer`):

Maximum odometer reading in kilometers.

## `fuelType` (type: `string`):

Filter to a single fuel type.

## `transmission` (type: `string`):

Filter to a single transmission type.

## `minHp` (type: `integer`):

Minimum engine power in horsepower (CV).

## `maxHp` (type: `integer`):

Maximum engine power in horsepower (CV).

## `onlyPeninsula` (type: `boolean`):

Exclude listings located in the Balearic Islands and Canary Islands, keeping only mainland-Spain (peninsula) and Ceuta/Melilla listings.

## `bodyType` (type: `string`):

Filter to a single body type.

## `provinceId` (type: `string`):

Filter listings to a single Spanish province.

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

Filter by seller type (applied client-side).

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

How to sort search results.

## `fetchDetails` (type: `boolean`):

Visit each listing's detail page to fetch the description and transmission type. Slower (one extra request per listing) but more complete. Disable for faster, lighter runs.

## `listingUrls` (type: `array`):

Direct coches.net listing URLs to fetch (e.g. `https://www.coches.net/audi-a4-...-70880377-covo.aspx`).

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

Hard cap on the number of listings returned.

## Actor input object example

```json
{
  "mode": "search",
  "searchText": "audi a4",
  "makeIds": [
    "4"
  ],
  "fuelType": "",
  "transmission": "",
  "onlyPeninsula": false,
  "bodyType": "",
  "provinceId": "",
  "sellerType": "any",
  "sortBy": "relevance",
  "fetchDetails": true,
  "listingUrls": [],
  "maxItems": 10
}
```

# Actor output Schema

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

Dataset containing all scraped coches.net used-car listings.

# 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 = {
    "mode": "search",
    "searchText": "audi a4",
    "makeIds": [
        "4"
    ],
    "fuelType": "",
    "transmission": "",
    "onlyPeninsula": false,
    "bodyType": "",
    "provinceId": "",
    "sellerType": "any",
    "sortBy": "relevance",
    "fetchDetails": true,
    "listingUrls": [],
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/coches-net-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 = {
    "mode": "search",
    "searchText": "audi a4",
    "makeIds": ["4"],
    "fuelType": "",
    "transmission": "",
    "onlyPeninsula": False,
    "bodyType": "",
    "provinceId": "",
    "sellerType": "any",
    "sortBy": "relevance",
    "fetchDetails": True,
    "listingUrls": [],
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/coches-net-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 '{
  "mode": "search",
  "searchText": "audi a4",
  "makeIds": [
    "4"
  ],
  "fuelType": "",
  "transmission": "",
  "onlyPeninsula": false,
  "bodyType": "",
  "provinceId": "",
  "sellerType": "any",
  "sortBy": "relevance",
  "fetchDetails": true,
  "listingUrls": [],
  "maxItems": 10
}' |
apify call crawlerbros/coches-net-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Coches.net Used Car Scraper",
        "description": "Scrape used-car listings from coches.net, Spain's largest used-car marketplace. Search by make, model, price, year, mileage, fuel type, transmission, body type and province, or fetch specific listings by URL.",
        "version": "1.0",
        "x-build-id": "4bi75XArwGKjnkzed"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~coches-net-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-coches-net-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/crawlerbros~coches-net-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-coches-net-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/crawlerbros~coches-net-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-coches-net-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "byUrls"
                        ],
                        "type": "string",
                        "description": "What to fetch. `search` runs a filtered search. `byUrls` fetches specific listing URLs directly.",
                        "default": "search"
                    },
                    "searchText": {
                        "title": "Keyword search (mode=search)",
                        "type": "string",
                        "description": "Free-text keyword search across listing titles (e.g. `audi a4 quattro`)."
                    },
                    "makeIds": {
                        "title": "Make (mode=search)",
                        "type": "array",
                        "description": "One or more car makes/brands to filter by. Leave empty for all makes.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1330",
                                "1408",
                                "158",
                                "1",
                                "1377",
                                "238",
                                "1326",
                                "2",
                                "3",
                                "4",
                                "111",
                                "1321",
                                "1441",
                                "6",
                                "241",
                                "1437",
                                "7",
                                "1345",
                                "1352",
                                "8",
                                "1415",
                                "1444",
                                "9",
                                "10",
                                "11",
                                "1327",
                                "1400",
                                "1011",
                                "12",
                                "13",
                                "145",
                                "1447",
                                "1351",
                                "173",
                                "1431",
                                "1401",
                                "1358",
                                "210",
                                "1410",
                                "146",
                                "14",
                                "1383",
                                "15",
                                "1430",
                                "16",
                                "1384",
                                "1451",
                                "69",
                                "1423",
                                "234",
                                "18",
                                "1438",
                                "1409",
                                "1025",
                                "185",
                                "19",
                                "126",
                                "103",
                                "1434",
                                "20",
                                "21",
                                "1427",
                                "22",
                                "1349",
                                "153",
                                "243",
                                "23",
                                "24",
                                "128",
                                "1432",
                                "1450",
                                "25",
                                "163",
                                "1439",
                                "147",
                                "1404",
                                "1428",
                                "246",
                                "26",
                                "1403",
                                "1323",
                                "27",
                                "1347",
                                "28",
                                "29",
                                "1433",
                                "222",
                                "30",
                                "1440",
                                "149",
                                "1419",
                                "1417",
                                "31",
                                "1420",
                                "32",
                                "33",
                                "87",
                                "1402",
                                "112",
                                "34",
                                "1348",
                                "1372",
                                "35",
                                "1329",
                                "36",
                                "37",
                                "38",
                                "1328",
                                "39",
                                "1422",
                                "1449",
                                "40",
                                "1425",
                                "41",
                                "1446",
                                "42",
                                "43",
                                "44",
                                "1411",
                                "156",
                                "45",
                                "1354",
                                "1445",
                                "46",
                                "1324",
                                "1325",
                                "47",
                                "48",
                                "1426",
                                "186",
                                "1435",
                                "1421",
                                "1448",
                                "1418"
                            ],
                            "enumTitles": [
                                "Abarth",
                                "Aiways",
                                "Aixam",
                                "Alfa Romeo",
                                "Alpine",
                                "Aro",
                                "Asia",
                                "Asia Motors",
                                "Aston Martin",
                                "Audi",
                                "Austin",
                                "Auverland",
                                "Baic",
                                "Bentley",
                                "Bertone",
                                "Bestune",
                                "Bmw",
                                "Bugatti",
                                "Byd",
                                "Cadillac",
                                "Cenntro",
                                "Changan",
                                "Chevrolet",
                                "Chrysler",
                                "Citroen",
                                "Corvette",
                                "Cupra",
                                "Dacia",
                                "Daewoo",
                                "Daihatsu",
                                "Daimler",
                                "Denza",
                                "Dfsk",
                                "Dodge",
                                "Dongfeng",
                                "Dr Automobiles",
                                "Ds",
                                "Ebro",
                                "Evo",
                                "Ferrari",
                                "Fiat",
                                "Fisker",
                                "Ford",
                                "Foton",
                                "Galloper",
                                "Geely",
                                "Gwm",
                                "Honda",
                                "Hongqi",
                                "Hummer",
                                "Hyundai",
                                "Ich-X",
                                "Ineos",
                                "Infiniti",
                                "Innocenti",
                                "Isuzu",
                                "Iveco",
                                "Iveco-Pegaso",
                                "Jaecoo",
                                "Jaguar",
                                "Jeep",
                                "Kgm",
                                "Kia",
                                "Ktm",
                                "Lada",
                                "Lamborghini",
                                "Lancia",
                                "Land-Rover",
                                "Ldv",
                                "Leapmotor",
                                "Lepas",
                                "Lexus",
                                "Ligier",
                                "Livan",
                                "Lotus",
                                "Lynk & Co",
                                "M-Hero",
                                "Mahindra",
                                "Maserati",
                                "Maxus",
                                "Maybach",
                                "Mazda",
                                "Mclaren",
                                "Mercedes-Benz",
                                "Mg",
                                "Micro",
                                "Mini",
                                "Mitsubishi",
                                "Mobilize",
                                "Morgan",
                                "Mw Motors",
                                "Nextem",
                                "Nissan",
                                "Omoda",
                                "Opel",
                                "Peugeot",
                                "Piaggio",
                                "Polestar",
                                "Pontiac",
                                "Porsche",
                                "Qoros",
                                "Ram",
                                "Renault",
                                "Renault V.I.",
                                "Rolls-Royce",
                                "Rover",
                                "Saab",
                                "Santana",
                                "Seat",
                                "Seres",
                                "Silence",
                                "Skoda",
                                "Skywell",
                                "Smart",
                                "Sportequipe",
                                "Ssangyong",
                                "Subaru",
                                "Suzuki",
                                "Swm",
                                "Talbot",
                                "Tata",
                                "Tesla",
                                "Tiger",
                                "Toyota",
                                "Umm",
                                "Vaz",
                                "Volkswagen",
                                "Volvo",
                                "Voyah",
                                "Wartburg",
                                "Xpeng",
                                "Yudo",
                                "Zeekr",
                                "Zhidou"
                            ]
                        },
                        "default": []
                    },
                    "modelName": {
                        "title": "Model name contains (mode=search)",
                        "type": "string",
                        "description": "Free-text filter on the model name (e.g. `A4`, `Golf`, `Corolla`). Case-insensitive substring match, applied client-side."
                    },
                    "minPrice": {
                        "title": "Min price (EUR)",
                        "minimum": 0,
                        "maximum": 2000000,
                        "type": "integer",
                        "description": "Minimum listing price in euros."
                    },
                    "maxPrice": {
                        "title": "Max price (EUR)",
                        "minimum": 0,
                        "maximum": 2000000,
                        "type": "integer",
                        "description": "Maximum listing price in euros."
                    },
                    "minYear": {
                        "title": "Min registration year",
                        "minimum": 1950,
                        "maximum": 2026,
                        "type": "integer",
                        "description": "Earliest first-registration year."
                    },
                    "maxYear": {
                        "title": "Max registration year",
                        "minimum": 1950,
                        "maximum": 2026,
                        "type": "integer",
                        "description": "Latest first-registration year."
                    },
                    "minKm": {
                        "title": "Min mileage (km)",
                        "minimum": 0,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Minimum odometer reading in kilometers."
                    },
                    "maxKm": {
                        "title": "Max mileage (km)",
                        "minimum": 0,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Maximum odometer reading in kilometers."
                    },
                    "fuelType": {
                        "title": "Fuel type",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6",
                            "7",
                            "8"
                        ],
                        "type": "string",
                        "description": "Filter to a single fuel type.",
                        "default": ""
                    },
                    "transmission": {
                        "title": "Transmission",
                        "enum": [
                            "",
                            "1",
                            "2"
                        ],
                        "type": "string",
                        "description": "Filter to a single transmission type.",
                        "default": ""
                    },
                    "minHp": {
                        "title": "Min power (hp)",
                        "minimum": 0,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Minimum engine power in horsepower (CV)."
                    },
                    "maxHp": {
                        "title": "Max power (hp)",
                        "minimum": 0,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Maximum engine power in horsepower (CV)."
                    },
                    "onlyPeninsula": {
                        "title": "Mainland Spain only",
                        "type": "boolean",
                        "description": "Exclude listings located in the Balearic Islands and Canary Islands, keeping only mainland-Spain (peninsula) and Ceuta/Melilla listings.",
                        "default": false
                    },
                    "bodyType": {
                        "title": "Body type",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6",
                            "7",
                            "8"
                        ],
                        "type": "string",
                        "description": "Filter to a single body type.",
                        "default": ""
                    },
                    "provinceId": {
                        "title": "Province",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6",
                            "7",
                            "8",
                            "9",
                            "10",
                            "11",
                            "12",
                            "13",
                            "14",
                            "15",
                            "16",
                            "17",
                            "18",
                            "19",
                            "20",
                            "21",
                            "22",
                            "23",
                            "24",
                            "25",
                            "26",
                            "27",
                            "28",
                            "29",
                            "30",
                            "31",
                            "32",
                            "33",
                            "34",
                            "35",
                            "36",
                            "37",
                            "38",
                            "39",
                            "40",
                            "41",
                            "42",
                            "43",
                            "44",
                            "45",
                            "46",
                            "47",
                            "48",
                            "49",
                            "50",
                            "51",
                            "52"
                        ],
                        "type": "string",
                        "description": "Filter listings to a single Spanish province.",
                        "default": ""
                    },
                    "sellerType": {
                        "title": "Seller type",
                        "enum": [
                            "any",
                            "dealer",
                            "private"
                        ],
                        "type": "string",
                        "description": "Filter by seller type (applied client-side).",
                        "default": "any"
                    },
                    "sortBy": {
                        "title": "Sort order",
                        "enum": [
                            "relevance",
                            "price"
                        ],
                        "type": "string",
                        "description": "How to sort search results.",
                        "default": "relevance"
                    },
                    "fetchDetails": {
                        "title": "Fetch full details (description, transmission)",
                        "type": "boolean",
                        "description": "Visit each listing's detail page to fetch the description and transmission type. Slower (one extra request per listing) but more complete. Disable for faster, lighter runs.",
                        "default": true
                    },
                    "listingUrls": {
                        "title": "Listing URLs (mode=byUrls)",
                        "type": "array",
                        "description": "Direct coches.net listing URLs to fetch (e.g. `https://www.coches.net/audi-a4-...-70880377-covo.aspx`).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 2000,
                        "type": "integer",
                        "description": "Hard cap on the number of listings returned.",
                        "default": 10
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
