autotrader.co.za Car Scraper with Seller Phone Numbers
Pricing
from $0.80 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
28
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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 listingad_id— unique listing IDstatus— Used, New, or Demodescription— full listing description text
Vehicle specs
make,model,variant,yearbody_type,transmission,fuel_type,drivetrainexterior_colour,doorsengine,engine_sizepower_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 sellersdealer_nameseller_suburb,dealer_provincedealer_rating_score— average dealer ratingdealer_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
| Event | Amount |
|---|---|
| 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_dataJSON 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_dataJSON 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.