# Autotrader UK \[$0.75💰/1K] - Car Scraper, Full Detail (`blackfalcondata/autotrader-uk-scraper`) Actor

Scrape UK car listings from Auto Trader by make, model, price, year, mileage, fuel, and body type. Get full spec, seller details, and per-advert descriptions — with incremental runs that return only new or changed adverts.

- **URL**: https://apify.com/blackfalcondata/autotrader-uk-scraper.md
- **Developed by:** [Black Falcon Data](https://apify.com/blackfalcondata) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 0 monthly users, 95.1% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.75 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

### What does Autotrader UK Car Scraper do?

Autotrader UK Car Scraper extracts structured listing data from [autotrader.co.uk](https://autotrader.co.uk) — including make, model, registration year, price, mileage, full descriptions, and seller contact details. It supports keyword search, location filters, and controllable result limits, so you can run the same query consistently over time. The actor also offers detail enrichment (full descriptions and contact information) where the source provides them.

### How to use this actor

- 👉 **Register for a free Apify account** — no credit card required.
- 🎉 Just click **[Sign up free on Apify →](https://console.apify.com/sign-up?fpr=1h3gvi\&fp_sid=ctarich)** and complete a quick signup.
- 💰 A free Apify account includes $5 in monthly credits — enough to test this actor.
- ⏳ Scrape during the free trial, with no commitment or upfront payment required.

### Key features

- **🚗 Vehicle data depth** — every car returns structured vehicle fields as first-class columns — make, model, registration year, mileage, fuel type, transmission, body type, engine, colour, and price (with Auto Trader's price indicator) — not buried in description text. Enable detail enrichment to add the full seller description, the complete photo gallery, spec and history highlights, and seller contact details in the same pass. Filter by make, model, price, year, mileage, fuel, transmission, body type, colour, and seller type.
- **🔗 Paste-mode** — build the search you want on autotrader.co.uk — make, model, price, range — copy the resulting car-search URL, and paste it in. Every filter in the URL is honored; paste several and the results are merged and de-duplicated by advert ID into a single dataset. (Paste search URLs, not individual car-details pages.)
- **📋 Detail enrichment** — two-stage scraping: first collect the listings, then enrich each advert with its full detail page — complete description, spec and running-cost fields, history highlights, the full image gallery, and seller contact. On by default; turn it off for a faster, lighter run with the headline fields only.
- **🔔 Notifications** — Telegram, Slack, Discord, WhatsApp Cloud API, and generic webhook out of the box. Pair with incremental for daily new-listing alerts without pipeline glue.
- **📦 Compact mode** — AI-agent and MCP-friendly payloads with core fields only.
- **✂️ Description truncation** — cap description length with `descriptionMaxLength` to control LLM prompt cost and dataset size — set 0 for full descriptions, or any char-limit to trim.
- **🧹 Empty-field stripping** — drop null, empty-string, and empty-array fields from each record before push. Smaller payloads for AI agents and dashboards that already handle missing fields gracefully.
- **♻️ Incremental mode** — recurring runs emit and charge only for listings that are new or whose tracked content changed. First run builds the baseline; subsequent runs emit only NEW / UPDATED / REAPPEARED records (UNCHANGED + EXPIRED opt-in). Saves 80–95% on daily monitoring.
- **📤 Export anywhere** — Download the dataset as JSON, CSV, or Excel from the Apify Console, or stream live via the Apify API and integrations (Make, Zapier, Google Sheets, n8n, …).
- **🔌 MCP connectors** — export your results into Notion via Apify's MCP connectors — a clean run-summary page, no glue code. Opt-in via the App connector field; deterministic field-mapping, no AI. Built on Apify's connector framework, so more destinations open up as their catalog grows.

### What data can you extract from Auto Trader?

Each result includes Core listing fields (`listingId`, `listingKey`, `url`, `portalUrl`, `listingType`, `title`, `subtitle`, and `attentionGrabber`, and more), detail fields when enrichment is enabled (`engineDescription`, `description`, `descriptionText`, and `detailFetched`), and contact information (`contactEmail` and `contactPhone`). In standard mode, all fields are always present — unavailable data points are returned as `null`, never omitted. In compact mode, only core fields are returned.

Enable detail enrichment in the input to get richer fields such as full descriptions and contact information where the source provides them.

### Input

The main inputs are a search keyword, an optional location filter, and a result limit. Additional filters and options are available in the input schema.

Key parameters:

- **`query`** — Optional free-text keyword(s), e.g. "M Sport" or "low mileage". Combine with the make/model filters below to narrow a search. Leave empty to browse purely by the filters.
- **`make`** — Manufacturer to search, e.g. "BMW", "Audi", "Ford". Use the brand name exactly as it appears on Auto Trader.
- **`model`** — Model to search within the chosen make, e.g. "3 Series", "Golf", "Fiesta".
- **`location`** — UK postcode used as the distance anchor, e.g. "SW1A 1AA" or "M1". Results are sorted by distance from this point.
- **`startUrls`** — Paste Auto Trader UK car-search URLs (one per line). Each URL's filters are honored, and results are merged and deduplicated across all URLs. When provided, search URLs take precedence over the filter fields below. (default: `[]`)
- **`country`** — Market to search. (default: `"GB"`)
- **`maxResults`** — Maximum total cars to return (0 = unlimited). The actor self-sizes memory to the run: 256 MB for runs up to 2000 results, 512 MB above that. (default: `25`)
- **`minPrice`** — Lowest price to include, in GBP.
- **`maxPrice`** — Highest price to include, in GBP.
- **`minYear`** — Earliest registration year to include, e.g. 2015.
- **`maxYear`** — Latest registration year to include, e.g. 2023.
- **`minMileage`** — Lowest mileage to include (miles).
- ...and 29 more parameters

### Input examples

**By make & model with full detail** — Scrape a specific make and model, enriching every advert with full specification, seller details, and the advert description.

→ Up to 50 BMW 3 Series adverts, each with full spec + seller + description.

```json
{
  "make": "BMW",
  "model": "3 Series",
  "maxResults": 50,
  "includeDetails": true
}
```

**By keyword search** — Search by free-text keyword instead of structured filters — useful for trims, packages, or descriptive terms.

→ Up to 50 adverts matching the keyword, with full detail.

```json
{
  "query": "M Sport diesel estate",
  "maxResults": 50,
  "includeDetails": true
}
```

**Paste an Auto Trader search URL** — Configure the search on autotrader.co.uk, copy the resulting URL, and paste it in. All filters in the URL are honored; multiple URLs are merged and deduplicated.

→ Adverts from the pasted search, deduplicated across URLs.

```json
{
  "startUrls": [
    "https://www.autotrader.co.uk/car-search?advertising-location=at_cars&make=Audi&model=A4&postcode=M1%201AE"
  ],
  "maxResults": 75,
  "includeDetails": true
}
```

**Track new & changed adverts (incremental)** — Run on a schedule and return only adverts that are new or changed since the previous run, keyed by a stable state key.

→ Only new or changed adverts since the last run for this state key.

```json
{
  "make": "BMW",
  "model": "3 Series",
  "maxResults": 25,
  "includeDetails": true,
  "incrementalMode": true,
  "stateKey": "bmw-3series-uk"
}
```

### Output

Each run produces a dataset of structured listing records. Results can be downloaded as JSON, CSV, or Excel from the Dataset tab in Apify Console.

### Example listing record

```json
{
  "listingId": "6055d3dfb69179ecb2b2a4d4f4fd0254ed90ae4e208dbd03040389f5a14e2e46",
  "listingKey": "202604221782794",
  "url": "https://www.autotrader.co.uk/car-details/202604221782794",
  "portalUrl": "https://www.autotrader.co.uk/car-details/202604221782794",
  "listingType": "FEATURED_LISTING",
  "title": "BMW X1",
  "subtitle": "1.5 18i xLine sDrive Euro 6 (s/s) 5dr",
  "attentionGrabber": "HEATED SEATS | PARKING SENSORS",
  "make": "BMW",
  "model": "X1",
  "trim": "xLine",
  "year": 2021,
  "condition": "used",
  "mileage": 11689,
  "registration": "2021 (71 reg)",
  "registrationDate": "01/09/2021",
  "fuelType": "Petrol",
  "bodyType": "SUV",
  "transmission": "Manual",
  "colour": "White",
  "engineSizeLitres": 1.5,
  "engineSizeCc": 1499,
  "engineDescription": "1.5L",
  "drivetrain": "Front Wheel Drive",
  "emissionClass": "Euro 6",
  "doors": 5,
  "seats": 5,
  "owners": 1,
  "enginePowerBhp": 134,
  "engineTorqueNm": 220,
  "accelerationSec": 9.7,
  "topSpeedMph": 127,
  "cylinders": 3,
  "lengthMm": 4447,
  "widthMm": 2060,
  "heightMm": 1598,
  "wheelbaseMm": 2670,
  "kerbWeightKg": 1405,
  "fuelTankLitres": 51,
  "bootSpaceSeatsUpLitres": 505,
  "bootSpaceSeatsDownLitres": 1550,
  "co2Emissions": "143g/km",
  "insuranceGroup": "22E",
  "taxPerYear": "£200*",
  "fuelConsumptionAvg": "44.8mpg",
  "priceText": "£19,050",
  "priceValue": 19050,
  "priceCurrency": "GBP",
  "priceIndicator": "LOW",
  "priceIndicatorLabel": "Lower price",
  "priceDeviation": "£1,131 below market average",
  "priceDeviationValue": -1131,
  "hasFinance": true,
  "sellerName": "Car Planet Barnet",
  "sellerType": "TRADE",
  "sellerId": "10040891",
  "sellerRating": 4.8,
  "sellerReviewCount": 894,
  "sellerLogoUrl": "https://m.atcdn.co.uk/dealer-logo/at2/adbranding/10040891/images/fpa_logo.gif",
  "sellerWebsite": "https://www.car-planet.co.uk/?utm_source=autotrader&utm_medium=referral&utm_campaign=vehicle_listings&utm_content=barnet",
  "contactEmail": "sales@car-planet.co.uk",
  "contactPhone": "(07537) 123898",
  "location": "New Southgate (9 miles)",
  "distanceMiles": 9,
  "description": "Our BMW X1 is finished in White. With a great specification, our X1 includes features such as 18 Inch Alloy Wheels, Front and Rear Electric Windows, Privacy Glass, Roof Rails, Air Conditioning, Blueto...",
  "descriptionText": "Our BMW X1 is finished in White. With a great specification, our X1 includes features such as 18 Inch Alloy Wheels, Front and Rear Electric Windows, Privacy Glass, Roof Rails, Air Conditioning, Blueto...",
  "features": [
    "12V Power Socket in Centre Console Front with Blanking Plug",
    "Apple CarPlay",
    "BMW ConnectedDrive",
    "BMW ConnectedDrive Online Services",
    "BMW Emergency Call",
    "... 105 more items"
  ],
  "featureCount": 110,
  "categoryTags": [
    "allrounder",
    "family"
  ],
  "serviceHistory": "Service history not provided",
  "vehicleCheckStatus": "PASSED",
  "vehicleCheckSummary": "10 checks passed",
  "expertReviewRating": 4,
  "expertReviewUrl": "http://www.autotrader.co.uk/content/car-reviews/bmw-x1-review-suv-2019",
  "imageUrl": "https://m.atcdn.co.uk/a/media/w600h450/e5554777f22243259952476c8be391f1.jpg",
  "galleryUrls": [
    "https://m.atcdn.co.uk/a/media/w600h450/e5554777f22243259952476c8be391f1.jpg",
    "https://m.atcdn.co.uk/a/media/w600h450/c92ba726aad44987a72df9615b94df7c.jpg",
    "https://m.atcdn.co.uk/a/media/w600h450/27065e2b09864e15ac676278bf78434e.jpg",
    "https://m.atcdn.co.uk/a/media/w600h450/39845cc023e248d6b252f296e1b073df.jpg",
    "https://m.atcdn.co.uk/a/media/w600h450/a1ed5bae7da84f1e9f2d4f84e36bcc1a.jpg",
    "... 38 more items"
  ],
  "imageCount": 43,
  "videoUrl": "https://youtube.com/embed/Z5DevB-wtTU?autoplay=1&rel=0",
  "contentQuality": "full",
  "detailFetched": true,
  "scrapedAt": "2026-06-26T18:20:42.980Z",
  "source": "autotrader.co.uk",
  "contentHash": "03db88a0fc7e734a63d0ced15878d3e331331896615fb5da82e6593a7ade81f2",
  "isRepost": false
}
```

### Incremental fields

When incremental mode is on, each record also carries:

- `changeType` — one of `NEW`, `UPDATED`, `UNCHANGED`, `REAPPEARED`, `EXPIRED`. Default output covers `NEW` / `UPDATED` / `REAPPEARED`; set `emitUnchanged: true` or `emitExpired: true` to opt into the others.
- `isRepost`, `repostOfId`, `repostDetectedAt` — populated when a new listing matches the tracked content of a previously expired one. Set `skipReposts: true` to drop detected reposts from the output.

### How to scrape Auto Trader

1. Go to [Autotrader UK Car Scraper](https://apify.com/blackfalcondata/autotrader-uk-scraper?fpr=1h3gvi) in Apify Console.
2. Enter a search keyword and optional location filter.
3. Set `maxResults` to control how many results you need.
4. Enable `includeDetails` if you need full descriptions, contact info, equipment and emissions data.
5. Click **Start** and wait for the run to finish.
6. Export the dataset as JSON, CSV, or Excel.

### Use cases

- Extract listing data from Auto Trader for market research and competitive analysis.
- Track pricing trends across regions and categories over time.
- Monitor new and changed vehicles on scheduled runs without processing the full dataset every time.
- Feed structured data into AI agents, MCP tools, and automated pipelines using compact mode.
- Export clean, structured data to dashboards, spreadsheets, or data warehouses.
- Benchmark seller / dealer reputation using rating fields.

### How much does it cost to scrape Auto Trader?

Autotrader UK Car Scraper uses [pay-per-event](https://docs.apify.com/platform/actors/paid-actors/pay-per-event) pricing. You pay a small fee when the run starts and then for each result that is actually produced.

- **Run start:** $0.005 per run
- **Per result:** $0.00075 per listing record

Example costs:

- 10 results: **$0.013**
- 25 results: **$0.024**
- 100 results: **$0.08**
- 200 results: **$0.15**
- 500 results: **$0.38**

#### Example: recurring monitoring savings

These examples compare full re-scrapes with incremental runs at different churn rates. Churn is the share of vehicles that are new or whose tracked content changed since the previous run. Actual churn depends on your query breadth, source activity, and polling frequency — the scenarios below are examples, not predictions.

Example setup: 100 results per run, daily polling (30 runs/month). Event-pricing examples scale linearly with result count.

| Churn rate | Full re-scrape run cost | Incremental run cost | Savings vs full re-scrape | Monthly cost after baseline |
|---|---:|---:|---:|---:|
| 5% — stable niche query | $0.08 | $0.00875 | $0.07 (89%) | $0.26 |
| 15% — moderate broad query | $0.08 | $0.02 | $0.06 (80%) | $0.49 |
| 30% — high-volume aggregator | $0.08 | $0.03 | $0.05 (66%) | $0.82 |

Full re-scrape monthly cost at daily polling: $2.40. First month with incremental costs $0.33 / $0.55 / $0.88 for the 5% / 15% / 30% scenarios because the first run builds baseline state at full cost before incremental savings apply.

Platform usage (compute and proxies) is billed separately by Apify based on actual consumption. Incremental runs consume less on result processing, though fixed per-run overhead stays the same.

### FAQ

#### How many results can I get from Auto Trader?

The number of results depends on the search query and available vehicles on Auto Trader. Use the `maxResults` parameter to control how many results are returned per run.

#### Does Autotrader UK Car Scraper support recurring monitoring?

Yes. Enable incremental mode to only receive new or changed vehicles on subsequent runs. This is ideal for scheduled monitoring where you want to track changes over time without re-processing the full dataset.

#### Can I integrate Autotrader UK Car Scraper with other apps?

Yes. Autotrader UK Car Scraper works with Apify's [integrations](https://apify.com/integrations?fpr=1h3gvi) to connect with tools like Zapier, Make, Google Sheets, Slack, and more. You can also use webhooks to trigger actions when a run completes.

#### Can I use Autotrader UK Car Scraper with the Apify API?

Yes. You can start runs, manage inputs, and retrieve results programmatically through the [Apify API](https://docs.apify.com/api/v2). Client libraries are available for JavaScript, Python, and other languages.

#### Can I use Autotrader UK Car Scraper through an MCP Server?

Yes. Apify provides an [MCP Server](https://apify.com/apify/actors-mcp-server?fpr=1h3gvi) that lets AI assistants and agents call this actor directly. Use compact mode, `descriptionMaxLength`, a single `descriptionFormat`, and `excludeEmptyFields` to keep payloads manageable for LLM context windows.

#### Is it legal to scrape Auto Trader?

This actor extracts publicly available data from Auto Trader. Web scraping of public information is generally considered legal, but you should always review the target site's terms of service and ensure your use case complies with applicable laws and regulations, including GDPR where relevant.

#### Your feedback

If you have questions, need a feature, or found a bug, please [open an issue](https://apify.com/blackfalcondata/autotrader-uk-scraper/issues?fpr=1h3gvi) on the actor's page in Apify Console. Your feedback helps us improve.

### You might also like

- [🚗 mobile.de \[$0.6/1K💰\] Fast Scraper · Finance · Dealer GPS](https://apify.com/blackfalcondata/mobile-de-scraper?fpr=1h3gvi) — Scrape mobile.de — Germany's largest car marketplace (1.4M+ listings) at $0.6 / 1,000 results. Get.
- [AutoScout24 \[Just 💰$0.8\] — European Cars + Dealer Data](https://apify.com/blackfalcondata/autoscout24-scraper?fpr=1h3gvi) — 💰 $0.8 per 1,000 cars. Scrape autoscout24.com — Europe's largest used-car marketplace covering.
- [Autotrader AU \[$0.9💰\] Car & Caravan Scraper 🇦🇺](https://apify.com/blackfalcondata/autotrader-au-scraper?fpr=1h3gvi) — Scrape autotrader.com.au car & caravan listings — advertised + previous price with a computed.
- [AutoTrader Canada — used car listings](https://apify.com/blackfalcondata/autotrader-ca-scraper?fpr=1h3gvi) — Scrape autotrader.ca — filter by make model year & price · full vehicle specs with listing photos ·.
- [Bilbasen — Denmark's Car Marketplace](https://apify.com/blackfalcondata/bilbasen-scraper?fpr=1h3gvi) — Scrape bilbasen.dk — Denmark's largest car marketplace with full vehicle specs · seller contacts ·.
- [Coches.net \[Just 💰$3\] — Used Cars in Spain](https://apify.com/blackfalcondata/coches-scraper?fpr=1h3gvi) — 💰 $3 per 1,000 listings. Scrape coches.net — Spain's largest vehicle marketplace for cars · vans ·.
- [DBA \[Just 💰$2\] — Denmark's Largest Marketplace](https://apify.com/blackfalcondata/dba-listings-scraper?fpr=1h3gvi) — 💰 $2 per 1,000 listings. Scrape dba.dk — Denmark's largest classifieds platform covering.
- [Finn.no Mobility Scraper 💰 $2/1K — Cars, MC, Boats & More](https://apify.com/blackfalcondata/finn-mobility-scraper?fpr=1h3gvi) — Scrape finn.no/mobility — Norway's largest vehicle marketplace with 100,000+ listings across 6.

### Getting started with Apify

New to Apify? [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=1h3gvi\&fp_sid=ctarich) — no credit card required.

1. Sign up — $5 platform credit included
2. Open this actor and configure your input
3. Click **Start** — export results as JSON, CSV, or Excel

Need more later? [See Apify pricing](https://apify.com/pricing?fpr=1h3gvi).

### Disclaimer

This actor accesses only publicly available data on autotrader.co.uk. You are responsible for how you use the extracted data — in particular any personal information such as names, phone numbers, or email addresses — and for complying with Autotrader UK Car's terms of use, applicable data-protection law (including the GDPR where it applies), and the anti-spam rules of your jurisdiction.

This actor is not affiliated with, endorsed by, or connected to Autotrader UK Car.

### Search keywords

autotrader scraper, autotrader api, apify autotrader, autotrader data extraction, autotrader uk car scraper, autotrader uk car api, apify autotrader uk car, autotrader uk car data extraction, autotrader.co.uk scraper, autotrader.co.uk data, autotrader.co.uk api, marketplace scraper, listings data, car listings scraper, vehicle data extraction, used car data.

# Actor input Schema

## `query` (type: `string`):

Optional free-text keyword(s), e.g. "M Sport" or "low mileage". Combine with the make/model filters below to narrow a search. Leave empty to browse purely by the filters.

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

Manufacturer to search, e.g. "BMW", "Audi", "Ford". Use the brand name exactly as it appears on Auto Trader.

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

Model to search within the chosen make, e.g. "3 Series", "Golf", "Fiesta".

## `location` (type: `string`):

UK postcode used as the distance anchor, e.g. "SW1A 1AA" or "M1". Results are sorted by distance from this point.

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

Paste Auto Trader UK car-search URLs (one per line). Each URL's filters are honored, and results are merged and deduplicated across all URLs. When provided, search URLs take precedence over the filter fields below.

## `country` (type: `string`):

Market to search.

## `maxResults` (type: `integer`):

Maximum total cars to return (0 = unlimited). The actor self-sizes memory to the run: 256 MB for runs up to 2000 results, 512 MB above that.

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

Lowest price to include, in GBP.

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

Highest price to include, in GBP.

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

Earliest registration year to include, e.g. 2015.

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

Latest registration year to include, e.g. 2023.

## `minMileage` (type: `integer`):

Lowest mileage to include (miles).

## `maxMileage` (type: `integer`):

Highest mileage to include (miles).

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

Filter by fuel type, exactly as listed on Auto Trader, e.g. "Petrol", "Diesel", "Electric", "Hybrid – Petrol/Electric".

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

Filter by gearbox.

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

Filter by body style, exactly as listed on Auto Trader, e.g. "Hatchback", "SUV", "Saloon", "Estate", "Coupe", "Convertible", "MPV".

## `colour` (type: `string`):

Filter by exterior colour, e.g. "Black", "White", "Grey", "Blue".

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

Restrict to trade (dealer) or private sellers.

## `includeDetails` (type: `boolean`):

Fetch each car's full detail page for the richest output (spec, history, running costs, full description, gallery, seller contact). Turn off for a faster, lighter run with the headline fields only.

## `descriptionMaxLength` (type: `integer`):

Truncate the car description to N characters. 0 = no truncation.

## `compact` (type: `boolean`):

Return core fields only (for AI-agent / MCP workflows).

## `excludeEmptyFields` (type: `boolean`):

Drop null, empty-string, and empty-array fields from each record before output. Smaller payloads for AI agents and dashboards.

## `incrementalMode` (type: `boolean`):

Compare against the previous run and only output new and changed cars. State Key is optional — it defaults to a stable key derived from your search inputs (keywords, make, model, location, country) so different filter sets never share state.

## `stateKey` (type: `string`):

Optional. Stable identifier for the tracked search. Leave empty to auto-generate from the search inputs.

## `skipReposts` (type: `boolean`):

When incremental, skip cars whose content matches a car that disappeared in a prior run (cross-run duplicate detection for relisted vehicles).

## `emitUnchanged` (type: `boolean`):

When incremental, also output cars that are unchanged since the previous run (tagged changeType:UNCHANGED). Off by default — incremental runs emit only new and changed cars.

## `emitExpired` (type: `boolean`):

When incremental, also output cars that disappeared since the previous run (tagged changeType:EXPIRED). Only emitted when the run provably enumerated the full result set. Off by default.

## `telegramToken` (type: `string`):

Telegram bot token (from @BotFather). Required for Telegram notifications.

## `telegramChatId` (type: `string`):

Telegram chat or channel ID (e.g. "-100123456789"). Required when Telegram Bot Token is set.

## `discordWebhookUrl` (type: `string`):

Discord incoming webhook URL. Server Settings → Integrations → Webhooks → New Webhook.

## `slackWebhookUrl` (type: `string`):

Slack incoming webhook URL. api.slack.com/messaging/webhooks.

## `notificationLimit` (type: `integer`):

Maximum number of cars included in each notification message (1–20).

## `notifyOnlyChanges` (type: `boolean`):

When Incremental Mode is on, only send notifications for NEW and UPDATED cars. Has no effect outside incremental mode.

## `whatsappAccessToken` (type: `string`):

WhatsApp Cloud API permanent access token (System User token from Meta Business). Recipient must have messaged the business number within the last 24h (service-conversation window — free since Nov 2024).

## `whatsappPhoneNumberId` (type: `string`):

Your WhatsApp Business phone-number ID (numeric, from Meta dashboard). Required when WhatsApp Access Token is set.

## `whatsappTo` (type: `string`):

Recipient phone in E.164 format without + (e.g. "447700900123"). Recipient must have messaged your business number within the last 24h.

## `webhookUrl` (type: `string`):

Receives a JSON POST with {metadata, items} after each run. Universal escape hatch for n8n / Make / Zapier / custom backends.

## `webhookHeaders` (type: `object`):

Optional JSON object of custom headers (e.g. {"Authorization":"Bearer ..."}).

## `appConnector` (type: `string`):

Optional. Pick a connected app under Settings → API & Integrations to receive your results (including any contact details). Best-effort across MCP connectors as Apify expands its catalog.

## `mcpIssueTeam` (type: `string`):

Only when the connected app is an issue tracker: the team (name or ID) the summary issue is created under, if that app requires one.

## `descriptionFormat` (type: `string`):

Choose which representation of the listing description to include. `all` keeps every variant; the others keep only the selected one.

## Actor input object example

```json
{
  "make": "BMW",
  "startUrls": [],
  "country": "GB",
  "maxResults": 5,
  "includeDetails": true,
  "descriptionMaxLength": 0,
  "compact": false,
  "excludeEmptyFields": false,
  "incrementalMode": false,
  "skipReposts": false,
  "emitUnchanged": false,
  "emitExpired": false,
  "notificationLimit": 5,
  "notifyOnlyChanges": false,
  "descriptionFormat": "all"
}
```

# 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 = {
    "make": "BMW",
    "maxResults": 5,
    "includeDetails": false,
    "excludeEmptyFields": false,
    "descriptionFormat": "all"
};

// Run the Actor and wait for it to finish
const run = await client.actor("blackfalcondata/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 = {
    "make": "BMW",
    "maxResults": 5,
    "includeDetails": False,
    "excludeEmptyFields": False,
    "descriptionFormat": "all",
}

# Run the Actor and wait for it to finish
run = client.actor("blackfalcondata/autotrader-uk-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 '{
  "make": "BMW",
  "maxResults": 5,
  "includeDetails": false,
  "excludeEmptyFields": false,
  "descriptionFormat": "all"
}' |
apify call blackfalcondata/autotrader-uk-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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