autotrader.co.za Car Scraper with Seller Phone Numbers avatar

autotrader.co.za Car Scraper with Seller Phone Numbers

Pricing

from $0.80 / 1,000 results

Go to Apify Store
autotrader.co.za Car Scraper with Seller Phone Numbers

autotrader.co.za Car Scraper with Seller Phone Numbers

Scrape autotrader.co.za car listings across every page: price, mileage, specs, dealer and location, plus the seller's phone number.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

youssef farhan

youssef farhan

Maintained by Community

Actor stats

0

Bookmarked

28

Total users

1

Monthly active users

4 days ago

Last modified

Share

AutoTrader South Africa Scraper: Vehicle Listings with Seller Phone Numbers, 25+ Fields

Scrape AutoTrader South Africa listings from autotrader.co.za with this actor that follows full pagination and extracts 25+ structured fields per vehicle, including ZAR price, engine and power specs, dealer rating, suburb and province, and multiple gallery images. New: optional seller phone numbers, the contact number AutoTrader hides behind a captcha, returned right next to the listing. Built for South African car dealerships, automotive researchers, lead generation teams, and data aggregators who need structured vehicle data from the country's largest used-car marketplace.

New: seller phone numbers

Turn on Scrape seller phone numbers and every listing also carries phone_number, the seller contact number that AutoTrader only reveals after a captcha.

  • Paid plans only. Phone numbers require an Apify paid plan. On the free plan the toggle is ignored and the run continues without them, everything else unchanged.
  • Off by default. Leave the toggle off and the actor behaves exactly as before, at the same speed and with no extra cost.
  • No API key needed. Captcha solving is included. There is no captcha account to create, no key to paste, and nothing to top up: flip the toggle and the numbers come back.
  • One bill, from Apify. You pay $0.008 per phone number actually delivered, and nothing else. Listings that come back without a number are free.
  • One solve per dealer, not per listing. The number is the same across a dealer's whole inventory, so the actor solves once per dealer and reuses it for every other car that dealer has listed. Scraping 500 cars from 40 dealers costs 40 solves, not 500.
  • The cache survives the run. Dealer numbers are stored in the run state, so a resumed or restarted run never pays for the same dealer twice.
  • Fails softly. Busy responses back off and retry, and if the captcha service goes down the feature switches itself off for the rest of the run instead of stalling it. Solves run in parallel, so throughput stays high. A listing that fails to reveal is still returned with all its other fields, and costs you nothing.
{
"start_urls": [{ "url": "https://www.autotrader.co.za/cars-for-sale/all-cars/gauteng" }],
"max_items": 500,
"scrape_phone_numbers": true
}

What you get

Listing info

  • url — direct link to the listing
  • ad_id — unique listing ID
  • status — Used, New, or Demo
  • description — full listing description text

Vehicle specs

  • make, model, variant, year
  • body_type, transmission, fuel_type, drivetrain
  • exterior_colour, doors
  • engine, engine_size
  • power_kw, torque_nm

Pricing

  • price_str — formatted string (e.g., "R 294 900")
  • price_zar — numeric ZAR value for calculations

Mileage

  • mileage_str — formatted (e.g., "12 000 km")
  • mileage_km — numeric km value

Seller / Dealer

  • phone_number - seller contact number (only when phone scraping is switched on)
  • dealer_id - AutoTrader's internal dealer id, empty for private sellers
  • dealer_name
  • seller_suburb, dealer_province
  • dealer_rating_score — average dealer rating
  • dealer_rating_count — number of reviews

Media

  • image_urls — array of gallery photo URLs

Sample output

{
"url": "https://www.autotrader.co.za/car-for-sale/gwm/steed-5/2.0/28174398",
"phone_number": "010 900 0000",
"dealer_id": "389",
"ad_id": 28174398,
"year": 2025,
"make": "GWM",
"model": "Steed 5",
"variant": "2.0VGT S",
"status": "Used",
"price_str": "R 294 900",
"price_zar": 294900,
"mileage_str": "12 000 km",
"mileage_km": 12000,
"transmission": "Manual",
"fuel_type": "Diesel",
"body_type": "Single cab",
"exterior_colour": "White",
"doors": 2,
"engine": "2.0 turbo diesel",
"engine_size": "2L",
"power_kw": 110,
"torque_nm": 320,
"dealer_name": "GWM Haval The Glen",
"seller_suburb": "Bassonia",
"dealer_rating_score": 3.8,
"dealer_rating_count": 32,
"image_urls": [
"https://img.autotrader.co.za/37182489/Crop800x600"
],
"description": "Finance available through all major Banks. Trade in's welcome."
}

