AutoTrader UK Car Listings Scraper avatar

AutoTrader UK Car Listings Scraper

Pricing

Pay per event

Go to Apify Store
AutoTrader UK Car Listings Scraper

AutoTrader UK Car Listings Scraper

🚗 Extract public AutoTrader UK car listings from a search URL or postcode filters. Get prices, vehicle details, sellers, locations, finance signals, images, badges, and search metadata for inventory and market analysis.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Collect structured vehicle adverts from AutoTrader.co.uk using a pasted search URL or buyer-friendly filters.

AutoTrader UK Car Listings Scraper turns public UK car search results into clean JSON, CSV, Excel, XML, or RSS-ready dataset rows. It captures advert IDs, vehicle details, prices, sellers, locations, finance signals, photos, badges, and search metadata without requiring an AutoTrader account.

Use it to compare local inventory, monitor dealer stock, research asking prices, build automotive lead lists, or feed recurring market-data pipelines.

What does AutoTrader UK Car Listings Scraper do?

The Actor reproduces a public AutoTrader UK car search and paginates its vehicle cards.

It can:

  • 🚗 accept a full AutoTrader /car-search URL;
  • 📍 search from a UK postcode and radius;
  • 🔎 filter by make, model, price, year, mileage, and seller type;
  • ↕️ sort by relevance, price, distance, recency, or mileage;
  • 🧾 export one typed record per unique advert;
  • 💷 capture displayed and numeric asking prices;
  • 🏪 identify trade and private sellers;
  • 🖼️ return high-resolution image URLs and image counts;
  • 💳 expose finance availability and returned payment signals;
  • 📊 preserve total-result, page, position, and search metadata.

The scraper uses AutoTrader's anonymous public search data. No login, cookies, private API key, or user account is required.

Why use this AutoTrader UK scraper?

Copying vehicle cards manually is slow and difficult to repeat. Search pages also mix visual presentation with tracking and promotional cards.

This Actor provides:

  • Repeatability — run the same input on a schedule.
  • Stable IDs — deduplicate and compare adverts by advertId.
  • Typed prices — use priceValue for calculations while retaining displayed price.
  • Source links — every record links back to the public advert.
  • Search provenance — know which page, position, URL, and search ID produced a row.
  • Bounded costs — control both listings and search pages.
  • Reliable blocking behaviour — failed upstream requests are retried with fresh UK sessions rather than silently returning empty data.

Who is it for?

Car dealers and inventory teams

Monitor competing stock, asking prices, finance offers, advert age ordering, and local supply.

Automotive analysts

Build repeatable samples by postcode, radius, make, model, year, mileage, and seller type.

Pricing and valuation teams

Compare numeric asking prices and price-indicator badges across defined market segments.

Lead generation teams

Collect current advert, dealer, location, and seller signals for compliant business research.

Developers and data engineers

Send normalized rows to Google Sheets, databases, warehouses, dashboards, webhooks, or custom APIs.

Input options

You can use either input style.

Paste a search URL

Copy the URL after configuring filters on AutoTrader UK:

{
"searchUrl": "https://www.autotrader.co.uk/car-search?sort=price-asc&postcode=B1%201AA&radius=50&make=Ford&price-to=15000",
"maxItems": 100,
"maxPages": 6
}
{
"postcode": "M1 1AE",
"radius": 25,
"make": "BMW",
"model": "3 Series",
"minYear": 2020,
"maxMileage": 50000,
"sellerType": "trade",
"sort": "newest",
"maxItems": 100,
"maxPages": 6
}

Structured fields override the matching values from searchUrl. This is useful when a pipeline starts from a reusable URL but changes one parameter programmatically.

Input field reference

FieldTypeDescription
searchUrlstringPublic AutoTrader UK car-search URL
postcodestringUK postcode used as the search centre
radiusintegerSearch distance in miles
makestringAutoTrader vehicle make
modelstringAutoTrader model name
minPrice / maxPriceintegerAsking-price range in GBP
minYear / maxYearintegerModel-year range
maxMileageintegerMaximum advertised mileage
sellerTypestringall, trade, or private
sortstringRelevance, price, distance, newest, or mileage ordering
maxItemsintegerMaximum unique adverts to save
maxPagesintegerMaximum search pages to request

Provide at least searchUrl or postcode.

Output data

Each dataset item represents one vehicle advert.

