482 scrapers live47.7K runs1,562 usersRebuilt in the last 30 days: 482 of 482

Scrapers / E-commerce

PistonHeads Scraper logo

PistonHeads Scraper

hipersoft/pistonheads-scraper

Scrape used cars for sale on PistonHeads UK: price, make, model, year, mileage, fuel, gearbox, body, colour, engine size, power, 0-62, owners, seller and dealer phone, location, photos and description. Filter by make, model, price, year. Export CSV/JSON.

Total users

2

Monthly users

1

Total runs

17

Per car

$0.001

Last rebuilt

Oct 26, 2026

Overview

PistonHeads Scraper extracts used car listings from PistonHeads UK, Britain's favourite marketplace for performance, sports, classic and enthusiast cars with 200,000+ cars for sale. Search by make, model, keyword, price, year, mileage, fuel type, gearbox, body type, colour, drive train, seller type and postcode, and get for every car the price, make, model, year, mileage, fuel, gearbox, body type, colour, engine size, power (bhp), torque, 0-62 mph, fuel economy, gears, doors, seats, drive train, engine layout, previous owners, registration, seller name, dealer phone, seller location, distance, listing date and full photo gallery. Turn on Full description to also get the seller's description and postcode district. Export to CSV, Excel or JSON. Ideal for car dealers, valuation and pricing models, automotive market research and classic car investors.

What does PistonHeads Scraper do?

  • 🇬🇧 UK used cars from PistonHeads, the full catalogue of 200,000+ cars.
  • 🏎️ Make and model search: Porsche 911, BMW M3, Ferrari, Land Rover Defender, Ford Focus RS…
  • 🔎 Keyword search: manual, GT3, M Sport, Clubsport, convertible…
  • 💷 Price, year and mileage filters.
  • ⛽ Fuel, gearbox, body type, colour and drive train filters.
  • 🏪 Dealers or private sellers, with dealer phone numbers.
  • 📍 Postcode and radius search with distance to each car.
  • ⚙️ Full specs: engine size, bhp, torque, 0-62 mph, mpg, gears, doors, seats, layout, aspiration.
  • 👥 Previous owners and registration.
  • 🖼️ All photos in full size.
  • 📝 Seller's description (optional).
  • ↕️ Sort by newest, price, mileage, year or distance.

What data can you scrape from PistonHeads?

Field Description
Listing ID, link, title, listing date, featured, badges
Car Make, model, year, mileage, registration, previous owners
Price Price (£), price on application, auction, plus VAT
Specs Fuel, gearbox, body type, colour, engine size, bhp, torque, 0-62, mpg, gears, doors, seats
Drive Drive train, engine layout, aspiration
Seller Name, type (trade/private), location, dealer phone, online retailer, distance
Media Main photo, full photo gallery, photo count
Text* Full description, postcode district

* With Full description turned on.

Use cases for UK car data

  • Car dealers and traders: source stock, monitor competitor dealers and benchmark your prices.
  • Valuation and pricing models: build price-by-mileage and price-by-year curves for any model.
  • Classic and performance car investors: track asking prices of collectible models over time.
  • Automotive market research: measure supply by make, model, fuel type and region.
  • Lead generation: compile UK dealers with phone numbers and locations.
  • Car buyers: find the best-value example across the whole UK in one spreadsheet.

How to scrape PistonHeads

  1. Click Try for free to open PistonHeads Scraper in Apify Console.
  2. Enter makes, optionally models and keywords.
  3. Set any price, year, mileage, fuel, gearbox or body filters, or a postcode and radius.
  4. Choose Sort by, set Max cars and click Start.
  5. Download the cars as CSV, Excel or JSON.

Input

Example input

