# AutoTrader UK Car Scraper (`rastriq/autotrader-uk-scraper`) Actor

Extract car listings from AutoTrader.co.uk — the UK's largest used car marketplace with 450K+ listings. Scrapes price, make, model, year, mileage, seller type & location. Supports incremental mode for scheduled runs.

- **URL**: https://apify.com/rastriq/autotrader-uk-scraper.md
- **Developed by:** [Rastriq — Structured data from the world](https://apify.com/rastriq) (community)
- **Categories:** E-commerce, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 car listings

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

## AutoTrader UK Car Scraper — Extract Used Car Data from AutoTrader.co.uk

Get structured car listing data from AutoTrader.co.uk — the UK's largest used car marketplace with over 450,000 live listings. **AutoTrader UK Car Scraper** delivers price, make, model, year, mileage, seller type, and location for every listing that matches your search, exported to JSON, CSV, or Excel in minutes.

> 🚀 **Try it free** — your first $5 of usage is on Apify. No credit card required.

### 📌 What is AutoTrader UK Car Scraper?

**AutoTrader UK Car Scraper** gives you programmatic access to the UK's most comprehensive used car market — without writing a line of code or managing a single API key.

AutoTrader lists more cars than any other UK platform, but it offers no official data export. Whether you need daily pricing feeds, a one-off market snapshot, or a continuous stream of new inventory, **AutoTrader UK Car Scraper** handles the data collection so your team can focus on analysis.

Use it to:

- 💰 **Monitor pricing in real time** — track asking prices by make, model, trim, year, and region to stay ahead of market shifts
- 📊 **Build competitive intelligence** — benchmark your inventory or pricing against thousands of dealerships across the UK
- 🔎 **Analyse market supply** — see which models and specs are most available, where inventory is concentrated, and how quickly it moves
- 📋 **Power valuation tools** — feed live transaction data into pricing engines, appraisal tools, or automated valuations
- 🔄 **Automate inventory monitoring** — schedule recurring runs with Incremental Mode to capture only new listings since your last export, with zero duplicates

### 📋 What data does AutoTrader UK Car Scraper extract?

Every listing comes back as a clean, structured record with these fields:

| Field | Description |
|-------|-------------|
| 🆔 `id` | Unique AutoTrader listing ID |
| 📝 `title` | Listing headline (make + model) |
| 📄 `subtitle` | Trim level, engine spec, and variant |
| 🚘 `make` | Manufacturer (BMW, Ford, Toyota, etc.) |
| 🚗 `model` | Model name (3 Series, Focus, Corolla, etc.) |
| 📅 `year` | Registration year |
| 📏 `km` | Mileage converted to kilometres |
| 💷 `price` | Asking price in GBP |
| 🏷️ `condition` | New or used |
| 🏪 `seller_type` | Trade (dealership) or Private seller |
| 📍 `city` | Seller's town or city |
| 🔗 `url` | Direct link to the listing page |
| 🖼️ `img_url` | Main listing photo |
| 🕐 `scraped_at` | Timestamp of extraction |

> 💡 All data is sourced directly from AutoTrader's public search results. No login, subscription, or API key required on your end.

### 🚀 How to use AutoTrader UK Car Scraper

Extracting your first dataset takes under two minutes:

1. **Create a free Apify account** at [apify.com](https://apify.com) — you get $5 of free credit to start
2. **Open AutoTrader UK Car Scraper** and click **Try for free**
3. **Define your search** — either paste an AutoTrader.co.uk search URL directly, or use the input form to set make, model, postcode, price range, year range, mileage, and more
4. **Set your output size** — use *Max Results* to cap the total (e.g. 500 listings) or *Max Pages* to limit by search pages
5. **Click Save & Start** — results start arriving within seconds
6. **Download your data** as JSON, CSV, Excel, or XML — or connect via the Apify API for automated workflows

### ⚙️ Input parameters

| Parameter | Default | Description |
|-----------|---------|-------------|
| `startUrls` | — | Paste any AutoTrader search URL. Overrides all filter fields when set. |
| `postcode` | `SW1A 1AA` | UK postcode used as the search centre |
| `radius` | Nationwide | Distance from the postcode (1–200 miles, or Nationwide) |
| `make` | — | Manufacturer filter (BMW, Ford, Tesla…) |
| `model` | — | Model filter within the chosen make |
| `body_type` | — | Hatchback, Saloon, Estate, SUV, Coupe, Convertible… |
| `fuel_type` | — | Petrol, Diesel, Electric, Hybrid, Plug-in Hybrid… |
| `gearbox` | — | Manual or Automatic |
| `seller_type` | — | Trade (dealerships) or Private sellers |
| `year_from` / `year_to` | — | Registration year range |
| `price_from` / `price_to` | — | Price range in GBP |
| `max_mileage` | — | Maximum mileage in miles |
| `sort_by` | Relevance | Price, year, mileage, or newest listings first |
| `max_results` | 0 (unlimited) | Hard cap on total results. 0 = use Max Pages |
| `max_pages` | 3 | Pages to scrape (26 listings each). Ignored when Max Results > 0 |
| `enableIncrementalMode` | false | Only collect listings newer than the previous run |
| `proxyConfiguration` | RESIDENTIAL | Pre-configured — no changes needed |

### 📤 Output example

```json
{
  "id": "202608044802408",
  "title": "BMW 3 Series",
  "subtitle": "320i M Sport Auto Euro 6 (s/s) 4dr",
  "make": "BMW",
  "model": "3 Series",
  "year": 2022,
  "km": 28968,
  "price": 24995,
  "currency": "GBP",
  "condition": "used",
  "seller_type": "TRADE",
  "city": "Sheffield",
  "url": "https://www.autotrader.co.uk/car-details/202608044802408",
  "img_url": "https://m.atcdn.co.uk/a/media/w800/60be665a8693494a9538f78a2aca99f1.jpg",
  "source": "autotrader.co.uk",
  "scraped_at": "2026-08-19T13:15:00.000000+00:00"
}
```

### ⚡ Incremental Mode — for scheduled monitoring

**AutoTrader UK Car Scraper** supports Incremental Mode, which makes it ideal for teams that need to monitor the market continuously without paying to re-collect listings they already have.

When Incremental Mode is on:

- Results are automatically sorted **newest first**
- The actor stops the moment it reaches a listing already captured in the previous run
- Only genuinely new listings are saved to your dataset

Set up a scheduled run in the Apify Console (every few hours, daily, or weekly) and your dataset grows automatically — always current, never with duplicates.

### 💰 How much does it cost to use AutoTrader UK Car Scraper?

**AutoTrader UK Car Scraper** runs on Apify's standard Compute Unit pricing — you pay for what you use, with no monthly commitment required.

| What you need | Approx. cost |
|---------------|--------------|
| Quick test (20–50 listings) | < $0.01 |
| Single model export (500 listings) | ~$0.05 |
| Full search export (2,000 listings) | ~$0.20 |
| Nationwide bulk export (10,000 listings) | ~$1.00 |

On the **Free plan**, your $5 of starting credit covers thousands of listings for testing. On the **Starter plan ($49/month)** you get 500 CUs — enough for tens of thousands of listings per month.

> 💡 **Tip:** Enable Incremental Mode on scheduled runs and you only pay for new listings — making recurring monitoring extremely cost-efficient.

### 🔗 Related Actors

**AutoTrader UK Car Scraper** is part of the Rastriq automotive data portfolio. If you need coverage beyond the UK:

- **[AutoScout24 Scraper](https://apify.com/rastriq/autoscout24-scraper)** — pan-European marketplace covering Germany, France, Italy, Belgium, and more
- **[Mobile.de Scraper](https://apify.com/rastriq/mobile-de-scraper)** — Germany's largest car platform with 1.4M+ listings
- **[Coches.net Scraper](https://apify.com/rastriq/cochesnet-spain)** — Spain's dedicated automotive marketplace
- **[Wallapop Cars Scraper](https://apify.com/rastriq/wallapop-cars-scraper)** — Spain's classifieds platform, private sellers focus
- **[Mascus Scraper](https://apify.com/rastriq/mascus-scraper)** — commercial vehicles and heavy equipment across Europe

### ❓ FAQ

**Do I need an AutoTrader account or API access?**
No. **AutoTrader UK Car Scraper** works entirely with publicly visible listing data — the same information any visitor to AutoTrader.co.uk can see in their browser. No account, login, or paid subscription is needed on your end.

**How many listings can I get in one run?**
AutoTrader lists 450,000+ cars at any given time. You can access all of them — set *Max Results* to 0 and increase *Max Pages* up to 500 to run large exports. A full 10,000-listing run typically completes in 25–30 minutes.

**Can I filter by multiple criteria at once?**
Yes — all filter fields can be combined freely. You can search for, for example, automatic diesel SUVs registered between 2019 and 2023, priced under £20,000, within 50 miles of Birmingham.

**Can I use my own AutoTrader search URL?**
Absolutely. Set up your search on AutoTrader.co.uk using any filters you like, copy the URL from your browser, and paste it into the *Start URLs* field. The actor will scrape exactly those results.

**Is scraping AutoTrader UK legal?**
AutoTrader UK Car Scraper collects only publicly available data — car listings that anyone can view without a login. No personal data (names, emails, phone numbers) is extracted. As with any data collection activity, you are responsible for ensuring your specific use case complies with AutoTrader's terms of service and applicable regulations.

**Why is a proxy required?**
AutoTrader.co.uk, like most large marketplaces, restricts automated access from cloud server IP ranges. The pre-configured residential proxy setting handles this automatically — you don't need to configure anything, just leave the proxy setting as-is.

# Actor input Schema

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

<b>Paste one or more AutoTrader search URLs here.</b><br>Copy the URL directly from your browser after filtering the search on AutoTrader.co.uk. When set, all filter fields below are ignored.<br><br>Example: <code>https://www.autotrader.co.uk/car-search?postcode=SW1A+1AA\&make=BMW\&model=3+Series\&year-from=2020</code>

## `postcode` (type: `string`):

<b>UK postcode used as the centre of the search radius.</b><br>Examples: <code>SW1A 1AA</code> (London), <code>M1 1AE</code> (Manchester), <code>EH1 1YZ</code> (Edinburgh).

## `radius` (type: `string`):

<b>How far from the postcode to search.</b><br>Use <b>Nationwide</b> to search all of the UK regardless of location.

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

<b>Filter by manufacturer.</b><br>Examples: <code>BMW</code>, <code>Ford</code>, <code>Toyota</code>, <code>Volkswagen</code>, <code>Tesla</code>.<br>Leave empty to search all makes.

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

<b>Filter by model within the chosen make.</b><br>Examples: <code>3 Series</code>, <code>Focus</code>, <code>Golf</code>, <code>Model 3</code>.<br>Requires <i>Make</i> to be set for reliable results.

## `body_type` (type: `string`):

<b>Filter by vehicle body style.</b>

## `fuel_type` (type: `string`):

<b>Filter by engine fuel or powertrain type.</b>

## `gearbox` (type: `string`):

<b>Filter by transmission type.</b>

## `seller_type` (type: `string`):

<b>Filter by who is selling the car.</b><br><b>Trade</b> = franchised dealerships and independent garages.<br><b>Private</b> = individual owners selling directly.

## `year_from` (type: `integer`):

<b>Minimum registration year.</b><br>Example: <code>2018</code> to exclude cars older than 2018.

## `year_to` (type: `integer`):

<b>Maximum registration year.</b><br>Example: <code>2023</code> to exclude cars newer than 2023.

## `price_from` (type: `integer`):

<b>Minimum asking price in GBP.</b><br>Example: <code>5000</code> to exclude listings below £5,000.

## `price_to` (type: `integer`):

<b>Maximum asking price in GBP.</b><br>Example: <code>25000</code> to exclude listings above £25,000.

## `max_mileage` (type: `integer`):

<b>Maximum odometer reading in miles.</b><br>Example: <code>50000</code> to show only cars with under 50,000 miles.

## `sort_by` (type: `string`):

<b>Order in which results are returned.</b><br><b>Newest listings first</b> is automatically forced when Incremental mode is enabled.

## `max_results` (type: `integer`):

<b>Hard cap on total listings returned across all pages.</b><br>Set to <b>0</b> to use <i>Max pages</i> instead. The default of <b>20</b> finishes in under 2 minutes. Raise it for full exports — 1,000 listings ≈ 3 min, 10,000 listings ≈ 25 min.

## `max_pages` (type: `integer`):

<b>Maximum search result pages to scrape.</b><br>Each page returns 26 listings. Ignored when <i>Max results</i> is greater than 0. AutoTrader supports up to ~17,000 pages (450K+ nationwide listings).

## `enableIncrementalMode` (type: `boolean`):

<b>Only scrape listings newer than the previous run.</b><br>When enabled, results are sorted by <b>Newest first</b> and the actor stops as soon as it reaches a listing already seen in the last run.<br><br>Ideal for scheduled runs that monitor new inventory without re-processing old data.<br><br>ℹ️ The cursor (last-seen listing ID) is stored in a Key-Value Store named <code>autotrader-scraper-state</code>. Delete that store to reset and re-scrape everything.

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

<b>Pre-configured — no changes needed.</b><br>The proxy is set up automatically to ensure reliable access to AutoTrader.co.uk. Leave this setting as-is for best results.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.autotrader.co.uk/car-search?postcode=SW1A+1AA&make=BMW&model=3+Series&year-from=2020&sort=latest-listings"
    }
  ],
  "postcode": "SW1A 1AA",
  "radius": "1500",
  "body_type": "",
  "fuel_type": "",
  "gearbox": "any",
  "seller_type": "any",
  "sort_by": "relevance",
  "max_results": 20,
  "max_pages": 3,
  "enableIncrementalMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

Dataset containing all scraped car listings from AutoTrader.co.uk. Each item includes id, title, subtitle, make, model, year, km, price, currency, condition, seller\_type, city, url, img\_url, source, and scraped\_at.

# 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?postcode=SW1A+1AA&make=BMW&model=3+Series&year-from=2020&sort=latest-listings"
        }
    ],
    "max_results": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rastriq/autotrader-uk-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?postcode=SW1A+1AA&make=BMW&model=3+Series&year-from=2020&sort=latest-listings" }],
    "max_results": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("rastriq/autotrader-uk-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.autotrader.co.uk/car-search?postcode=SW1A+1AA&make=BMW&model=3+Series&year-from=2020&sort=latest-listings"
    }
  ],
  "max_results": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call rastriq/autotrader-uk-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rastriq/autotrader-uk-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/fxFVqsrXPFQViXdjx/builds/Jgx7zJImDz9FonDn7/openapi.json
