# Wallapop Cars Scraper — Spain (`scrappinglatam/wallapop-cars-scraper`) Actor

Scrape car listings from Wallapop Spain. Filter by make, model, price range, year, mileage and engine type. Outputs structured data ready for spreadsheets or databases.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## Wallapop Cars Scraper — Spain

Collect second-hand car listings from Wallapop, Spain's largest peer-to-peer marketplace, and turn them into a clean dataset ready for pricing analysis or market research.

### What you can do with it

- Benchmark private-seller prices for any make and model across Spain
- Compare asking prices between cities or regions to spot geographic differences
- Track how private market prices differ from dealer prices for the same vehicles
- Monitor new listings daily to catch underpriced cars or fast-moving inventory
- Build datasets for used car valuation, insurance pricing, or consumer research

### Filters

| Filter | What it does |
|---|---|
| Keywords | Search for a specific car (e.g. "subaru outback", "volkswagen golf") |
| Location | Limit results to a specific city or search nationwide across Spain |
| Min Year / Max Year | Only return listings within a year range |
| Min Price / Max Price | Only return listings within a price range (EUR) |
| Engine | Filter by fuel type: petrol, diesel, electric, hybrid, or LPG |
| Gearbox | Filter by transmission type: manual, automatic, or semi-automatic |
| Seller Type | Choose between private sellers, dealers, or both |
| Order By | Sort results by relevance, newest, price low to high, or price high to low |
| Max Items | Set a cap on the total number of listings to collect |

### What you get

| Field | What it contains |
|---|---|
| id | Unique listing identifier |
| title | Full listing headline |
| brand | Car brand |
| model | Car model |
| version | Trim or version label |
| year | Year of manufacture |
| km | Mileage in kilometres |
| price | Asking price |
| currency | Currency of the price (EUR) |
| engine | Fuel type |
| gearbox | Transmission type |
| body_type | Body style (e.g. saloon, estate, SUV) |
| seller_type | Whether the seller is private or a dealer |
| region | Region where the car is listed |
| city | City where the car is listed |
| country | Country code (ES) |
| image_url | Link to the main listing photo |
| url | Direct link to the listing on Wallapop |
| scraped_at | Date and time the data was collected |

### Pricing

**$4.00 per 1,000 results. First 500 results free.**

### Legal

This scraper collects publicly available listing data only. Private seller names are not collected. Use responsibly and for market research purposes. Not affiliated with Wallapop.

# Actor input Schema

## `keywords` (type: `string`):

Free-text search (e.g. 'subaru outback', 'seat leon'). Leave empty to search all cars.
## `location` (type: `string`):

Center of the search radius.
## `minYear` (type: `integer`):

Only return listings from this year onwards. Use 0 for no lower bound.
## `maxYear` (type: `integer`):

Only return listings up to this year. Use 0 for no upper bound.
## `minPrice` (type: `integer`):

Only return listings at or above this price in euros. Use 0 for no lower bound.
## `maxPrice` (type: `integer`):

Only return listings at or below this price in euros. Use 0 for no upper bound.
## `engine` (type: `string`):

Filter by fuel type. Leave blank for all.
## `gearbox` (type: `string`):

Filter by gearbox type. Leave blank for all.
## `sellerType` (type: `string`):

Filter by seller type: private individuals or professional dealers. Leave blank for both.
## `orderBy` (type: `string`):

Sort order for results.
## `maxItems` (type: `integer`):

Maximum number of listings to return.
## `proxyConfiguration` (type: `object`):

Proxy settings. A residential proxy is recommended.

## Actor input object example

```json
{
  "keywords": "",
  "location": "espana",
  "minYear": 0,
  "maxYear": 0,
  "minPrice": 0,
  "maxPrice": 0,
  "engine": "",
  "gearbox": "",
  "sellerType": "",
  "orderBy": "most_relevance",
  "maxItems": 500,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}
````

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "ES"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrappinglatam/wallapop-cars-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "ES",
    } }

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

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

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

```

## CLI example

```bash
echo '{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "ES"
  }
}' |
apify call scrappinglatam/wallapop-cars-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wallapop Cars Scraper — Spain",
        "description": "Scrape car listings from Wallapop Spain. Filter by make, model, price range, year, mileage and engine type. Outputs structured data ready for spreadsheets or databases.",
        "version": "0.1",
        "x-build-id": "sEeNf8YgQt14EezMa"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrappinglatam~wallapop-cars-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrappinglatam-wallapop-cars-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/scrappinglatam~wallapop-cars-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrappinglatam-wallapop-cars-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/scrappinglatam~wallapop-cars-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrappinglatam-wallapop-cars-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",
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "string",
                        "description": "Free-text search (e.g. 'subaru outback', 'seat leon'). Leave empty to search all cars.",
                        "default": ""
                    },
                    "location": {
                        "title": "Location",
                        "enum": [
                            "espana",
                            "madrid",
                            "barcelona",
                            "valencia",
                            "sevilla",
                            "bilbao",
                            "malaga",
                            "zaragoza"
                        ],
                        "type": "string",
                        "description": "Center of the search radius.",
                        "default": "espana"
                    },
                    "minYear": {
                        "title": "Minimum year",
                        "minimum": 1900,
                        "maximum": 2030,
                        "type": "integer",
                        "description": "Only return listings from this year onwards. Use 0 for no lower bound.",
                        "default": 0
                    },
                    "maxYear": {
                        "title": "Maximum year",
                        "minimum": 1900,
                        "maximum": 2030,
                        "type": "integer",
                        "description": "Only return listings up to this year. Use 0 for no upper bound.",
                        "default": 0
                    },
                    "minPrice": {
                        "title": "Minimum price (EUR)",
                        "type": "integer",
                        "description": "Only return listings at or above this price in euros. Use 0 for no lower bound.",
                        "default": 0
                    },
                    "maxPrice": {
                        "title": "Maximum price (EUR)",
                        "type": "integer",
                        "description": "Only return listings at or below this price in euros. Use 0 for no upper bound.",
                        "default": 0
                    },
                    "engine": {
                        "title": "Fuel",
                        "enum": [
                            "",
                            "gasoline",
                            "gasoil",
                            "electric-hybrid",
                            "hybride",
                            "hybride_plugin",
                            "lpg"
                        ],
                        "type": "string",
                        "description": "Filter by fuel type. Leave blank for all.",
                        "default": ""
                    },
                    "gearbox": {
                        "title": "Gearbox",
                        "enum": [
                            "",
                            "manual",
                            "automatic",
                            "semiautomatic"
                        ],
                        "type": "string",
                        "description": "Filter by gearbox type. Leave blank for all.",
                        "default": ""
                    },
                    "sellerType": {
                        "title": "Seller type",
                        "enum": [
                            "",
                            "private",
                            "professional"
                        ],
                        "type": "string",
                        "description": "Filter by seller type: private individuals or professional dealers. Leave blank for both.",
                        "default": ""
                    },
                    "orderBy": {
                        "title": "Sort by",
                        "enum": [
                            "most_relevance",
                            "newest",
                            "price_low_to_high",
                            "price_high_to_low",
                            "closest"
                        ],
                        "type": "string",
                        "description": "Sort order for results.",
                        "default": "most_relevance"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of listings to return.",
                        "default": 500
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings. A residential proxy is recommended."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
