PistonHeads UK Car Classifieds Scraper avatar

PistonHeads UK Car Classifieds Scraper

Pricing

from $11.25 / 1,000 records

Go to Apify Store
PistonHeads UK Car Classifieds Scraper

PistonHeads UK Car Classifieds Scraper

Scrape UK performance and enthusiast car listings from PistonHeads.com. Returns prices, mileage, specs, seller details and image galleries. Filter by make, model, price, year, body, fuel.

Pricing

from $11.25 / 1,000 records

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

ParseForge Banner

🏁 PistonHeads Car Classifieds Scraper

🚀 Pull UK performance and enthusiast car listings from PistonHeads in seconds. Filter by make, model, price band, year, mileage, fuel type, body style, and seller type. No API key, no login, no manual CSV wrangling.

🕒 Last updated: 2026-05-16 · 📊 29 fields per record · 220K+ live listings · 381 makes covered · JSON / CSV / Excel export

PistonHeads is the UK's home for performance, classic, and enthusiast cars. The site lists everything from a £1,200 project car to a £4.8M Ferrari FXX, with a strong mix of specialist independent dealers, marque-authorised retailers, and private sellers. This scraper turns the live PistonHeads classifieds into a structured dataset you can load into a spreadsheet, a notebook, or a database in one run.

You give the scraper a search URL or a few filter fields, and it returns every matching listing with prices, mileage, year, specifications (body type, fuel, transmission, colour, engine power and displacement), seller details (name, location, trade or private), pricing model (regular, POA, online auction), and the full gallery of high-resolution images. Behind the scenes it talks to the same JSON search service that powers the PistonHeads buy pages, so the data is identical to what the site shows, just delivered in bulk.

🎯 Target Audience📌 Primary Use Cases
Performance and specialist car dealersPricing comparisons across rivals and trim levels
Classic and import brokersSpotting underpriced cars or import opportunities
Market researchers and analystsTracking depreciation curves on enthusiast segments
Lead-gen and CRM teamsBuilding dealer prospect lists with verified locations
Insurance and warranty firmsModelling market values for niche makes and models

📋 What the PistonHeads Scraper does

  • 🏷️ Live classified pricing. Every active classified, online auction, and price-on-application listing the site exposes today.
  • 🔎 Granular filters. Make, model keyword, price band, year, mileage, fuel, transmission, body, colour, drivetrain, seller type, postcode radius, and listing type.
  • 🖼️ Full image galleries. Both the headline image and the complete imageUrls array, ready to embed in a CRM or dashboard.
  • 🏢 Dealer vs private split. A sellerType flag plus seller name and location for every record, so you can segment trade and private inventory.
  • 🧭 URL or form input. Paste a PistonHeads search URL straight from your browser, or build the query in the structured input fields.
  • 🏆 Auction-aware. Listings sold via the PistonHeads online auction are flagged with isAuction and pricingModel: OnlineAuction.

Each record contains the listing title and URL, an internal advert id, the price (with a formatted display string and pricing-model code), the make and model, year, mileage, full specification block (body type, colour, fuel, transmission, engine power in bhp, engine displacement in cc), the seller's display name, type (Trade or Private), and location, and the complete gallery of full-size images. A scrapedAt ISO timestamp captures when the row was harvested.

💡 Why it matters: PistonHeads has long been the place where UK enthusiast cars first appear before they hit the wider marketplace. Owning a clean, refreshable dataset of these listings is an edge for dealers, brokers, and analysts who would otherwise be paging through results one screen at a time.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough of the input form, a real run, and how to plug the output into Google Sheets or a notebook.


⚙️ Input

FieldTypeDescription
searchUrlstringOptional. A PistonHeads.com search URL. Examples: https://www.pistonheads.com/buy/search?priceMax=50000&yearMin=2020 or https://www.pistonheads.com/buy/aston-martin/db9. URL query parameters override the structured filters below.
maxItemsintegerCap the number of listings returned. Free plan: capped at 10. Paid plan: up to 1,000,000. Default prefill: 10.
makeUrlNameenum (381 values)Manufacturer slug. Picks from every make PistonHeads currently lists, from abarth to zenos.
modelKeywordstringFree-text model search (e.g. 911, M3, defender).
priceMin / priceMaxintegerAsking-price band in GBP.
yearMin / yearMaxintegerRegistration-year band.
mileageMin / mileageMaxintegerOdometer band in miles.
keywordsstringFree-text search across headlines (e.g. manual, gt3, one owner).
fuelTypeCodesmulti-enumPetrol, Diesel, Electric, Hybrid, LPG, Other.
transmissionmulti-enumAutomatic, Manual, Other.
bodyTypeCodesmulti-enumHatchback, Saloon, Estate, SUV, Coupe, Convertible, MPV, Pick Up, Other.
colourCodesmulti-enum19 colour codes (Black, White, Silver, Grey, Blue, Red, Green, etc.).
driveTrainmulti-enumFront-wheel, Rear-wheel, 4-wheel drive, Other.
noDoors / seatsmulti-enumDoor and seat-count filters.
sellerTypeenumAny, Private, Trade.
postcode / distancestring / enumUK postcode plus radius (10, 25, 50, 100, 200 miles, or country wide).
sortOptionenumMost relevant, Most recent, Price (low to high / high to low), Distance, Mileage, Year (newest / oldest first).
includeSoldbooleanInclude listings already sold.
pricingModelsmulti-enumVisible price, On application, Online auction, Auction house.

