AutoTrader UK Scraper icon

AutoTrader UK Scraper

Pull structured vehicle listings from autotrader.co.uk at scale. Search by filters or use AutoTrader URLs. Returns price, make, model, year, mileage,…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

AutoTrader UK Scraper at a glance

AutoTrader UK Scraper is a ready-to-run Apify actor from abotapi for collecting lead generation data. Its documented output includes advert id, change type (incremental mode), url, title and derivative, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Lead Generation, Travel, Ecommerce
Pricing
$2.00 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
43 options

Pull structured vehicle listings from autotrader.co.uk at scale. Search by filters or use AutoTrader URLs. Returns price, make, model, year, mileage, full specs, finance, vehicle history check, photo gallery, and dealer contact details.

What AutoTrader UK Scraper can do

  • More data than typical scrapers. 100+ fields per vehicle, including full dealer contact (name, phone, email, postal address, GPS coordinates, opening hours), FCA finance registration, a 10-point vehicle history check, structured specification, running costs and the complete photo gallery with per-image classification tags.
  • Two ways in. Search by filters (make, model, price, year, mileage, fuel, body, transmission, colour, drivetrain, seller type, distance and more) or paste any AutoTrader search or advert URL.
  • Eight marketplaces, one actor. Cars, vans, bikes, motorhomes, caravans, trucks, farm and plant, all through the same input.
  • Full result depth on request. Walks up to 100 result pages per search, up to the site's own ceiling of about 2,000 listings; set Max pages to go past the default of 1.
  • Pay only for the detail you use. The per-advert enrichment surcharge is billed only for adverts whose detail page is actually fetched and kept in the output; a listing-grid-only search run adds no surcharge.
  • Resume and recurring monitoring. Continue an interrupted crawl with resumeFromRunId, or turn on Incremental mode to schedule the same search and get only the listings that are new, changed, back on sale, or gone.

Choose what to collect

These inputs let you configure AutoTrader UK Scraper - Cars, Prices, Specs & Dealers. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredsearch = pick a vehicle type, postcode and filters. url = paste AutoTrader search or advert URLs.

Choices: search, url

channelstringWhich AutoTrader marketplace to search.

Choices: cars, vans, bikes, motorhomes, caravans, trucks, farm, plant

postcodestringUK postcode used as the search centre and to compute distance to each seller. Required by the site.
makestringExact AutoTrader make, e.g. BMW, Ford, Volkswagen. Leave empty for all makes.
modelstringExact AutoTrader model, e.g. '3 Series'. Only applies when a make is set.
minPriceintegerMinimum total price. Leave empty for no minimum.
maxPriceintegerMaximum total price. Leave empty for no maximum.
Show 36 more inputs
More input fields
InputWhat it controls
minYearintegerEarliest registration/manufacture year. Leave empty for any.
maxYearintegerLatest registration/manufacture year. Leave empty for any.
minMileageintegerMinimum mileage. Leave empty for any.
maxMileageintegerMaximum mileage. Leave empty for any.
fuelTypestringFilter by fuel type. Leave empty for any.

Choices: , Petrol, Diesel, Electric, Hybrid, Petrol Plug-in Hybrid, Diesel Plug-in Hybrid, Petrol Hybrid, Diesel Hybrid, Bi Fuel, Hydrogen

bodyTypestringFilter by body type (car values shown; other vehicle types accept their own).

Choices: , Hatchback, Saloon, Estate, SUV, Coupe, Convertible, MPV, Pickup

transmissionstringFilter by gearbox. Leave empty for any.

Choices: , Automatic, Manual

colourstringFilter by exterior colour, e.g. Black, Blue, White. Leave empty for any.
drivetrainstringFilter by drivetrain. Leave empty for any.

Choices: , Front Wheel Drive, Rear Wheel Drive, Four Wheel Drive

sellerTypestringTrade (dealer) or private seller.

Choices: any, trade, private

minEngineSizestringMinimum engine size in litres, e.g. 1.6. Leave empty for any.
maxEngineSizestringMaximum engine size in litres, e.g. 3.0. Leave empty for any.
doorsintegerExact number of doors. Leave empty for any.
seatsintegerExact number of seats. Leave empty for any.
radiusintegerLimit results to this many miles from the postcode. Leave empty for national.
writeoffStatusstringInclude all, exclude written-off vehicles, or show only written-off vehicles.

Choices: include, exclude, only

priceSearchTypestringWhether the price filters apply to total price or monthly finance payment.

Choices: total, monthly

sortBystringResult ordering. Note: featured/sponsored adverts may appear first regardless of sort.

Choices: relevance, price_asc, price_desc, distance, mileage, year_dsc, year_asc, most_recent

