Cars.co.za Listings Scraper avatar

Cars.co.za Listings Scraper

Pricing

Pay per usage

Go to Apify Store
Cars.co.za Listings Scraper

Cars.co.za Listings Scraper

Scrape used and new car listings from Cars.co.za - South Africa's largest automotive classifieds marketplace.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Kyle Pretorius

Kyle Pretorius

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Scrape used and new car listings from Cars.co.za - South Africa's largest automotive classifieds marketplace. Filter by make, model, province, and maximum price.

What it scrapes

Public listing search results from cars.co.za/usedcars/. Each result includes the listing title, price, year, mileage, province, transmission, fuel type, listing URL, and image URL.

Inputs

ParameterTypeDefaultDescription
makestringToyotaCar make (e.g. Toyota, BMW, Ford). Leave blank for all makes.
modelstring``Car model (e.g. Hilux, 3 Series). Requires make to be set.
provincestring``Province filter (e.g. Western Cape, Gauteng). Leave blank for all provinces.
maxPriceZARinteger(none)Maximum listing price in South African Rand.
maxResultsinteger100Maximum number of listings to return (1-10000).

Supported province values: Gauteng, Western Cape, KwaZulu-Natal, Eastern Cape, Free State, Limpopo, Mpumalanga, North West, Northern Cape.

Output fields

FieldTypeDescription
titlestringVehicle title (year, make, model, variant)
price_zarintegerCash price in South African Rand
yearintegerModel year
mileage_kmintegerOdometer reading in kilometres
provincestringProvince where the vehicle is listed
seller_typestring"Private" or "Dealer" (null if not shown on listing card)
transmissionstring"Automatic" or "Manual"
fuel_typestring"Petrol", "Diesel", "Electric", or "Hybrid"
urlstringDirect URL to the listing page
image_urlstringURL of the main listing photo
listing_datestringDate the listing was posted (null - not available in search results)

Sample output

{
"title": "2026 Toyota Hilux 2.8 GD 6 RB Raider X Auto Extended Cab",
"price_zar": 699900,
"year": 2026,
"mileage_km": 20261,
"province": "Limpopo",
"seller_type": null,
"transmission": "Automatic",
"fuel_type": "Diesel",
"url": "https://www.cars.co.za/for-sale/new/2026-Toyota-Hilux-2.8-GD-6-RB-Raider-X-Auto-Extended-Cab-Limpopo-Bela-Bela/11041272/",
"image_url": "https://img-ik.cars.co.za/ik-seo/carsimages/tr:n-search_result400x300:f-auto/11041272/2026-Toyota-Hilux-28-GD-6-RB-Raider-X-Auto-Extended-Cab.jpg?v=841307295",
"listing_date": null
}

Pricing

This actor uses pay-per-result pricing at $1.00 per 1,000 results. Scraping 100 listings costs $0.10.

Limitations

  • listing_date is not available on search result pages and will always be null. To get the listing date, scrape the individual listing page.
  • seller_type (Private vs Dealer) is not shown on search result cards and will be null in most cases.
  • Transmission and fuel type are extracted from the listing card text when available; when absent, they are inferred from the vehicle name in the URL slug (e.g. "-Auto-" maps to "Automatic", "-GD-" maps to Diesel).
  • The site returns approximately 20 listings per page. Fetching 1,000 results requires 50 page requests.
  • The site may enforce rate limits for very large crawls. The actor uses a concurrency of 3 with automatic retries.
  • cars.co.za uses React with server-side rendering. If the site migrates to client-side-only rendering, a browser-based crawler (Playwright) would be needed.
  • On the Apify platform the actor uses residential proxies automatically. Running locally may result in IP blocks for large crawls.