FieldMeaning
advertIdAutoTrader advert identifier
urlAbsolute public advert URL
titleVehicle make/model title shown on the card
derivativeTrim, engine, transmission, and body derivative text
make, model, yearStructured vehicle identity
conditionReturned condition, normally used or new
priceDisplayed price such as £7,895
priceValueNumeric GBP asking price
vehicleLocationSeller location and displayed distance
distanceMilesNumeric distance from the search postcode
sellerTypeTrade or private seller signal
dealerId, dealerUrl, dealerRatingDealer signals when returned
imageUrls, imageCountListing photos and total photo count
financeAvailableWhether the card exposes finance/digital retailing
monthlyFinancePriceDisplayed monthly payment when returned
financeTermMonthsFinance term when returned
financeInitialPaymentInitial payment when returned
badgesMileage, registration, price, approval, or other card badges
priceIndicatorAutoTrader price indicator when present
searchPage, positionListing placement in this run
totalResultsTotal source matches reported for the search
searchId, searchUrlReproducibility metadata
scrapedAtUTC extraction timestamp

Optional fields are omitted when AutoTrader does not return them. The Actor does not manufacture placeholder values.

Example output

{
"advertId": "202603050447194",
"url": "https://www.autotrader.co.uk/car-details/202603050447194",
"title": "Audi A1",
"derivative": "1.4 TFSI Sport Sportback Euro 6 (s/s) 5dr",
"make": "Audi",
"model": "A1",
"year": 2016,
"condition": "used",
"price": "£7,895",
"priceValue": 7895,
"vehicleLocation": "Sutton (10 miles)",
"distanceMiles": 10,
"sellerType": "TRADE",
"dealerRating": 4.9,
"imageCount": 51,
"financeAvailable": false,
"badges": ["Great price", "63,439 miles", "2016 (16 reg)"],
"priceIndicator": "GREAT",
"searchPage": 1,
"totalResults": 25465,
"scrapedAt": "2026-07-15T02:42:03.592Z"
}

How to scrape AutoTrader UK listings

  1. Open the Actor input page.
  2. Paste an AutoTrader search URL, or enter a UK postcode.
  3. Add vehicle filters if needed.
  4. Keep maxItems low for the first run.
  5. Set maxPages as a cost and pagination safety limit.
  6. Click Start.
  7. Open the Dataset tab.
  8. Export JSON, CSV, Excel, XML, RSS, or HTML.

For recurring monitoring, save the configuration as an Apify Task and attach a schedule.

How much does it cost to scrape AutoTrader UK listings?

This Actor uses pay-per-event pricing:

  • a $0.005 Run started event per run;
  • one tiered Item extracted event per stored vehicle.
Apify planPrice per vehicle1,000 vehicles plus start
Free$0.00014272about $0.148
Bronze$0.00012411about $0.129
Silver$0.000096805about $0.102
Gold$0.000074465about $0.079
Platinum$0.000049643about $0.055
Diamond$0.00003475about $0.040

Residential UK proxy transfer is included in the Actor's operation; users do not configure or buy a separate proxy. Rates were calculated from a representative two-page cloud run and include compute and observed residential transfer with a profitability safety margin.

A low maxItems and maxPages value is the best way to estimate a specific search. Narrow searches naturally cost less than collecting thousands of adverts.

Pagination and result limits

AutoTrader reports its own page count and total matches. The Actor stops when any of these occurs:

  • maxItems unique records have been saved;
  • maxPages has been reached;
  • the source page count has been reached;
  • AutoTrader returns no listing cards.

Promotional and non-vehicle inserts are skipped. Duplicate advert IDs are stored only once.

Reliability and anti-blocking

AutoTrader protects its normal web pages with Cloudflare. This Actor uses the public listing-data request made by the search application rather than rendering every page in a browser.

Requests use:

  • UK residential network routing;
  • sequential, conservative pagination;
  • bounded retries;
  • fresh sticky sessions after blocking or transport errors;
  • explicit GraphQL error checks;
  • non-empty card validation.

If AutoTrader changes its application schema, the run fails visibly instead of reporting a misleading empty success.

Data quality tips

  • Use a valid full UK postcode for location-sensitive searches.
  • Prefer AutoTrader's own make and model spelling.
  • Paste a working browser search URL for complex filter combinations.
  • Keep the URL and structured fields consistent.
  • Use advertId as the database primary key.
  • Compare scrapedAt across scheduled runs.
  • Retain both price and priceValue.
  • Check totalResults before assuming a sample covers the full market.

Monitoring dealer inventory

Create one Apify Task per market or competitor segment. For example:

  • Ford trade listings within 100 miles of Birmingham;
  • BMW vehicles from 2020 onward near Manchester;
  • private cars below £10,000 around London;
  • newest low-mileage electric cars nationwide.

Schedule tasks daily or hourly, then compare advertId and priceValue with the previous dataset. New IDs indicate fresh adverts; missing IDs can indicate sold or withdrawn stock; price changes support competitive analysis.

Integrations

Google Sheets

Use the Google Sheets integration to append vehicle rows for pricing and inventory teams.

Webhooks

Send a run-finished webhook to n8n, Make, Zapier, or your backend. Fetch the dataset using defaultDatasetId.

