This AutoTrader scraper exports public UK vehicle listings from AutoTrader search pages and individual vehicle pages. Build a structured vehicle catalogue for comparison, dealer-inventory research, and saved-search monitoring.
What you get
Each dataset row is one public vehicle listing. The Actor preserves the requested source URL and collects the listing fields that AutoTrader makes publicly visible.
| Field group | Included data |
|---|---|
| Identity | advertId, sourceUrl, sourceSearchUrl, title, make, model, variant, year, registration |
| Vehicle specification | mileage, fuelType, transmission, bodyType, specifications, features |
| Price and finance | price, finance including public representative finance details when shown |
| Seller | dealer including public name, contact, rating and location fields when shown |
| Media and checks | images, history, vehicleCheck when shown on the public listing |
| Collection context | page, scrapedAt |
Optional sections are omitted when the public page does not show them; the Actor does not invent unavailable vehicle, dealer, finance, or check data.
Used car listings scraper use cases
Who is it for?
- Vehicle buyers comparing advertised specifications, mileage, price and finance terms.
- Dealers and analysts tracking public competitor stock and advertised inventory changes.
- Researchers building a repeatable UK vehicle dataset from saved AutoTrader searches.
- Automations and agents that need normalized rows instead of manually reviewing search cards.
Input settings
| Input | Description |
|---|---|
startUrls |
Required list of public AutoTrader UK search or vehicle-detail URLs. Search URLs need a postcode. |
maxItems |
Hard cap across all supplied URLs. Start low while validating a search; maximum is 10,000. |
includeListingDetails |
When enabled, visits each public detail page to collect the fullest available vehicle, seller, finance, media and history data. Disable for faster search-card exports. |
Output details
advertId and sourceUrl are the stable identifiers to retain when deduplicating later exports. sourceSearchUrl and page identify where a search result came from. price is the advertised value shown on the page, while finance is a nested object containing only the public finance terms displayed for that listing.
dealer, images, history, and vehicleCheck are nested public sections. Their properties vary by listing, seller type, and whether the page exposes the relevant panel. A vehicle detail URL is the best choice when you need the fullest record for a known advert.
Tips for reliable exports
- Copy a complete public search URL from AutoTrader, including its postcode and filters.
- Start with 5–10 items when trying a new search URL.
- Use a vehicle detail URL when you need one complete record rather than a search result set.
- Keep
includeListingDetailsenabled for dealer, finance, media and vehicle-check fields. - Save
advertIdandsourceUrlin your own workflow to compare later runs or avoid duplicate imports.
Limits and partial results
This Actor works with anonymous public AutoTrader UK pages only. Sign-in-only, private, removed, expired, or temporarily unavailable listings are not collected. If one source URL cannot be read, rows already collected from other URLs remain in the dataset. Public page layouts and available fields can differ by advert.
API usage
Use the same input JSON with the Apify API. Replace YOUR_APIFY_TOKEN with an API token and adjust the URL or item limit for your workflow.
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/autotrader-uk-vehicles-scraper').call({
startUrls: [{ url: 'https://www.autotrader.co.uk/car-search?postcode=SW1A%201AA&make=BMW' }],
maxItems: 10,
includeListingDetails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("fetch_cat/autotrader-uk-vehicles-scraper").call(run_input={
"startUrls": [{"url": "https://www.autotrader.co.uk/car-search?postcode=SW1A%201AA"}],
"maxItems": 10,
"includeListingDetails": True,
})
print(list(client.dataset(run["defaultDatasetId"]).iterate_items()))
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~autotrader-uk-vehicles-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://www.autotrader.co.uk/car-search?postcode=SW1A%201AA"}],"maxItems":10,"includeListingDetails":true}'
MCP and AI agents
Run this Actor from Apify MCP with the tool selector below, then pass the same startUrls, maxItems, and includeListingDetails fields used in the input recipe:
https://mcp.apify.com?tools=fetch_cat/autotrader-uk-vehicles-scraper
For Claude Code, add the server with:
claude mcp add apify --transport http "https://mcp.apify.com?tools=fetch_cat/autotrader-uk-vehicles-scraper"
Or add this server entry to an MCP client configuration:
{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com?tools=fetch_cat/autotrader-uk-vehicles-scraper"
}
}
}
Example prompts: “Export the first 10 public BMW listings from this AutoTrader UK search URL” or “Collect the public vehicle, dealer, finance, and image fields from this AutoTrader detail URL.”
Support
For help, open an issue from this Actor's Apify Store page and include the public URL you used, the input settings (without credentials), and the run ID. Do not share private account information.