# AutoTrader.co.uk Scraper (`parsebird/autotrader-scraper`) Actor

Extract vehicle listings from AutoTrader.co.uk — prices, specs (make, model, year, mileage), finance quotes with APR and payments, dealer ratings and contact info, high-res images, and vehicle history checks. Export as JSON, CSV, Excel.

- **URL**: https://apify.com/parsebird/autotrader-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:** Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 1,000 vehicle listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are 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

### AutoTrader.co.uk Scraper — UK Used Car Listings, Prices, Specs & Dealer Data

Scrape vehicle listings from [AutoTrader.co.uk](https://www.autotrader.co.uk/) — the UK's largest online car marketplace. Extract prices, full specs (make, model, year, mileage, fuel type, transmission), finance quotes with APR and monthly payments, dealer ratings and contact info, vehicle history checks, and high-res image URLs. Export as JSON, CSV, or Excel.

<table><tr>
<td style="border-left:4px solid #1C1917;padding:12px 16px;font-weight:600">
Extract structured vehicle data from AutoTrader.co.uk — paste any search or listing URL and get pricing, full specifications, finance quotes, dealer profiles with phone numbers, vehicle history checks, and media URLs ready for analysis, lead generation, or integration.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

````

Apify Actor: parsebird/autotrader-scraper — scrapes AutoTrader.co.uk vehicle listings. $0.80/1000 results. Call via ApifyClient: client.actor("parsebird/autotrader-scraper").call(run\_input={"startUrls": \[{"url": "https://www.autotrader.co.uk/car-search?advertising-location=at\_cars\&make=Volvo\&postcode=M60+1NW\&sort=relevance"}], "maxItems": 20}). Inputs: startUrls (array of {url} objects, required — AutoTrader.co.uk search or car-details URLs), maxItems (integer, default 100), includeListingDetails (boolean, default true — follow search results to detail pages for full data), maxConcurrency (integer, default 5), maxRequestRetries (integer, default 5), proxyConfiguration (object, default residential proxy). Output: dataset with advertId, make, model, year, registration, mileage, pricing (mainPrice, mainPriceFormatted), specifications (bodyType, fuelType, transmission, doors, seats, exteriorColor, engine), finance (available, quotes with payments/terms/APR), dealer (name, type, segment, rating, location, contact with phone), history, vehicleCheck, features, media, services, scrapedAt. API docs: https://docs.apify.com/api/v2 Token: https://console.apify.com/settings/integrations

````

### What does AutoTrader.co.uk Scraper do?

**AutoTrader.co.uk Scraper** is an [Apify Actor](https://apify.com/actors) that extracts comprehensive vehicle listing data from [AutoTrader.co.uk](https://www.autotrader.co.uk/) — the UK's largest digital automotive marketplace with over 500,000 cars listed at any time. It processes both search result pages and individual vehicle listing pages, delivering richly structured data including pricing, full vehicle specifications, finance quotes, dealer profiles, and vehicle history information.

Think of it as an **AutoTrader.co.uk API alternative** — no public API exists for consumers, but this scraper delivers the same structured vehicle data at scale. It's built for automotive market analysis, dealer lead generation, price benchmarking, fleet sourcing, and inventory monitoring.

- 🔗 **Paste any URL** — Drop an AutoTrader.co.uk `/car-search` or `/car-details/` URL and the scraper auto-detects the type
- 📊 **Rich vehicle data** — Prices, specs, finance quotes with APR, dealer info with phone numbers, and vehicle checks
- 📄 **Search + detail scraping** — Scrape search results for overview data, or follow each listing to its detail page for comprehensive extraction
- ⚡ **Concurrent fetching** — Adjustable concurrency for faster runs with rate-limit protection
- 🌐 **Residential proxy support** — Built-in residential proxy configuration for reliable access to AutoTrader.co.uk
- 🔄 **Automatic pagination** — Follows search result pages until your `maxItems` limit is reached
- 📦 **Export anywhere** — JSON, CSV, Excel via the Apify Console, API, or [integrations](https://docs.apify.com/platform/integrations) with Google Sheets, Zapier, Make, and more

### What data can you extract from AutoTrader.co.uk?

| Field | Description |
|-------|-------------|
| `advertId` | Unique AutoTrader advertisement identifier |
| `autotraderWebsiteLink` | Direct URL to the vehicle listing |
| `make` | Vehicle manufacturer (e.g., "Volvo", "BMW", "Ford") |
| `model` | Vehicle model name (e.g., "EX40", "3 Series", "Focus") |
| `year` | Manufacturing year |
| `registration` | UK vehicle registration plate |
| `mileage.value` | Odometer reading in miles |
| `pricing.mainPrice` | Selling price as a number |
| `pricing.mainPriceFormatted` | Formatted price with currency (e.g., "£35,067") |
| `specifications.bodyType` | Body style — SUV, Hatchback, Saloon, Estate, etc. |
| `specifications.fuelType` | Fuel type — Electric, Petrol, Diesel, Hybrid |
| `specifications.transmission` | Automatic or Manual |
| `specifications.doors` / `seats` | Number of doors and seats |
| `specifications.exteriorColor` | Vehicle colour |
| `specifications.engine.sizeCC` | Engine displacement in cubic centimeters |
| `finance.available` | Whether finance options exist |
| `finance.quotes[].type` | Finance type — PCP, HP, CS |
| `finance.quotes[].payments.monthlyAmount` | Monthly payment amount |
| `finance.quotes[].terms.apr` | Annual Percentage Rate |
| `dealer.name` | Dealer business name |
| `dealer.type` | Trade or Private |
| `dealer.segment` | Franchise or Independent |
| `dealer.rating.score` | Customer rating (1–5 scale) |
| `dealer.location` | Town, county, postcode, region |
| `dealer.contact.phone` | Dealer phone number |
| `history.condition` | Used or New |
| `history.manufacturerApproved` | Manufacturer approved status |
| `vehicleCheck.status` | Vehicle check result summary |
| `media.imageCount` | Number of images available |
| `media.hasVideo` | Whether video content exists |
| `services.homeDeliveryAvailable` | Home delivery availability |
| `scrapedAt` | ISO timestamp of extraction |

### How to scrape AutoTrader.co.uk

1. **Go to AutoTrader.co.uk Scraper** on [Apify Store](https://apify.com/parsebird/autotrader-scraper) and click **Try for free**
2. **Add your URLs** — Paste one or more AutoTrader.co.uk URLs:
   - **Search results**: `https://www.autotrader.co.uk/car-search?make=Volvo&postcode=M60+1NW&sort=relevance`
   - **Individual listing**: `https://www.autotrader.co.uk/car-details/202504251717568`
3. **Set the result limit** — Start with 20 for a quick test, increase to 100–500 for larger datasets
4. **Choose detail level** — Enable "Include Full Listing Details" for comprehensive data (finance, dealer contact, specs), or disable for faster search-only scraping
5. **Run the scraper** — Click **Start** and wait for results
6. **Export your data** — Download as JSON, CSV, or Excel, or access via the [Apify API](https://docs.apify.com/api/v2)

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrls` | array | **Yes** | — | AutoTrader.co.uk search or car-details URLs |
| `maxItems` | integer | No | `100` | Maximum number of vehicle listings to extract |
| `includeListingDetails` | boolean | No | `true` | Follow search results to detail pages for full data |
| `maxConcurrency` | integer | No | `5` | Maximum concurrent HTTP requests (1–20) |
| `maxRequestRetries` | integer | No | `5` | Retry attempts for failed requests (1–30) |
| `proxyConfiguration` | object | No | Residential proxy | Proxy settings — residential proxies required |

### Output example

```json
{
  "advertId": "202504251717568",
  "autotraderWebsiteLink": "https://www.autotrader.co.uk/car-details/202504251717568",
  "subtitle": "Twin Motor 82kWh Plus Auto AWD 5dr",
  "advertDisplayType": "USED",
  "make": "Volvo",
  "model": "EX40",
  "year": 2024,
  "registration": "YP24EYX",
  "mileage": {
    "value": 16562,
    "unit": "MILE"
  },
  "pricing": {
    "mainPrice": 35067,
    "mainPriceFormatted": "£35,067",
    "currency": "£",
    "priceOnApplication": false
  },
  "specifications": {
    "bodyType": "SUV",
    "fuelType": "Electric",
    "transmission": "Automatic",
    "doors": 5,
    "seats": 5,
    "exteriorColor": "Blue",
    "engine": { "sizeCC": 0, "sizeLitres": 0 },
    "performance": {}
  },
  "finance": {
    "available": true,
    "provider": "DEALER",
    "quoteSubtype": "PCP",
    "quotes": [
      {
        "type": "PCP",
        "payments": {
          "monthlyAmount": 569.50,
          "firstPaymentAmount": 569.50,
          "finalPaymentAmount": 14144.70,
          "depositAmount": 3507
        },
        "terms": {
          "durationMonths": 48,
          "contractLengthMonths": 49,
          "mileageAllowance": 10000,
          "apr": "10.9%"
        },
        "totals": {
          "totalAmountPayable": 44987.70,
          "totalInterestPayable": 9920.70,
          "totalCredit": 31560
        }
      }
    ]
  },
  "dealer": {
    "name": "Marshall Volvo Milton Keynes",
    "type": "Trade",
    "segment": "Franchise",
    "rating": { "score": 4.5, "reviewCount": 150 },
    "location": {
      "town": "Milton Keynes",
      "county": "Buckinghamshire",
      "postcode": "MK10 0AT",
      "region": "South East",
      "country": "GB"
    },
    "contact": {
      "phone": "(01908) 942068",
      "website": "https://www.marshall.co.uk/"
    }
  },
  "history": {
    "condition": "Used",
    "manufacturerApproved": true,
    "franchiseApproved": true
  },
  "vehicleCheck": {
    "status": "5 checks passed",
    "passed": true,
    "title": "Basic history check"
  },
  "features": {
    "keyFeatures": ["SUV", "331 miles", "Automatic", "Electric", "5 doors", "5 seats"],
    "standardEquipment": [],
    "optionalExtras": []
  },
  "media": {
    "imageCount": 58,
    "hasVideo": true,
    "has360View": false,
    "videoUrl": "https://autotrader.aos.tv/iframe/..."
  },
  "services": {
    "homeDeliveryAvailable": true,
    "clickAndCollectAvailable": false,
    "partExchangeAvailable": false
  },
  "scrapedAt": "2026-06-14T12:00:00.000Z"
}
````

Download results in JSON, CSV, Excel, or access via the [Apify API](https://docs.apify.com/api/v2).

### Use cases

- 📊 **Automotive market analysis** — Track car prices, inventory levels, and market trends across the UK used car market
- 💰 **Price benchmarking** — Compare vehicle prices by make, model, year, and mileage to find undervalued stock
- 🏢 **Dealer lead generation** — Build databases of UK car dealers with contact phone numbers, ratings, and locations
- 🚗 **Fleet sourcing** — Find vehicles matching specific criteria (body type, fuel type, mileage range) at scale
- 📈 **Finance product research** — Compare PCP, HP, and CS finance quotes across dealers and vehicle types
- 🔍 **Inventory monitoring** — Schedule runs with [Apify Schedules](https://docs.apify.com/platform/schedules) to track new listings and price changes
- 🤖 **Data pipeline integration** — Feed vehicle data into dashboards, Google Sheets, Slack, or CRM systems via [Apify Integrations](https://docs.apify.com/platform/integrations)
- 🔬 **Academic and research** — Study automotive pricing patterns, dealer distribution, and EV adoption trends

### How to use via API — Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("parsebird/autotrader-scraper").call(run_input={
    "startUrls": [
        {"url": "https://www.autotrader.co.uk/car-search?make=BMW&postcode=SW1A+1AA&sort=relevance"}
    ],
    "maxItems": 50,
    "includeListingDetails": True,
})

for car in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{car['make']} {car['model']} ({car['year']}) — {car['pricing']['mainPriceFormatted']} — {car['dealer']['name']}")
```

### How to use via API — JavaScript

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('parsebird/autotrader-scraper').call({
    startUrls: [
        { url: 'https://www.autotrader.co.uk/car-search?make=BMW&postcode=SW1A+1AA&sort=relevance' }
    ],
    maxItems: 50,
    includeListingDetails: true,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(car => {
    console.log(`${car.make} ${car.model} (${car.year}) — ${car.pricing.mainPriceFormatted} — ${car.dealer.name}`);
});
```

### How much does it cost to scrape AutoTrader.co.uk?

AutoTrader.co.uk Scraper uses [pay-per-event pricing](https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event) with usage — you pay a fixed price per result plus the platform usage costs (compute and residential proxy).

**How much does it cost to scrape 1,000 AutoTrader.co.uk listings?**

$0.80 in result fees plus platform usage (compute + residential proxy). Residential proxy is required because AutoTrader.co.uk blocks datacenter IPs. New users get a free trial with $5 of platform credit.

**How much does it cost to scrape 100 AutoTrader.co.uk listings?**

$0.08 in result fees plus platform usage. A quick export covering one search query.

### Pricing

| Event | Price per event | Price per 1,000 |
|-------|----------------|-----------------|
| listing-scraped | $0.0008 | **$0.80** |

Each vehicle listing pushed to the dataset counts as one result. Platform usage costs (compute and residential proxy) are billed separately to the user.

Typical result fees:

- 20 cars (quick test): ~$0.016
- 100 cars (one search): ~$0.08
- 500 cars (multi-page run): ~$0.40
- 1,000 cars (large dataset): ~$0.80

### Is it legal to scrape AutoTrader.co.uk?

This Actor extracts publicly available data from [AutoTrader.co.uk](https://www.autotrader.co.uk/) — the same vehicle listing data any browser user can see on search results and listing pages. No login or authentication is used. The scraper accesses only publicly visible car listings.

Web scraping of publicly available data is generally legal in the United States and the European Union, as established by the [hiQ Labs v. LinkedIn ruling](https://en.wikipedia.org/wiki/HiQ_Labs_v._LinkedIn). For more information, see Apify's guide on [the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

Users are responsible for ensuring their use of extracted data complies with applicable laws and AutoTrader.co.uk's Terms of Service in their jurisdiction.

### Related Actors

Looking for more data extraction tools? Check out these ParseBird actors:

- [Bayt Jobs Scraper](https://apify.com/parsebird/bayt-jobs-scraper) — Scrape job listings from Bayt.com across the Middle East
- [BuiltIn Jobs Scraper](https://apify.com/parsebird/builtin-jobs-scraper) — Scrape tech job listings from BuiltIn.com
- [Naukri Jobs Scraper](https://apify.com/parsebird/naukri-jobs-scraper) — Scrape job listings from Naukri.com, India's largest job portal
- [HelloWork Jobs Scraper](https://apify.com/parsebird/hellowork-jobs-scraper) — Scrape job listings from HelloWork.com (France)
- [Yandex Maps Scraper](https://apify.com/parsebird/yandex-maps-scraper) — Extract business data and reviews from Yandex Maps

Browse all [ParseBird actors on Apify Store](https://apify.com/parsebird).

### FAQ

**What URL formats does the scraper support?**
Two types: (1) search results pages — any `autotrader.co.uk/car-search?...` URL with filters for make, model, postcode, price range, etc., and (2) individual listing pages — `autotrader.co.uk/car-details/{advertId}` URLs for a specific vehicle.

**What is the difference between search-only and detail scraping?**
With `includeListingDetails: true` (default), the scraper follows each search result to its detail page and extracts comprehensive data including finance quotes, dealer contact info, and full specifications. With `includeListingDetails: false`, it extracts only the basic listing card data from search results — faster but less detailed.

**Why are residential proxies required?**
AutoTrader.co.uk blocks datacenter IP addresses. Residential proxies are required for reliable scraping. The default proxy configuration uses Apify's residential proxy pool. Proxy costs are billed as platform usage.

**Can I search by postcode and radius?**
Yes. Use AutoTrader.co.uk's own search URL with postcode and radius parameters. For example: `https://www.autotrader.co.uk/car-search?postcode=SW1A+1AA&radius=50&make=BMW&sort=relevance`. The scraper respects all URL parameters.

**How many cars can I collect per run?**
There is no hard limit. Set `maxItems` to control how many listings you extract. For large datasets, use multiple search URLs covering different makes, models, or postcodes.

**Can I schedule recurring runs?**
Yes. Use [Apify Schedules](https://docs.apify.com/platform/schedules) to run daily, weekly, or at any interval. Monitor inventory changes and price movements by comparing datasets between runs.

**Can I access the data via API?**
Yes. Use the [Apify API](https://docs.apify.com/api/v2) or the official [Python](https://docs.apify.com/api/client/python) and [JavaScript](https://docs.apify.com/api/client/js) client libraries to run the scraper and retrieve results programmatically.

**What export formats are supported?**
JSON, CSV, Excel (XLSX), XML, HTML, and RSS. Download directly from the Apify Console or via the API.

**Is there a free trial?**
Yes. New Apify users get $5 of free platform credit — enough to test the scraper with several hundred vehicle listings.

**The scraper returns empty results or errors. What should I do?**
Ensure your URLs are valid AutoTrader.co.uk search or listing URLs. Check that residential proxies are enabled (the default configuration). If AutoTrader.co.uk is rate-limiting, reduce `maxConcurrency` to 2–3. Open an issue on the [Issues tab](https://apify.com/parsebird/autotrader-scraper/issues) for persistent problems.

**I found an issue or have a feature request.**
Open an issue on the [Issues tab](https://apify.com/parsebird/autotrader-scraper/issues) or contact ParseBird via the Apify Console.

# Actor input Schema

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

Add one or more AutoTrader.co.uk URLs — search results pages or individual car listing pages. The scraper auto-detects the URL type.

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

Maximum number of vehicle listings to extract. Start with a small number for testing.

## `includeListingDetails` (type: `boolean`):

When enabled, the scraper follows each search result to its detail page to extract comprehensive data (finance, dealer, specs, media). Disable for faster search-only scraping with basic listing info.

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

Maximum number of concurrent HTTP requests. Lower values reduce the chance of blocking.

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

Number of retry attempts for failed requests before skipping.

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

Datacenter proxies work for most runs. Switch to residential proxies if you see frequent blocks or empty results.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.autotrader.co.uk/car-search?advertising-location=at_cars&homeDeliveryAdverts=include&make=Volvo&model=EX40&postcode=M60%201NW&seller-type=trade&sort=relevance"
    }
  ],
  "maxItems": 10,
  "includeListingDetails": true,
  "maxConcurrency": 5,
  "maxRequestRetries": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "startUrls": [
        {
            "url": "https://www.autotrader.co.uk/car-search?advertising-location=at_cars&homeDeliveryAdverts=include&make=Volvo&model=EX40&postcode=M60%201NW&seller-type=trade&sort=relevance"
        }
    ],
    "maxItems": 10,
    "includeListingDetails": true,
    "maxConcurrency": 5,
    "maxRequestRetries": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/autotrader-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 = {
    "startUrls": [{ "url": "https://www.autotrader.co.uk/car-search?advertising-location=at_cars&homeDeliveryAdverts=include&make=Volvo&model=EX40&postcode=M60%201NW&seller-type=trade&sort=relevance" }],
    "maxItems": 10,
    "includeListingDetails": True,
    "maxConcurrency": 5,
    "maxRequestRetries": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/autotrader-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 '{
  "startUrls": [
    {
      "url": "https://www.autotrader.co.uk/car-search?advertising-location=at_cars&homeDeliveryAdverts=include&make=Volvo&model=EX40&postcode=M60%201NW&seller-type=trade&sort=relevance"
    }
  ],
  "maxItems": 10,
  "includeListingDetails": true,
  "maxConcurrency": 5,
  "maxRequestRetries": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parsebird/autotrader-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "AutoTrader.co.uk Scraper",
        "description": "Extract vehicle listings from AutoTrader.co.uk — prices, specs (make, model, year, mileage), finance quotes with APR and payments, dealer ratings and contact info, high-res images, and vehicle history checks. Export as JSON, CSV, Excel.",
        "version": "1.0",
        "x-build-id": "gkH4NFwdpzsAkFz7y"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parsebird~autotrader-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parsebird-autotrader-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/parsebird~autotrader-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parsebird-autotrader-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/parsebird~autotrader-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parsebird-autotrader-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": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Add one or more AutoTrader.co.uk URLs — search results pages or individual car listing pages. The scraper auto-detects the URL type.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Max Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of vehicle listings to extract. Start with a small number for testing.",
                        "default": 10
                    },
                    "includeListingDetails": {
                        "title": "Include Full Listing Details",
                        "type": "boolean",
                        "description": "When enabled, the scraper follows each search result to its detail page to extract comprehensive data (finance, dealer, specs, media). Disable for faster search-only scraping with basic listing info.",
                        "default": true
                    },
                    "maxConcurrency": {
                        "title": "Max Concurrency",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum number of concurrent HTTP requests. Lower values reduce the chance of blocking.",
                        "default": 5
                    },
                    "maxRequestRetries": {
                        "title": "Max Retries",
                        "minimum": 1,
                        "maximum": 30,
                        "type": "integer",
                        "description": "Number of retry attempts for failed requests before skipping.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Datacenter proxies work for most runs. Switch to residential proxies if you see frequent blocks or empty results.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