Example: pull every recent Aston Martin DB-series listing.

{
"makeUrlName": "aston-martin",
"modelKeyword": "db",
"yearMin": 2018,
"sortOption": "mostRecent",
"maxItems": 200
}

Example: paste a URL straight from the PistonHeads search page.

{
"searchUrl": "https://www.pistonheads.com/buy/search?priceMin=10000&priceMax=20000&yearMin=2018&fuelTypeCodes=ELE&sortOption=PriceLowToHigh",
"maxItems": 100
}

⚠️ Good to Know: URL parameters always win over the structured fields. If you paste a search URL with priceMax=20000 and also set priceMax: 50000 in the form, the URL value wins. Leave fields blank if you want the URL to drive the run entirely.


📊 Output

The dataset contains one row per car listing with 29 structured fields, exportable as JSON, CSV, Excel, or HTML.

🧾 Schema

FieldTypeExample
🖼️ imageUrlstringhttps://img.pistonheads.com/Fullsize/.../aston-martin-dbx-dbx707-1441173982-1.jpg
🏷️ headlinestringAston Martin DBX DBX707
🔗 urlstringhttps://www.pistonheads.com/buy/listing/20440352
🆔 idstring20440352
💷 priceinteger174500
🏦 currencystringGBP
🏷️ priceLabelstring£174,500 / POA / Auction: £22,750
📦 pricingModelstringVisible / OnApplication / OnlineAuction / AuctionHouse
📅 yearinteger2025
🏭 makestringAston Martin
🚗 modelstringDBX
🏆 brandTypestringCore / MassMarket / Standard
🛣️ mileageinteger9236
fuelTypestringPetrol / Diesel / Electric / Hybrid
⚙️ transmissionstringAutomatic / Manual
🚙 bodyTypestringSUV / Coupe / Hatchback / Saloon
🎨 colourstringSilver
🏎️ enginePowerinteger697 (bhp)
🔧 engineSizeinteger3982 (cc)
🏢 sellerNamestringStratstone Aston Martin Manchester
👥 sellerTypestringTrade / Private
📍 sellerLocationstringWilmslow, United Kingdom
🌐 sellerIsOnlineRetailerbooleanfalse
🔨 isAuctionbooleantrue for online or house auctions
🏷️ isPriceOnApplicationbooleantrue when price is hidden
🧾 isVatOmittedbooleanfalse
🏅 badgesstring[]["Delivery", "ClickAndCollect"]
🖼️ imageUrlsstring[]Full gallery of high-res images
⏱️ scrapedAtISO timestamp2026-05-16T14:43:08.821Z

📦 Sample records


✨ Why choose this Actor

Capability
🇬🇧UK enthusiast focus. Built around the niche PistonHeads catalogues that wider classifieds tools miss.
🎯All 21 filters mapped. Every knob the site exposes is in the input schema, no invented or missing fields.
📚381-make enum. Every manufacturer slug PistonHeads validates, from Abarth to Zenos, presented as a dropdown, not free text.
🖼️High-resolution galleries. The full image array per listing, not just a thumbnail.
🔨Auction-aware output. Online auctions, auction-house lots, and POA listings are flagged separately.
🧪Pure API path. Talks to the site's own JSON search service. No browser, no captchas, fast and stable.
💷Predictable pricing. Pay per usage on Apify, with a free-tier preview of 10 items.

