Carsales.com.au Used & New Car Listings Scraper
Under maintenancePricing
from $0.60 / 1,000 listings
Carsales.com.au Used & New Car Listings Scraper
Under maintenance[💰 $0.6 / 1K] Extract new and used car listings from Carsales.com.au across all 8 Australian states and territories. Get AUD prices, odometer readings, make, model, variant, year, dealer or private seller, photos and the site's own market price indicator. Export to JSON, CSV or Excel.
Pricing
from $0.60 / 1,000 listings
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Pull live car listings from Carsales.com.au at scale — AUD asking prices, odometer readings, make, model, variant and year, dealer or private seller, photo galleries, and the market price indicator the site itself puts on each ad. Built for dealer groups, automotive analysts, and lead-generation teams who need current Australian new and used inventory as clean, comparable rows instead of copying cars out of search pages thirty at a time.
Why This Scraper?
- 31 fields on every listing — coverage measured across 440 listings spanning all 8 Australian states and territories and 6 vehicle categories. 28 of the 31 fields came back populated on 100% of them.
- Prices you can actually compare — the AUD price, the price exactly as displayed, and
the qualifier that says what it includes (
Drive away,Excl. Govt. Charges,Indicative drive away). All three on 440 of 440 sampled listings, so a $63,990 drive-away ad is never averaged against a $63,990 excl.-charges ad. - The site's own market price indicator —
Around market price,Below market priceorWell below market price, captured on 76% of listings. That is Carsales.com.au's valuation call on the ad, not one this actor invents. - Promoted placements flagged, never hidden — every row carries a true/false promoted
flag plus the placement type (
showcase,spotlight,topspot). 116 of the 440 sampled listings were paid placements. Filter them out for an organic-only view, or keep them to see who is buying visibility in your segment. - Honest odometer readings — 426 of 440 read as a real distance, from 3 km to
369,125 km. The 14 brand-new cars that carry
Built: December 2025instead are kept verbatim rather than coerced into a fake "2,025 km". - 10 filters, no URL building required — state or territory (all 8), body style (8, including Ute, Cab Chassis and People Mover), dealer vs private seller, make, model, price range, year range, and maximum kilometres. Set the ones you care about and run.
- Goes deeper than a single result page — any one Carsales.com.au search shows about 30 cars however you page it, so this actor automatically splits a broad search into narrower price bands and keeps going until it reaches your Max results.
- Real media counts — up to 5 preview image URLs, plus the listing's true photo total (1 to 72 in the sample, median 23), its video count, and its 360-degree interior tour count. The photo total is the listing's own, not the length of the preview list.
- Seller identified on every row — dealer or private, plus a stable seller ID on 440 of 440, so you can group one dealership's entire advertised stock or isolate private sellers only.
Use Cases
Dealer & Inventory Intelligence
- Track a competing dealership's advertised stock by seller ID and watch what turns over week to week
- Compare your asking prices against every same make, model and year listing in your state
- Spot which body styles are oversupplied in your market before you commit on a trade-in
- Measure how much of the first result page in your segment is paid placement
Pricing & Valuation
- Build make/model/year/kilometre price curves from live asking prices in AUD
- Separate drive-away prices from excl.-government-charges prices before averaging
- Use the market price indicator to surface under-priced stock the day it appears
- Re-run a saved filter on a schedule and diff on listing ID to catch price movements
Lead Generation
- Build lists of private sellers by state, make and price band
- Identify dealers advertising specific models for franchise and wholesale outreach
- Find high-kilometre or older stock for wholesale, parts and export buyers
Market Research & Reporting
- Measure EV, hybrid, petrol and diesel supply by state straight from the engine field
- Quantify the dealer vs private split across states, body styles and price bands
- Chart the new, demo and used mix in a segment over time
Data Enrichment & Integration
- Feed listings into your CRM or DMS keyed on a stable listing ID and a direct listing URL
- Enrich internal valuation models with live market comparables
- Push new matches to Google Sheets or Slack on a schedule with webhooks
Getting Started
Simplest run
{"maxItems": 100}
One state, one make
{"state": "VIC","make": "Toyota","bodyStyle": "SUV","maxItems": 200}
A tight, priced search
{"state": "NSW","make": "Mazda","model": "CX-5","sellerType": "Dealer","priceMin": 20000,"priceMax": 35000,"yearMin": 2019,"odometerMax": 80000,"maxItems": 500}
Private sellers only, under $15,000
{"sellerType": "Private","state": "QLD","priceMax": 15000,"maxItems": 300}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
maxItems | integer | 100 | Maximum listings per search (0 = collect everything the search returns). Carsales.com.au shows about 30 listings for any one search directly, so the actor splits a large search into narrower ones to reach this number. |
searchUrls | array | — | Advanced. Runs prepared search addresses exactly as given, instead of building a search from the filters below. Leave it empty — the filters cover every search option and are the supported way to run this actor. |
Search Filters
Combine as many as you like, or leave them all blank to sweep everything.
| Parameter | Type | Default | Description |
|---|---|---|---|
state | string | — | One Australian state or territory: New South Wales, Victoria, Queensland, Western Australia, South Australia, Tasmania, Australian Capital Territory or Northern Territory. |
bodyStyle | string | — | One body style: SUV, Sedan, Ute, Wagon, Hatch, Cab Chassis, People Mover or Van. |
sellerType | string | — | Dealer listings only, or private-seller listings only. |
make | string | — | One vehicle make, e.g. Toyota. Spell it the way Carsales.com.au lists it. |
model | string | — | One model, e.g. CX-5. Only used together with make — ignored when make is blank. |
priceMin | integer | — | Only listings priced at or above this amount, in AUD. |
priceMax | integer | — | Only listings priced at or below this amount, in AUD. |
yearMin | integer | — | Only listings built in or after this year. |
yearMax | integer | — | Only listings built in or before this year. |
odometerMax | integer | — | Only listings with an odometer reading at or below this many kilometres. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
concurrency | integer | 8 | How many requests to run in parallel. Lower this if you see failures. |
proxyConfiguration | object | Apify Proxy | Proxy settings for the run. |
Output
Every listing is one dataset row.
A real captured listing, shown exactly as the actor returned it. Null fields are dropped from a row rather than shipped empty, so a row carries only what the listing actually had.
{"id": "OAG-AD-25711722","url": "https://www.carsales.com.au/cars/details/2021-mazda-cx-5-gt-kf-series-auto-i-activ-awd/OAG-AD-25711722/?gts=OAG-AD-25711722>sSaleId=OAG-AD-25711722>sViewType=showcase&rankingType=showcase","title": "2021 Mazda CX-5 GT KF Series Auto i-ACTIV AWD","make": "Mazda","model": "CX-5","variant": "GT Auto i-ACTIV AWD","year": 2021,"bodyStyle": "SUV","engine": "4cyl 2.5L Petrol","transmission": "Automatic","odometerText": "44,905 km","condition": "Used","price": 28980,"priceDisplay": "$28,980","priceQualifier": "Excl. Govt. Charges","priceIndicator": "Below market price","state": "NT","sellerType": "dealer","listingType": "Dealer used","sellerId": "AGC-SELLER-58595","mainImage": "https://carsales.pxcrush.net/carsales/cars/dealer/dfo39rs4jjb5yjwni2gtl6wop.jpg?pxc_method=fitfill&pxc_bgtype=self&pxc_size=720,480","previewImages": ["https://carsales.pxcrush.net/carsales/cars/dealer/dfo39rs4jjb5yjwni2gtl6wop.jpg?pxc_method=fitfill&pxc_bgtype=self&pxc_size=720,480","https://carsales.pxcrush.net/carsales/cars/dealer/c3fum8ysjxl6r2wygc1yfzh5y.jpg?pxc_method=fitfill&pxc_bgtype=self&pxc_size=720,480","https://carsales.pxcrush.net/carsales/cars/dealer/etu8y7sfxu6ubpb53l9aj66ov.jpg?pxc_method=fitfill&pxc_bgtype=self&pxc_size=720,480","https://carsales.pxcrush.net/carsales/cars/dealer/3nnatby5tzk6au7y25tcoccp5.jpg?pxc_method=fitfill&pxc_bgtype=self&pxc_size=720,480"],"photoCount": 32,"videoCount": 1,"interior360Count": 0,"listingId": "20d4c27c-0833-4a3e-b1f4-ba2acd577d8f","isPromoted": true,"promotionType": "showcase","searchRank": 3,"searchResultCount": 3926}
Core Fields
| Field | Type | Description |
|---|---|---|
id | string | Listing ID |
url | string | Listing URL |
title | string | Full title |
make | string | Make |
model | string | Model |
variant | string | Badge / variant |
year | number | Year |
bodyStyle | string | Body style |
engine | string | Engine / fuel |
transmission | string | Transmission |
odometerText | string | Odometer reading as shown, e.g. 44,905 km. Brand-new cars carry a build date instead, e.g. Built: December 2025 |
condition | string | Used, Demo or New |
Price & Value & Location
| Field | Type | Description |
|---|---|---|
price | number | Price (AUD) |
priceDisplay | string | Price as displayed |
priceQualifier | string | What the price includes: Drive away, Excl. Govt. Charges or Indicative drive away |
priceIndicator | string | The site's own valuation call: Around market price, Below market price or Well below market price |
state | string | State or territory code, e.g. NSW, VIC, QLD |
Contacts
| Field | Type | Description |
|---|---|---|
sellerType | string | dealer or private |
listingType | string | e.g. Dealer used, Dealer Demo, Dealer new car in stock, Private |
sellerId | string | Stable seller ID — group a dealership's whole advertised stock by it |
dealerName | string | Dealership trading name, where the listing shows one |
Media
| Field | Type | Description |
|---|---|---|
mainImage | string | Main photo URL |
previewImages | array | Preview photo URLs (up to 5) |
photoCount | number | The listing's full photo count — independent of the 5-image preview |
videoCount | number | Videos |
interior360Count | number | 360-degree tours |
Details & Timestamps
| Field | Type | Description |
|---|---|---|
listingId | string | Internal listing GUID |
isPromoted | boolean | true when the listing is a paid placement rather than an organic result |
promotionType | string | Which placement was bought: showcase, spotlight or topspot. Only present on promoted rows |
searchRank | number | Position this listing held in the result set |
searchResultCount | number | How many listings the site reports for this search overall |
Tips for Best Results
- Narrow the filters to go deeper. Any single Carsales.com.au search shows about 30 cars. The actor splits a broad search into narrower price bands on its own, but the most complete coverage on a very large search comes from combining state + make + a price band and running a few of those rather than one sweep.
odometerTextis a reading, not a number. About 3% of rows — brand-new cars — carryBuilt: December 2025in place of a distance, kept verbatim so nothing silently reads it as 2,025 km. Check forkmbefore converting, or filter onconditionfirst.- Check
priceQualifierbefore you average anything.Drive awayincludes on-road costs andExcl. Govt. Chargesdoes not. Mixing the two in one average moves it by thousands of dollars per car. - Filter on
isPromotedfor an organic view. Roughly a quarter of results are paid placements and they sit at the top, so an unfiltered first 30 over-represents them.searchRanktells you the position each row held, andpromotionTypetells you which placement was bought. photoCountis the listing's real total;previewImagesstops at 5. Rank listings byphotoCountto find the well-documented cars, then followurlfor the full gallery.modelneedsmake. A model on its own is ignored, and the spelling has to match the site's —CX-5, notCX5.- Listing IDs are stable, so schedule it. Re-run the same filters on a schedule and
diff on
idto separate genuinely new stock from price movements on cars you already have.
Pricing
From $0.60 per 1,000 results.
| Results | Price |
|---|---|
| 100 | $0.06 |
| 1,000 | $0.60 |
| 10,000 | $6.00 |
| 100,000 | $60.00 |
Those are the rates on Gold and above. Higher-volume plans pay less per result:
| Your Apify plan | Price |
|---|---|
| No discount | $0.72 |
| Bronze | $0.68 |
| Silver | $0.64 |
| Gold and above | $0.60 |
Per 1,000 results.
A "result" is any listing row in the output dataset. When you run several searches at once, a listing matching more than one of them is de-duplicated before it reaches the dataset, so you are never charged twice for the same listing. Platform fees (compute, storage) are additional and depend on your Apify plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n — Workflow automation
- Google Sheets — Direct spreadsheet export
- Slack / Email — Notifications on new results
- Webhooks — Trigger custom APIs on run completion
- Apify API — Full programmatic access
Legal & Ethical Use
This is an unofficial scraper. It is not affiliated with, endorsed by, or connected to Carsales.com.au or its operators in any way. All trademarks belong to their respective owners.
This actor is intended for legitimate market research and analytics. You are responsible for complying with applicable laws and with Carsales.com.au's Terms of Service.
Results may include personal data such as contact details. Treat them accordingly: do not use them for spam, harassment, or any unlawful purpose, and follow applicable privacy rules when storing or processing them.