{
  "makes": ["Porsche"],
  "models": ["911", "Cayman"],
  "priceMax": 60000,
  "yearMin": 2005,
  "gearbox": ["manual"],
  "sortBy": "priceLowToHigh",
  "includeDetails": false,
  "maxItems": 500
}
Field Description
Makes Car makes; empty = all makes.
Models Models of the chosen makes; "911" matches every 911 generation.
Keywords One search per keyword.
Minimum / Maximum price Asking price in £.
Year from / to Registration year range.
Maximum mileage Mileage limit in miles.
Fuel types, Gearbox, Body types, Colours, Drive train Spec filters.
Seller type Any, dealers or private sellers.
Postcode, Distance Search around a UK postcode.
Sort by Newest, relevance, price, mileage, year or distance.
Full description Adds the seller's description and postcode district.
Max cars Stop after this many (0 = no limit).

Output

Car example

{
  "listingId": "21170277",
  "url": "https://www.pistonheads.com/buy/listing/21170277",
  "title": "2011 PORSCHE 987 CAYMAN R",
  "make": "Porsche",
  "model": "Cayman 987 [05-12]",
  "year": 2011,
  "price": 48995,
  "currency": "GBP",
  "priceOnApplication": false,
  "mileage": 30100,
  "fuelType": "Petrol",
  "gearbox": "Auto",
  "bodyType": "Coupe",
  "colour": "White",
  "engineSizeCc": 3436,
  "enginePowerBhp": 330,
  "torqueLbFt": 273,
  "acceleration0To62": 4.9,
  "fuelConsumptionMpg": 30.4,
  "gears": 7,
  "doors": 2,
  "seats": 2,
  "driveTrain": "Rear Wheel Drive",
  "engineLayout": "Mid Engined",
  "aspiration": "Normally Aspirated",
  "previousOwners": 2,
  "sellerName": "Paul Stephens",
  "sellerType": "Trade",
  "sellerLocation": "Halstead, United Kingdom",
  "listedAt": "2026-10-07T11:00:00Z",
  "imageUrl": "https://img.pistonheads.com/processed-advert-images/21170277/29613a22-c94a-4c1b-8874-08370493140d-DSC_0119.jpg",
  "photoCount": 5,
  "postcodeDistrict": "CO9",
  "description": "The Porsche 987 made its global appearance in September 2005…",
  "search": "all cars"
}

Output schema

Field Type Description
listingId, url, title, listedAt, featured, badges mixed Listing.
make, model, year, mileage, registration, previousOwners mixed Car.
price, currency, priceOnApplication, auction, plusVat mixed Price.
fuelType, gearbox, bodyType, colour string Main specs.
engineSizeCc, enginePowerBhp, torqueLbFt, acceleration0To62, fuelConsumptionMpg number Performance.
gears, doors, seats, driveTrain, engineLayout, aspiration mixed Build.
sellerName, sellerType, sellerLocation, sellerPhone, sellerId, onlineRetailer, distanceMiles mixed Seller (phone for dealers).
imageUrl, images, photoCount mixed Photos.
description, postcodeDistrict string With Full description.
search, scrapedAt string Source info.

How much does it cost?

PistonHeads Scraper uses pay-per-car pricing: a small fixed price per car, with automatic discounts on higher Apify plans. See the Pricing tab for the exact price.

More car data

FAQ

Can I scrape the whole PistonHeads catalogue? Yes. Leave all filters empty and set Max cars to 0 to collect all 200,000+ cars.

Why is the price sometimes empty? Some sellers list cars as "price on application"; priceOnApplication is then true.

Why is the seller phone empty for some cars? Phone numbers are included for dealers (trade sellers) only.

How do I search near me? Enter your Postcode and a Distance in miles; each car gets distanceMiles.

What formats can I export? CSV, Excel, JSON, XML, HTML and RSS, or read the results through the Apify API.

Can I integrate PistonHeads Scraper with other apps? PistonHeads Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. It works with Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API, JS/Python clients and MCP. Or use webhooks to trigger an action whenever a run finishes.