Use cases

  • Lead generation teams building call lists of South African dealers with the phone number attached to each vehicle
  • South African car dealerships monitoring competitor inventory and pricing across Gauteng, Western Cape, and KZN
  • Automotive market researchers building ZAR-denominated pricing indices for used vehicles
  • Fleet management companies tracking residual values for specific makes, models, and variant trims in South Africa
  • Fintech and insurance companies valuing vehicle portfolios against current market prices
  • Data aggregators powering South African vehicle search or comparison platforms
  • Import/export businesses researching local pricing for vehicles before cross-border transactions

Pricing

EventAmount
Result (one listing)$0.001
Actor start$0.00005 per GB
Seller phone number$0.008 per listing returned with a number

That is $8 per 1,000 seller phone numbers, all in. Captcha solving is included in that price, so there is no second bill from a captcha provider and no key to buy.

Phone numbers are charged only when a number is actually returned. Listings scraped without one and failed reveals cost nothing extra.

Real example: 1,000 listings across 100 dealers, phone numbers on, comes to $1.00 in results plus about $8.00 in phone events, and nothing on any other account.

Real example: 1,000 listings with phone numbers off comes to $1.00 in results.

First results are free — test before subscribing.

How it works

  • Input one or more Autotrader.co.za search URLs (any make, model, province, or price filter)
  • Actor paginates with up to 100 results per page (rcp=100) and follows all pages automatically
  • Duplicate detection stops runs when the same listings repeat across pages
  • Up to 5 retries with exponential backoff per request for reliability
  • Structured vehicle data is parsed from the embedded vehicle_data JSON payload per listing
  • Optionally reveals the seller phone number, solving one captcha per dealer and caching it for that dealer's other listings
  • Export results as JSON, CSV, or Excel from the Apify dataset

Why this scraper

  • Returns the seller's phone number, which most AutoTrader scrapers skip because it sits behind a captcha, at one solve per dealer instead of one per listing
  • Extracts engine power (kW) and torque (Nm) — granular spec data most scrapers omit but critical for technical comparisons
  • Returns dealer rating score and review count per listing, enabling dealer quality filtering in your analysis
  • Parses the vehicle_data JSON payload from each page for accuracy rather than relying on HTML parsing alone
  • Returns both formatted price string and numeric ZAR value — no post-processing required for spreadsheets or databases
  • No proxy configuration needed; Apify's proxy service is used by default

Input example

{
"start_urls": [
{ "url": "https://www.autotrader.co.za/cars-for-sale/all-cars/gauteng/johannesburg?price=0-to-300000" }
],
"start_page": 1,
"end_page": 5,
"max_items": 100
}

FAQ

Does it scrape all pages or just the first? All pages by default. Use start_page and end_page to scrape a specific page range, or max_items to stop after a set number of results.

How do I limit the number of results? Set max_items. Put 20 in and the run returns 20 listings and stops, without paginating further. Leave it empty for no limit.

Does it include dealer contact information? Yes. Dealer name, suburb, province, and rating come out of the box, and the seller's phone number is available through the Scrape seller phone numbers toggle.

What do I need for phone numbers? A paid Apify plan, and nothing else. Just switch on Scrape seller phone numbers. AutoTrader puts the number behind a captcha, and this Actor solves it for you: no captcha account, no API key, no top-up.

How much do phone numbers cost? $0.008 per number delivered, which is $8 per 1,000, with captcha solving already included. You are billed only for numbers you actually receive, so a run that reveals 340 numbers costs $2.72 in phone events.

Will phone scraping slow my run down or get it rate limited? No. Solves run in parallel, busy responses back off and retry on their own, and the per-dealer cache means a dealer's whole inventory costs a single solve.

Why is a listing's phone_number empty? Either you are on the free plan (phone numbers need a paid plan), phone scraping is off, or that particular reveal failed. The listing is still returned with all its other fields. The phone_source field says which case applies.

What output formats are available? JSON, CSV, Excel, XML, and JSONL — available from the Apify dataset UI and REST API.

Can I filter by province or price range? Apply your filters on Autotrader.co.za first, then copy the resulting URL into start_urls.

Does it support scheduling? Yes. Use Apify's built-in scheduler for daily or weekly runs.

Can I use this via API or MCP? Yes. Callable via the Apify REST API and available as an MCP server for AI agents (Claude, ChatGPT, Cursor).

Can you add more fields? Additional fields from the vehicle_data payload can be surfaced on request — contact via the Issues tab.

Use via API or MCP

Call this actor via the Apify REST API or as an MCP server for AI agents (Claude, ChatGPT, Cursor):

https://mcp.apify.com/actors/fayoussef/autotrader-co-za-scraper

Full API docs: https://docs.apify.com/api/v2

Need a custom scraper?

Need South African automotive data from additional sources, combined with exchange rate conversion, or delivered on a schedule? Visit automationbyexperts.com for custom builds, retainers, and data-as-a-service.