urlsarrayPaste AutoTrader search URLs (e.g. https://www.autotrader.co.uk/car-search?make=BMW&postcode=SW1A1AA) or advert URLs (e.g. https://www.autotrader.co.uk/car-details/202601038902613). Multi-URL supported. Also supported: /cars/{make}/{model} and /cars/used browse pages, and a page= parameter as the start page. Legacy /classified/advert/{id} links are mapped to the car advert. Unsupported links (dealer pages, /m/ mobile paths) are skipped with a warning.
startUrlsarrayAlias of "URLs" for users coming from other AutoTrader scrapers. When filled it takes precedence over URLs and switches the run to URL mode.
maxItemsintegerAlias of "Max listings". Used when Max listings is 0.
endPageintegerAlias of "Max pages per search": the larger of the two applies.
fetchDetailsbooleanON: each listing gets full description, spec breakdown, 10-point history check, service history, finance details, full gallery with image tags and complete dealer contact (one extra request per listing). OFF: faster, listing-grid fields only.
includeFinanceGuidesbooleanOFF (default): keep only advert-specific finance (monthly price, FCA name/number, lender type). ON: also include AutoTrader's static PCP/HP/CS explainer text, which is identical for every advert and large. Only applies when 'Fetch full advert details' is ON.
maxPagesintegerHow many result pages (about 20 listings each) to walk per search (1 page when left empty). AutoTrader caps a single search at 100 pages (about 2,000 listings). Subdivide with filters to go beyond that. Values above 100 are clamped to 100.
maxListingsintegerOverall cap across all searches/URLs. 0 means no cap (bounded by max pages).
maxResidentialRequestsintegerBudget control: the most residential exits the run may use before falling back to the backup pool. 0 disables residential entirely (datacenter + backup only). Residential is only used if datacenter gets rejected.
resumeFromRunIdstringPaste a previous run ID or dataset ID to continue a large crawl of listings without returning or charging for listings already collected there. Use this after an interrupted run, or when continuing a listing pull in another run. For recurring monitoring of the same search, use Incremental mode below instead.
incrementalModebooleanTurn this on for recurring monitoring of the same search. The first run returns all matching listings as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED listings. Turn on "Emit unchanged" or "Emit expired" only when you also want those listings returned (and billed). State is kept separately for each mode/filter combination; use State key when you want to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the mode/filters, so different searches never mix state with each other.
emitUnchangedbooleanOff by default. Turn on to also return listings that have not changed since the last run, marked UNCHANGED. This returns (and bills) extra rows you already have, so leave it off unless you specifically want the full snapshot every run.
emitExpiredbooleanOff by default. Turn on to also return listings that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search, not when Max listings/Max pages capped it, a page was blocked, or Resume was used. This returns (and bills) extra synthetic rows, so leave it off unless you need expiry tracking.
ignoreFieldsForChangesarrayField names that must NOT make a listing count as UPDATED, e.g. description or specifications..value (dotted paths; matches every list item). The fields are still returned in every row. Fields that move with the live market or your postcode (distance, badges, price rating, deviations, highlights) and image host names are always ignored. Changing this list never causes a one-time wave of UPDATED rows.
mcpConnectorsarrayOptionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify, Settings, Integrations, then select it here. Notion gets a page per vehicle; other connectors get a best-effort write. Each item is written as a condensed, human-readable summary (a title plus key fields), not the full JSON. Leave empty to skip. Supported: Notion, Linear, Airtable, Apify.
notionParentPageUrlstringURL or id of the Notion page under which vehicle pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on vehicles written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

advertIdAdvert ID
changeTypeChange Type (Incremental Mode) (text)
urlURL (link)
titleTitle
subTitleDerivative
makeMake
modelModel
yearYear
conditionCondition
mileageMileage
pricePrice
priceFormattedPrice (text)
Show 40 more fields
priceIndicatorPrice rating
monthlyPriceMonthly
hasFinanceFinance
fuelTypeFuel
bodyTypeBody
transmissionGearbox
engineSizeLitresEngine
doorsDoors
seatsSeats
bodyColourColour
co2EmissionsCO2
annualTaxTax/yr
insuranceGroupIns. group
sellerTypeSeller
dealerNameDealer
dealerReviewRatingDealer rating
dealerReviewCountDealer reviews
vehicleLocationLocation
distanceMilesDistance (mi)
latitudeLat
longitudeLng
numberOfImagesPhotos
vehicleCheckHistory check
channelType
scrapedAtScraped
changedFieldsChanged Fields (Incremental Mode) (text)
firstSeenAtFirst Seen At (Incremental Mode)
lastSeenAtLast Seen At (Incremental Mode)
descriptionDescription
keySpecificationKey spec
specificationsSpecifications
runningCostsRunning costs
keyFeaturesKey features
standardEquipmentStandard equipment
serviceHistoryService history
financeFinance
financeProviderFinance provider
financeTermMonthsFinance term (months)
dealerDealer
imagesImages

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "advertId": "302099001122334",
  "url": "https://www.autotrader.co.uk/car-details/302099001122334",
  "channel": "cars",
  "title": "Ford Focus",
  "subTitle": "1.0 EcoBoost Titanium 5dr",
  "make": "Ford",
  "model": "Focus",
  "vehicleCategory": "Car",
  "year": 2021,
  "condition": "used",
  "mileage": 18500,
  "price": 14500,
  "priceFormatted": "£14,500",
  "priceIndicator": "FAIR",
  "priceIndicatorLabel": "Fair price",
  "hasFinance": true,
  "monthlyPrice": "£210",
  "financeProvider": "Sample Finance",
  "sellerType": "TRADE",
  "dealerName": "Northgate Motor Group",
  "dealerReviewRating": 4.3,
  "dealerReviewCount": 182,
  "vehicleLocation": "Leeds",
  "distanceMiles": 12,
  "latitude": 53.8,
  "longitude": -1.5,
  "images": [
    "https://m.atcdn.co.uk/a/media/w800h600/sample0001.jpg"
  ],
  "numberOfImages": 24,
  "badges": [
    {
      "type": "MILEAGE",
      "text": "18,500 miles"
    }
  ],
  "fuelType": "Petrol",
  "bodyType": "Hatchback",
  "engineSizeLitres": "1.0L",
  "engineSizeCC": 999,
  "transmission": "Manual",
  "drivetrain": "Front Wheel Drive",
  "doors": "5",
  "seats": "5",
  "bodyColour": "Blue",
  "emissionClass": "Euro 6",
  "trim": "Titanium",
  "description": [
    "A well maintained example with a full service history."
  ],
  "keySpecification": [
    {
      "label": "Mileage",
      "value": "18,500 miles"
    }
  ],
  "specifications": [
    {
      "category": "Performance",
      "items": [
        {
          "label": "0-62mph",
          "value": "10.5 seconds"
        }
      ]
    }
  ],
  "keyFeatures": [
    "Apple CarPlay",
    "Cruise Control"
  ],
  "standardEquipment": [
    "Bluetooth",
    "Air Conditioning"
  ],
  "runningCosts": [
    {
      "label": "Insurance group",
      "value": "12E"
    }
  ],
  "co2Emissions": "108g/km",
  "annualTax": "£180",
  "fuelConsumption": "54.3mpg",
  "insuranceGroup": "12E",
  "vehicleCheck": {
    "status": "PASSED",
    "statusText": "10 checks passed",
    "checks": [
      {
        "id": "STOLEN",
        "label": "Not recorded as stolen",
        "status": "PASSED"
      }
    ]
  },
  "serviceHistory": {
    "type": "FULL",
    "label": "Service history",
    "description": "Full service history"
  },
  "owners": "2",
  "finance": {
    "monthlyPrice": "£210",
    "fcaName": "Sample Finance Limited",
    "fcaNumber": "000111",
    "lenderType": "appointed representative"
  },
  "dealer": {
    "name": "Northgate Motor Group",
    "email": "sales@example-dealer.co.uk",
    "phone": "(0113) 496 0000",
    "website": "https://www.example-dealer.co.uk",
    "address": "1 Sample Business Park",
    "town": "Leeds",
    "county": "West Yorkshire",
    "postcode": "LS1 4AP",
    "openingHours": [
      {
        "day": "Monday",
        "hours": "09:00 - 18:00"
      }
    ]
  },
  "galleryImages": [
    {
      "url": "https://m.atcdn.co.uk/a/media/w800h600/sample0001.jpg",
      "tags": [
        "Front Right"
      ]
    }
  ],
  "scrapedAt": "2026-01-01T00:00:00.000Z"
}