Databases and warehouses

Load JSON or CSV into PostgreSQL, BigQuery, Snowflake, Redshift, or object storage. Use advertId for upserts.

Slack and email alerts

Trigger notifications when a scheduled run finds a target make, a price below a threshold, or a new private advert.

API usage

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/autotrader-uk-car-listings-scraper').call({
postcode: 'SW1A 1AA',
radius: 25,
make: 'Toyota',
maxItems: 50,
maxPages: 3,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/autotrader-uk-car-listings-scraper').call(run_input={
'postcode': 'M1 1AE',
'radius': 25,
'make': 'BMW',
'maxItems': 50,
'maxPages': 3,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~autotrader-uk-car-listings-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"postcode": "B1 1AA",
"radius": 50,
"sellerType": "trade",
"maxItems": 25,
"maxPages": 2
}'

After completion, fetch items from the run's defaultDatasetId.

Use with Apify MCP

Connect AI assistants to Apify MCP with this Actor enabled.

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/autotrader-uk-car-listings-scraper"

Claude Desktop and Cursor

Add this server to the app's MCP JSON configuration:

{
"mcpServers": {
"apify-autotrader-uk": {
"url": "https://mcp.apify.com?tools=automation-lab/autotrader-uk-car-listings-scraper"
}
}
}

VS Code

Add the same actor-scoped HTTP URL through the MCP: Add Server command, then authenticate with Apify when prompted.

Example prompts:

  • “Scrape 50 recent BMW listings within 25 miles of Manchester and summarize the median asking price.”
  • “Find trade Ford listings below £15,000 near Birmingham and group them by model year.”
  • “Compare this week's advert IDs with last week's dataset and list new inventory.”

The MCP server works with Claude Desktop, Claude Code, Cursor, and other compatible clients.

Scheduling recurring runs

  1. Save a tested input as an Apify Task.
  2. Open Schedules in Apify Console.
  3. Choose an interval and timezone.
  4. Attach a webhook or downstream integration.
  5. Upsert results by advertId.

Avoid unnecessarily frequent runs when the target market changes slowly. A daily schedule is often enough for inventory intelligence.

This Actor accesses public vehicle search results without login. Scraping legality depends on jurisdiction, purpose, volume, storage, and downstream use.

Users are responsible for:

  • complying with applicable laws and AutoTrader terms;
  • respecting intellectual property and database rights;
  • avoiding harmful or excessive collection;
  • handling seller information lawfully;
  • applying UK GDPR and data-retention requirements where relevant;
  • using the output for legitimate analysis and automation.

The Actor does not submit forms, contact sellers, bypass account controls, or access private user data.

Limitations

  • The initial version extracts search-card data, not every detail-page specification.
  • Dealer contact details and advert descriptions are not guaranteed.
  • Some finance fields are absent when the search card does not expose a quote.
  • Search results and ranking can change between runs.
  • AutoTrader may cap the number of browsable pages for very broad searches.
  • URL filters added by AutoTrader in the future may require an Actor update.
  • Only the AutoTrader UK car-search channel is supported in this version.

Troubleshooting

Why did my run return no vehicles?

Open the same search URL in AutoTrader and confirm that it has matches. Check postcode spelling, radius, make/model naming, and conflicting year or price limits.

Why did the run fail instead of returning an empty dataset?

The Actor intentionally fails after bounded retries when AutoTrader blocks or changes the data contract. This prevents false “successful” monitoring runs with zero records. Retry later or report the run ID if the issue persists.

Why does the URL radius differ from my result?

A structured radius field overrides the radius in searchUrl. Remove the structured field when the pasted URL should be authoritative.

Why are some finance fields missing?

AutoTrader only returns finance details for eligible adverts and cards. financeAvailable remains the reliable boolean signal.

FAQ

Does it require an AutoTrader login?

No. The supported search-listing workflow is anonymous.

Can I paste any AutoTrader URL?

Use a public autotrader.co.uk/car-search URL. Advert detail URLs are not input targets in this release.

Does it scrape vans, bikes, caravans, or trucks?

No. Version 1 supports the UK cars channel only.

Can it collect thousands of listings?

Yes, subject to source pagination and your maxItems/maxPages limits. Start small and scale after reviewing output and cost.

Are duplicates removed?

Yes. Advert IDs are deduplicated within each run.

Can I export to Excel?

Yes. Apify datasets support Excel, CSV, JSON, XML, RSS, and HTML exports.

Can I run it on a schedule?

Yes. Save the input as an Apify Task and attach an Apify schedule.

Support

If a run fails repeatedly, share the Apify run URL, input, expected result, and a public AutoTrader search URL. This makes source changes and edge cases faster to reproduce.

For feature requests, describe the missing field or workflow and whether it is visible on the search card or only on the advert detail page.