PistonHeads Data Parser & API
PistonHeads is the UK’s enthusiast and classic-car portal — owned by CarGurus — and Carapis can extract its specialist used, classic and performance car listings through one REST API. Its enthusiast and classic focus surfaces vehicles you will not find on mainstream portals, and Carapis can serve them without you building a scraper.
On request — not in the live feed today. We do not continuously crawl PistonHeads right now. Activation takes 2–3 weeks of engineering and is quoted per source, because each one ships with dedicated proxies, anti-bot tuning and ongoing maintenance. Ask us to add it.
| Country | UK |
|---|---|
| Type | Portal |
| Owner | CarGurus |
| Vehicle types | used, classic, dealer |
| Monthly visits | mid |
| Active listings | mid (enthusiast/classic) |
| API access | No public API (parse-only) |
| Parse priority | ★★☆☆☆ |
| Official site | www.pistonheads.com |
What is PistonHeads?
PistonHeads is a UK car community and marketplace owned by CarGurus, known for its enthusiast, performance and classic-car focus. Its classifieds carry used and classic vehicles from both private sellers and dealers, making it a specialist source for the higher-end and collectible segments of the UK market.
Market Position
PistonHeads sits mid-traffic but holds a distinctive niche: it is the UK’s enthusiast and classic-car portal, owned by CarGurus. Where mainstream portals focus on volume used cars, PistonHeads surfaces performance and collectible vehicles — a complementary dataset valuable for the specialist and classic-car segments rather than mass-market supply.
What the API returns
Response schema
Indicative — this is the shape, not a guarantee. Every source returns the same structure, so what you build against does not change when you add one. Which fields carry a value depends on the source and on the individual listing: a site that does not publish mileage returns null there, and PistonHeads is no exception.
List — GET /apix/api/vehicles/ — returns 30 fields per vehicle:
idstringsource_codestringbrand_namestringbrand_slugstringmodel_namestringmodel_slugstringtrimstringyearintegerprice_usdintegermileageintegerfuel_typeFuelTypeEnumtransmissionTransmissionEnumbody_typeBodyTypeEnumcolorColorEnumseller_typeSellerTypeEnumregionstringsource_locationobjecthas_accidentbooleanis_new_vehiclebooleanis_verifiedbooleanstatusVehicleStatusEnumis_availablebooleanfirst_seen_atstringlast_seen_atstringthumbVehiclePhotophotosarrayphotos_countintegerhas_valuationbooleanhas_llm_analysisbooleananalysisobject
Detail — GET /apix/api/vehicles/{id}/ — adds 23 more:
generationstringprice_originalstringprice_original_currencystringoriginal_msrpstringengine_ccintegerseat_countintegerdrive_typeDriveTypeEnumhas_simple_repairbooleanhas_recallbooleanrecall_fulfilledbooleanwarranty_typestringinspection_passedbooleanowner_countintegeris_undervaluedbooleanvaluation_scorenumberfeaturesarraydescriptionstringlisting_urlstringlisting_idstringvinstringvehicle_nostringavailability_checked_atstringstatus_changed_atstring
Abbreviated example:
{
"id": "0193f2c1-...",
"source_code": "encar",
"brand_name": "BMW",
"model_name": "320i",
"trim": "M Sport",
"year": 2021,
"price_usd": 28400,
"price_original": "38900000",
"price_original_currency": "KRW",
"mileage": 45000,
"fuel_type": "gasoline",
"transmission": "automatic",
"has_accident": false,
"listing_url": "https://...",
"photos": [{ "url": "https://cdn.carapis.com/..." }],
"first_seen_at": "2026-09-28T11:04:22Z",
"is_available": true
}Which sources you can actually query is answered by GET /apix/api/sources/ with your API key — it is the list your account can pull today, and it is the one to trust over any page on this site.
The enthusiast and classic focus makes PistonHeads valuable for the specialist and collectible UK segments, distinct from mainstream used-car supply.
API Quick Start
Python
import requests
resp = requests.get(
"https://api.carapis.com/v2/listings",
params={"source": "pistonheads", "limit": 20},
headers={"Authorization": f"Bearer {API_KEY}"},
)
for car in resp.json()["results"]:
print(car["make"], car["model"], car["year"], car["price"])Get an API key at my.carapis.com and see the full API reference. Pricing is on the pricing page .
Use Cases
- Market research — track the UK enthusiast and classic-car segment. See market research.
- Pricing intelligence — specialist and collectible pricing for dealers.
- Import / export — source UK performance and classic vehicles remotely. See import & export.