Ways to use this data

  • Dealer stock monitoring: track a dealer's or a competitor's live inventory, price changes and how long stock sits before it sells.
  • Market pricing research: build price-per-mile and price-per-year datasets across makes and models to spot under- and over-priced listings.
  • Lead generation: collect dealer contact details and current stock for outreach lists or an aggregator site.
  • Vehicle history and condition screening: pull the 10-point history check and full specification before shortlisting a vehicle.
  • Price-drop and new-listing alerts: schedule Incremental mode so you only hear about listings that appear, change price, or disappear.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does AutoTrader UK Scraper return?

The documented output for AutoTrader UK Scraper includes advert id, change type (incremental mode), url, title, derivative, make, model and year. Availability of each field depends on the source page and the selected mode.

How much does AutoTrader UK Scraper cost?

It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only new, changed or expired listings on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Later runs then return only NEW and UPDATED listings by default, and unchanged ones are not billed. Turn on Emit expired to also learn when a tracked listing disappears, once a run has scanned the whole search end to end; REAPPEARED only appears once that has happened, for a listing an earlier such run had marked gone.

Why does a pasted advert URL return so many empty fields?

A pasted advert URL is fetched directly, without going through the search grid, so it never picks up the search-grid-only fields (title, make, model, year, price, badges, photo list, condition, price indicator, monthly price, number of images, vehicle location). It still returns the full detail-page fields (specification, history check, finance, gallery, dealer contact, mileage). To get both for the same vehicle, also pass a search URL that would surface it, or use search mode with matching filters.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

Ready to collect with AutoTrader UK Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.