Is it legal to scrape PistonHeads? The scraper only collects publicly listed car adverts. You are responsible for using the data in line with PistonHeads' terms and UK GDPR.

Notes

Original clean-room implementation. Returns only public data. Not affiliated with PistonHeads.

Input

FieldTypeDescription
makes
Makes
arrayCar makes, e.g. Porsche, BMW, Ford, Land Rover. Leave empty for all makes.
models
Models
arrayOptional models of the makes above, e.g. 911, Cayman, M3, Defender. "911" matches every 911 generation.
keywords
Keywords
arrayOptional keywords, e.g. manual, GT3, M Sport. Each keyword is a separate search.
priceMin
Minimum price (£)
integerLowest asking price.
priceMax
Maximum price (£)
integerHighest asking price.
yearMin
Year from
integerOldest registration year.
yearMax
Year to
integerNewest registration year.
mileageMax
Maximum mileage
integerHighest mileage in miles.
fuelTypes
Fuel types
arrayOnly these fuel types.
gearbox
Gearbox
arrayOnly these gearbox types.
bodyTypes
Body types
arrayOnly these body types.
colours
Colours
arrayOnly these colours.
driveTrain
Drive train
arrayOnly these drive trains.
sellerType
Seller type
string · any, trade, privateDealers, private sellers or both.
Default: "any"
postcode
Postcode
stringOptional UK postcode to search around, e.g. SW1A 1AA. Adds the distance to each car.
distanceMiles
Distance (miles)
integerRadius around the postcode. Leave empty for the whole UK.
sortBy
Sort by
string · newest, relevance, priceLowToHigh, priceHighToLow, mileage, yearNewest…Order of results.
Default: "newest"
includeDetails
Full description
booleanAlso collect the seller's full description and postcode district. Slower.
Default: false
maxItems
Max cars
integerStop after this many cars. 0 means no limit (the full catalogue is 200,000+ cars).
Default: 200
proxyConfiguration
Proxy configuration
objectNot required for normal use.
Default: {"useApifyProxy": false}

API

curl -X POST "https://api.apify.com/v2/acts/hipersoft~pistonheads-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "makes": [
    "Porsche"
  ],
  "maxItems": 50
}'

Pricing

EventPricePaid plans from
Car
One used car listing scraped
$0.001$0.0005

You pay only for what the run returns. Set a maximum cost per run and it stops cleanly at that limit.

Related scrapers

Carousell Scraper

Scrape Carousell search listings: title, price, condition, location, seller, photo and URL. Requires your own Carousell app token.

242 runs · 2 users · $0.003 / listing scraped

Google Flights Scraper

Scrape flight options from Google Flights by route and date: airline, flight number, departure and arrival times, duration, stops, layovers and price. One-way or round-trip, any cabin and currency. For travel and price monitoring.

216 runs · 4 users · $0.004 / flight scraped

Pinterest Scraper

Search Pinterest and scrape pins (title, description, destination link, image, pinner, board, saves), boards and users. Fast. For visual research, e-commerce, trend and marketing analysis.

151 runs · 2 users · $0.0034 / item scraped

Google Trends Scraper

Scrape Google Trends for any keyword: interest over time, related and rising queries, and interest by region. Per country and timeframe. For SEO, market and trend research. No setup.

139 runs · 6 users · $0.001 / keyword scraped

AliExpress Product Search Scraper

Search AliExpress by keyword and export one clean row per product — title, sale price, original price, image and product URL. Export to JSON, CSV or Excel.

135 runs · 3 users · $0.003 / product scraped

Google Maps Scraper

Search Google Maps and scrape places: name, category, full address, city, coordinates, rating, phone, website, Place ID and map link. Fast browser-free via Google's internal endpoint, no setup. For local lead generation and market research.

130 runs · 2 users · $0.005 / place scraped
Need a source that isn't here?

Send the site and the fields. We build it and you get it first.

Request a build