Ultimate Car Listings Scraper (50+ Sites)
Pricing
Pay per usage
Ultimate Car Listings Scraper (50+ Sites)
Scrape car listings from 50+ marketplaces (AutoTrader ZA/CA/AU/NZ, Cars.co.za, WeBuyCars, Craigslist, TrueCar, Bring a Trailer, Gumtree, OLX + more). Filter by brand/model/year/mileage/price, run by page range or resume state, export clean JSON to Apify Dataset + STATE/SUMMARY—no browser. Fast. Done
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Inus Grobler
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Used Car Listings Scraper for Apify (Cars Actor)
Scrape used car listings from 96 car marketplaces across the US, UK, South Africa, Australia, Canada, Europe, Asia, Latin America, and the Middle East.
This Apify Cars Actor extracts structured automotive data including:
- listing URL and listing ID
- price and currency code
- country code
- year, brand, model, mileage
- dealer/location metadata
It is built for car price monitoring, automotive lead generation, market intelligence, and historical vehicle listing datasets.
Why This Car Scraper Actor
- Multi-country used car scraping from popular marketplaces.
- Fast default run profile that can complete in under 5 minutes.
- Brand/model/year/price/mileage filters for targeted extraction.
- Output to Apify Dataset in clean JSON rows.
- Source registry and smoke tests for production quality control.
- Brand mismatch rows are excluded from final output when brand filters are set.
Popular Car Websites Covered
Representative sources include:
truecarus,carmaxus,autolistus,enterprisecarsalesus,craigslistus,bringatrailerus,classiccarsuscarscoza,webuycars,autotraderza,gumtreeza,carshopza,motusselectza,kiacertifiedzaautotraderau,carsguideau,driveau,picklesau,justcarsau,onlycarsau,johnhughesauautotraderca,kijijicapistonheadsuk,motorsuk,carwowuk,gumtreeuk,theaausedcarsuk,carandclassicukautovitro,otomotopl,marktplaats,finnno,standvirtualpt,autobazareucardekho,carwalein,pakwheels,chototvn,ikmanlk,sgcarmartsgmercadolibrear,mercadolibremx, and additional MercadoLibre country sourcesdubizzlekw,dubizzleqa,dubizzleom,dubizzlebh
Complete source list is maintained in:
Actors/cars/registry.py
Actor Output Schema (Dataset Fields)
Apify metadata files (for console schema discovery):
.actor/actor.json.actor/input_schema.json.actor/output_schema.json.actor/dataset_schema.json
Core fields:
source,source_sitecountry_code,country_name,currency_codelisting_id,url,title,car_nameprice,year,brand,model,mileage_km
Additional fields:
trim,body_type,engine_size_cc,power_kw,doors,seatstransmission,fuel,drivetrain,colour,conditiondealer,dealer_key,locationdescription,image_url,vin,stock_referencelisting_status,status_checked_at,scraped_at,raw_detail
Fast Default Inputs (Under 5 Minutes)
Defaults are tuned for quick validation runs:
websites=["truecarus"]pagesPerRun=1maxListings=5sourceConcurrency=1minDelay=0.2maxDelay=0.6
Input Highlights
See full schema in:
Actors/cars/input_schema.json
Key inputs:
websites(preferred): multi-select sourcescountries: optional multi-select country codes; can be used instead of websites- Paging:
startPage,endPage, or incrementalpagesPerRun+resumeState - Filters:
brandQuery,brandFilter,modelQuery,modelFilter - Range filters:
yearMin,yearMax,mileageMin,mileageMax,minPrice,maxPrice - Output controls:
includeRawDetail,compactRawDetail,rawDetailTextLimit
Apify Pay-Per-Event Billing
Billing is always enabled in the Cars Actor for:
- each output result row (per-result billing), and
- each website/source searched (per-website billing)
Fixed event names:
- per-result event:
result - per-website event:
website_search
Configure these same event names in Apify Store pricing.
The Actor writes billed counters to SUMMARY.billing.
Brand Filtering Behavior
- If
brandQueryorbrandFilteris set, non-matching brand rows are removed from output. - When a source supports upstream brand filters, the Actor passes filters to the source runner to reduce scraping time and avoid off-brand rows earlier.
- The Actor skips known single-brand sources that cannot match your selected brand (for example skipping Kia-only or Nissan-only sources during a Toyota search).
Fetch Strategy and Fallbacks
For HTTP-driven sources, fetch backends run in this order:
ScraplingPydollSeleniumrequests(last-resort safety)
Environment toggles:
SCRAPLING_FALLBACK_ENABLED=0: disable ScraplingSCRAPLING_PRIMARY_ENABLED=0: disable Scrapling as first backendPYDOLL_FALLBACK_ENABLED=0: disable Pydoll fallbackSELENIUM_FALLBACK_ENABLED=0: disable Selenium fallback
Local Run
cd Actors/carspip install -r requirements.txtmkdir -p storage/key_value_stores/defaultcp input.example.json storage/key_value_stores/default/INPUT.jsonpython src/main.py
Smoke Tests (All Car Sources)
$python scripts/smoke_cars_sources.py --config scraper_config.yaml --pages 1 --max-listings 5
Brand-filter regression smoke:
$python scripts/smoke_cars_brand_filter.py --config scraper_config.yaml --pages 1 --max-listings 12
Automated Tests
$pytest -q tests/test_cars_registry_consistency.py tests/test_cars_input_schema_alignment.py tests/test_cars_smoke_scripts.py
Optional live smoke tests:
$RUN_LIVE_CAR_SMOKE=1 pytest -q -m live tests/test_cars_live_smoke.py
Local Outputs
- KV store:
storage/key_value_stores/default/(STATE,SUMMARY) - Dataset rows:
storage/datasets/default/
SEO Keywords
Used car scraper, car listings scraper, automotive data scraper, Apify car scraper, vehicle price scraper, multi-country car data extraction, used vehicles dataset, car marketplace scraping.