📊 220,000+ listings across 381 makes and 2,000+ models indexed at the time of writing. Refresh as often as your workflow requires.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ PistonHeads Scraper (this Actor)Pay per useLive PistonHeads catalogue, 220K+ rowsOn demand21 filters, 381 makes30 seconds in the Apify console
Official site CSV exportsNot offeredn/an/an/an/a
Paid live APIs from data resellersPer-row subscriptionAggregated, sometimes staleDaily batchLimitedContract signing, integration work
Manual copy / paste from the browserFreeOne listing at a timeManualAll site filtersHours per study
In-house scraperEngineering salaryWhatever you scopeDIYWhatever you scopeDays to build, ongoing maintenance

Pick the row that matches how much custom plumbing you want to own.


🚀 How to use

  1. 🆕 Open a free Apify account. Sign up at console.apify.com/sign-up?fpr=vmoqkp.
  2. 🔍 Find the actor. Search "PistonHeads" in the Apify Store and open this actor's page.
  3. ⚙️ Set your filters. Either paste a PistonHeads search URL or pick make, price band, year, and sort order in the form.
  4. ▶️ Run. Click Start. The default preview run returns 10 listings on the free plan, up to 1,000,000 on a paid plan.
  5. 💾 Export. Download the dataset as JSON, CSV, Excel, or HTML, or read it through the Apify API.

⏱️ Total time: less than a minute from "I need this data" to a downloadable spreadsheet.


💼 Business use cases

🏪 Specialist dealers and brokers

  • Track competitor pricing on the exact trims you stock
  • Build dynamic "missing inventory" alerts on rare models
  • Identify undervalued cars to source before they sell
  • Benchmark your asking prices against the live market

📊 Market analysts and consultancies

  • Run depreciation analyses on enthusiast segments
  • Track regional price spreads using postcode radius filters
  • Build supply curves by make, year, and bodystyle
  • Quote market values for valuations and warranties

🌍 Import and export specialists

  • Spot UK-spec cars priced below comparable European listings
  • Monitor RHD inventory for export to right-hand-drive markets
  • Filter by spec and trim to satisfy specific customer briefs
  • Build watchlists for trade buyers in Hong Kong, UAE, or Japan

📣 Marketing and lead generation

  • Generate dealer prospect lists with verified UK locations
  • Power "cars in your area" feeds for affiliate sites
  • Enrich CRM records with current asking-price benchmarks
  • Build retargeting audiences off listing make / model / price bands

🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Empirical datasets for papers, thesis work, and coursework
  • Longitudinal studies tracking changes across snapshots
  • Reproducible research with cited, versioned data pulls
  • Classroom exercises on data analysis and ethical scraping

🎨 Personal and creative

  • Side projects, portfolio demos, and indie app launches
  • Data visualizations, dashboards, and infographics
  • Content research for bloggers, YouTubers, and podcasters
  • Hobbyist collections and personal trackers

🤝 Non-profit and civic

  • Transparency reporting and accountability projects
  • Advocacy campaigns backed by public-interest data
  • Community-run databases for local issues
  • Investigative journalism on public records

🧪 Experimentation

  • Prototype AI and machine-learning pipelines with real data
  • Validate product-market hypotheses before engineering spend
  • Train small domain-specific models on niche corpora
  • Test dashboard concepts with live input

🔌 Automating PistonHeads Scraper

You do not need to babysit the actor. Trigger it on a schedule, from a webhook, or from your own code.

  • Node.js: install apify-client and call client.actor('parseforge/pistonheads-scraper').call({ ... }).
  • Python: install apify-client and call client.actor('parseforge/pistonheads-scraper').call({ ... }).
  • REST and webhooks: see the Apify API reference for run-and-poll, run-sync, and webhook patterns.

Use Apify Schedules to run the actor every hour, every morning, or once a week and have the dataset flow straight into your warehouse, Sheet, or notebook.


❓ Frequently Asked Questions


🔌 Integrate with any app

  • Apify API - Run the actor, fetch datasets, manage schedules over HTTP.
  • Apify Node.js client - Trigger runs and stream results from JavaScript or TypeScript.
  • Apify Python client - Same idea for Python notebooks and pipelines.
  • Webhooks - Get notified when a run finishes and push the data straight into your stack.
  • Apify integrations - Native connectors for Zapier, Make, Slack, Google Drive, Gmail, and more.
  • Schedules - Cron-style automation so your dataset is always up to date.

💡 Pro Tip: browse the complete ParseForge collection for more scrapers covering automotive, real estate, marketplaces, and lead generation.


🆘 Need Help? Open our contact form and we will get back to you within one business day.


⚖️ Disclaimer: This actor accesses publicly available content from PistonHeads.com. It is not affiliated with, endorsed by, or sponsored by PistonHeads or any of its parent companies. Use it in line with the site's terms of use and the laws of your jurisdiction. The actor authors take no responsibility for downstream use of the collected data.