# Gaspedaal.nl Car Listings Scraper (`unfenced-group/gaspedaal-nl-scraper`) Actor

Scrape 300,000+ car listings from Gaspedaal.nl — the Netherlands'  largest car comparison platform. Extracts price, mileage, brand, model, fuel type and dealer info. No browser required.

- **URL**: https://apify.com/unfenced-group/gaspedaal-nl-scraper.md
- **Developed by:** [Unfenced Group](https://apify.com/unfenced-group) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 8 total users, 3 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

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

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

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

# README

## Gaspedaal.nl Car Listings Scraper

![Gaspedaal.nl Car Listings Scraper](https://api.apify.com/v2/key-value-stores/lJlifu6C8YQfZMPKE/records/gaspedaal-nl-scraper)

Extract structured car listing data from [Gaspedaal.nl](https://www.gaspedaal.nl) — the Netherlands' largest car comparison platform, aggregating 300,000+ vehicles from 40+ automotive websites and 10,000+ dealerships.

### What This Scraper Does

Gaspedaal.nl lets buyers compare cars across all major Dutch car platforms in one place. This scraper automates that data extraction, giving you structured, analysis-ready datasets covering the entire Dutch used and new car market.

**Ideal for:**

- Automotive market research and price analysis
- Dealer inventory monitoring and price benchmarking
- Investment research in the Dutch automotive sector
- Lead generation for car-related services

***

### Features

- **300,000+ listings** — complete Dutch car market coverage
- **100 results per page** extracted efficiently — no browser required
- **Keyword search** — search by car type (suv, cabrio, elektrisch, etc.)
- **Brand & model filtering** — e.g. volkswagen/golf, bmw/3-serie
- **Custom URL support** — use any gaspedaal.nl search or category URL
- **Automatic pagination** — collects all pages up to your `maxResults` limit
- **Ethical rate limiting** — configurable delay with Gaussian jitter

***

### Why this scraper?

#### 🎯 Purpose-built

A dedicated scraper for this car marketplace, tuned to its makes, models and price formats.

#### 📦 Clean, consistent records

Every record follows the same structure, ready for export to JSON, CSV or Excel.

***

### Input Parameters

| Parameter | Type | Description | Default |
|---|---|---|---|
| `startUrls` | Array | Gaspedaal.nl search or category URLs to scrape | `[]` |
| `keyword` | String | Keyword search (e.g. `suv`, `elektrisch`, `cabrio`) | `""` |
| `brand` | String | Car brand/make (e.g. `volkswagen`, `toyota`, `bmw`) | `""` |
| `model` | String | Car model (e.g. `golf`, `rav4`). Requires Brand. | `""` |
| `maxResults` | Integer | Maximum listings to collect. `0` = unlimited | `0` |
| `requestDelayMs` | Integer | Minimum delay between requests (ms) | `1000` |
| `respectRobotsTxt` | Boolean | Honour robots.txt crawl-delay | `true` |
| `proxyConfiguration` | Object | Proxy settings (optional — built-in bypass active by default) | `{}` |

**URL Priority:** `startUrls` → brand/model → keyword → all listings.

***

### Output Schema

#### Always Present

| Field | Type | Description |
|---|---|---|
| `id` | String | Gaspedaal internal vehicle ID |
| `url` | String | Canonical listing reference URL |
| `title` | String | Full listing title |
| `brand` | String | Car manufacturer (e.g. "Toyota") |
| `model` | String | Model name (e.g. "RAV4") |
| `year` | Integer | Production year |
| `bodyType` | String | Body style (e.g. "SUV / Terreinwagen") |
| `fuelType` | String | Fuel type (e.g. "Hybride", "Elektrisch") |
| `mileageKm` | Integer|null | Odometer reading in kilometres |
| `transmissionType` | String|null | Gearbox type |
| `vehicleConfiguration` | String|null | Full spec string (cc, kW, transmission, doors, colour) |
| `color` | String|null | Exterior colour |
| `numberOfDoors` | Integer|null | Number of doors |
| `priceEur` | Number|null | Asking price in EUR |
| `condition` | String|null | `"used"` or `"new"` |
| `availability` | String|null | `"in_stock"`, `"out_of_stock"`, or `"pre_order"` |
| `sellerName` | String|null | Dealer or seller name |
| `sellerUrl` | String|null | Link to seller page on gaspedaal.nl |
| `sellerCity` | String|null | Seller city |
| `sellerRegion` | String|null | Seller province/region |
| `imageUrl` | String|null | Primary listing image URL |
| `contentHash` | String | MD5 fingerprint for deduplication |
| `source` | String | Always `"gaspedaal.nl"` |
| `scrapedAt` | String | ISO 8601 timestamp |

#### Example Output

```json
{
  "id": "126973166",
  "url": "https://www.gaspedaal.nl/zoeken#126973166",
  "title": "Toyota RAV4 - 2.5 Hybrid AWD Executive Schuifdak | Leder | Rondomzicht Cam",
  "brand": "Toyota",
  "model": "RAV4",
  "year": 2018,
  "bodyType": "SUV / Terreinwagen",
  "fuelType": "Hybride",
  "mileageKm": 98329,
  "transmissionType": "Automaat",
  "vehicleConfiguration": "Hybride, 2500cc, 145kW, Automaat, SUV / Terreinwagen, Zwart, 5-deuren",
  "color": "Zwart",
  "numberOfDoors": 5,
  "priceEur": 24950,
  "priceCurrency": "EUR",
  "condition": "used",
  "availability": "in_stock",
  "sellerName": "Autobedrijf Limoversluis",
  "sellerUrl": "https://www.gaspedaal.nl/autobedrijven/autobedrijf-limoversluis/aanbod",
  "sellerCity": "Zoetermeer",
  "sellerRegion": "Zuid-Holland",
  "imageUrl": "https://cdn.gaspedaal.nl/images/large/f11d2011...jpg",
  "sourceListingUrl": "https://www.autotrack.nl/detail/toyota/rav4/a7f3c2b1",

  "contentHash": "a3f9b21c44e8d091",
  "source": "gaspedaal.nl",
  "scrapedAt": "2026-05-01T09:00:00.000Z"
}
```

***

### Examples

#### 1. Scrape all SUVs

```json
{ "keyword": "suv", "maxResults": 500 }
```

#### 2. Volkswagen Golf — full inventory

```json
{ "brand": "volkswagen", "model": "golf" }
```

#### 3. Electric vehicles only

```json
{
  "startUrls": [{ "url": "https://www.gaspedaal.nl/elektrisch" }]
}
```

#### 4. Daily feed — 100 newest listings

```json
{
  "startUrls": [{ "url": "https://www.gaspedaal.nl/zoeken?srt=df-a" }],
  "maxResults": 100
}
```

#### 5. Multiple brand/model searches

```json
{
  "startUrls": [
    { "url": "https://www.gaspedaal.nl/bmw/3-serie" },
    { "url": "https://www.gaspedaal.nl/audi/a4" }
  ]
}
```

***

### Pricing

**$1.50 per 1,000 results** — pay per result, no monthly fee.

| Volume | Cost |
|---|---|
| 1,000 listings | ~$1.50 |
| 10,000 listings | ~$15.00 |
| 100,000 listings | ~$150.00 |

***

### Performance

- **100 listings per page** — efficient per-request yield
- Memory: 512 MB (no browser)
- Typical full run (10,000 listings): ~5 minutes at default rate limiting

***

### Notes

- Gaspedaal.nl is a **meta-search engine** aggregating 40+ partner sites. The same physical car may appear multiple times with different source sites; use `id` or `contentHash` for deduplication.
- Since November 2025, Gaspedaal.nl is part of the **AutoScout24 Group**.

### Related scrapers

Other scrapers in our **Automotive Classifieds** collection:

- [AutoScout24 Scraper](https://apify.com/unfenced-group/autoscout24-scraper)
- [Autovit.ro Car Scraper](https://apify.com/unfenced-group/autovit-scraper)
- [Otomoto.pl Car Scraper](https://apify.com/unfenced-group/otomoto-scraper)
- [Carsales.com.au Scraper](https://apify.com/unfenced-group/carsales-scraper)
- [Marktplaats.nl Auto Scraper](https://apify.com/unfenced-group/marktplaats-auto-scraper)

***

### Run it on a schedule

This actor is built for repeat use. Set it to run daily, weekly, or hourly, and the data keeps flowing without you touching it.

- **Schedule runs** — open the actor, go to Schedules, and pick a cadence. Each run only charges you for the results it returns.
- **Connect it to your stack** — push results straight to Google Sheets, Slack, a webhook, or your database using Apify Integrations. No glue code needed.
- **Pull results via API** — every run writes a clean dataset you can fetch with one API call, ready for whatever you build on top of it.

Set it once and it runs on its own.

***

### Known limitations

- Some fields (mileage, options, damage history) are only returned when the seller publishes them — expect `null` on a share of records.
- Prices change and cars sell quickly; records reflect the moment of scraping.
- Very large result sets are bounded by the source's own paging limits.

***

### Technical details

- **Coverage:** everything the public search exposes, filterable via the input parameters above
- **Retry:** automatic retry on network errors with exponential backoff
- **Formats:** results export to JSON, CSV and Excel from the dataset

***

### Need a custom scraper?

**[Unfenced Group](https://www.unfencedgroup.nl)** builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

**Get in touch:** [www.unfencedgroup.nl](https://www.unfencedgroup.nl)

# Actor input Schema

## `keyword` (type: `string`):

Search keyword (e.g. 'suv', 'cabrio', 'elektrisch'). Used when no Start URLs are provided.

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

Car brand/make to filter by (e.g. 'volkswagen', 'bmw', 'toyota'). Can be combined with Model.

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

Car model to filter by (e.g. 'golf', '3-serie', 'rav4'). Requires Brand to be set.

## `requestDelayMs` (type: `integer`):

Minimum delay between page requests in milliseconds. Actual delay is randomised around this value.

## `respectRobotsTxt` (type: `boolean`):

Honour robots.txt crawl-delay directives. Recommended: true.

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

Proxy settings. Leave empty to use the built-in bypass (free). Enable DATACENTER proxy as fallback if the site blocks your run.

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

Optional list of direct URLs to scrape specific pages. When provided, the search filters above are ignored.

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

Maximum number of listings to collect. Set to 0 for unlimited.

## Actor input object example

```json
{
  "keyword": "developer",
  "brand": "",
  "model": "",
  "requestDelayMs": 1000,
  "respectRobotsTxt": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "startUrls": [],
  "maxItems": 100
}
```

# Actor output Schema

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

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keyword": "developer",
    "proxyConfiguration": {
        "useApifyProxy": false
    },
    "startUrls": [],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("unfenced-group/gaspedaal-nl-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 = {
    "keyword": "developer",
    "proxyConfiguration": { "useApifyProxy": False },
    "startUrls": [],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("unfenced-group/gaspedaal-nl-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 '{
  "keyword": "developer",
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "startUrls": [],
  "maxItems": 100
}' |
apify call unfenced-group/gaspedaal-nl-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/aklAREWBimcQyBWeT/builds/mE2YcqyC2ScwPYzTL/openapi.json
