
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape car listings from carsales.com.au by search URL, filters or listing URL: make, model, variant, year, price, odometer, body, engine, suburb, seller phone, photos, specs and features. Large searches are split automatically.
Scrape car listings from carsales.com.au, Australia's biggest car marketplace. Paste any carsales search or listing URL, or build a search from simple filters, and get clean rows with price, year, kilometres, specs, features, photos, suburb and the seller's phone number. No login, no browser, and big searches are split automatically so you are not stuck at the few hundred results carsales shows per search.
/cars/toyota/corolla/), ?q= URLs, listing URLs or bare listing IDs, or filters.https://www.carsales.com.au/cars/toyota/corolla/ — or leave it empty and fill in the Search filters (make, model, state, price, year…).| Field | What it does |
|---|---|
startUrls | carsales search URLs, listing URLs or listing IDs (OAG-AD-12345678). |
maxItems | Total listings to save (default 20, 0 = no limit). |
includeDetails | Open every listing for the full record (default on). |
make, model, condition, sellerType, state, bodyType, fuelType, transmission, colour | Filters for a search without a URL. |
priceMin / priceMax, yearMin / yearMax, odometerMin / odometerMax | Ranges (AUD, model year, km). |
sortBy | Featured, price, kilometres or year order for filter searches. |
proxyConfiguration | Datacenter by default; switches to Australian residential exits by itself if needed. |
{
"startUrls": [{ "url": "https://www.carsales.com.au/cars/toyota/corolla/" }],
"maxItems": 20,
"includeDetails": true
}
Filter search instead of a URL:
{
"make": "Mazda",
"model": "CX-5",
"condition": "used",
"state": "vic",
"priceMax": 40000,
"maxItems": 100,
"includeDetails": false
}
One row per car. Search-card fields are always filled; the rest come with Full listing details.
| Field | Example |
|---|---|
networkId, url, title | OAG-AD-26334634, listing link, 2013 Toyota Corolla Levin ZR Auto |
make, model, variant, badge, series, year | Toyota, Corolla, Levin ZR Auto, Levin Zr, ZRE182R, 2013 |
price, priceText, priceType, priceIndicator | 18990, $18,990, DAP (drive away) or EGC (excl. govt charges), Fair Price |
odometerKm, bodyType, transmission, engine, fuelType, cylinders, engineSizeLitres | 73841, Hatch, Automatic, 4cyl 1.8L Petrol, Petrol, 4, 1.8 |
condition, sellerType, listingType, sellerId | Used, Dealer, Dealer used, AGC-SELLER-61659 |
state, suburb, region, postcode | VIC, Bentleigh, Melbourne, 3204 |
sellerPhone, sellerName, sellerLocation, sellerMemberSince, sellerActiveListings, sellerVerified | phone, private seller's first name, … |
description | Seller or dealer comments |
colour, interiorColour, driveType, doors, seats, powerKw, torqueNm, fuelConsumption, fuelCapacityLitres, ancapRating | Brown, Black, FWD, 5, 5, 103, 173, 6.6 L/100km, 50, 5 |
registrationExpiry, buildDate, complianceDate, stockNumber, roadworthy | 2 months/December 2026, October 2013, … |
imageUrl, imageUrls, photoCount, videoCount | main photo, every photo, counts |
specifications, features, overview | Full Redbook specs and features, grouped by section |
searchUrl, searchResultCount, detailsScraped, scrapedAt | Where the row came from and when |
Example (trimmed, contact details changed):
{
"networkId": "OAG-AD-26334634",
"url": "https://www.carsales.com.au/cars/details/2013-toyota-corolla-levin-zr-auto/OAG-AD-26334634/",
"title": "2013 Toyota Corolla Levin ZR Auto",
"make": "Toyota",
"model": "Corolla",
"variant": "Levin ZR Auto F",
"year": 2013,
"price": 18990,
"priceText": "$18,990",
"priceIndicator": "Fair Price",
"currency": "AUD",
"odometerKm": 73841,
"bodyType": "Hatch",
"transmission": "Automatic",
"engine": "4cyl 1.8L Petrol",
"fuelType": "Petrol",
"condition": "Used",
"sellerType": "Dealer",
"state": "VIC",
"suburb": "Bentleigh",
"postcode": "3204",
"sellerPhone": "03 5550 0123",
"vehicleDescription": "ZRE182R Levin ZR Hatchback 5dr S-CVT 7sp 1.8i",
"colour": "Brown",
"driveType": "FWD",
"powerKw": 103,
"fuelConsumption": "6.6 L/100km",
"registrationExpiry": "2 months/December 2026",
"buildDate": "October 2013",
"stockNumber": "U87914",
"photoCount": 20,
"imageUrls": ["https://carsales.pxcrush.net/carsales/cars/dealer/5zkh6v2yhq4s4oe75dt6teb4a.jpg"],
"specifications": { "Engine": { "Engine Code": "2ZR-FE", "Power": "103.0kW", "Torque": "173Nm" } },
"features": { "Audio, Visual & Communication": { "Speakers": "6 speaker stereo" } },
"detailsScraped": true,
"scrapedAt": "2026-10-21T09:21:22Z"
}
You pay per saved listing:
Platform usage (proxy traffic and compute) is billed on top at normal rates. Listing pages are large, so each full record also uses about 0.8 MB of datacenter proxy traffic. Measured on real runs:
Rows are only charged when they are saved, and a run never goes over the maximum cost you set.
Is it legal to scrape carsales? The scraper reads public listing pages that anyone can open without an account. Check that your use of the data, especially personal data such as seller phone numbers, follows Australian privacy law and carsales' terms.
Do I need a carsales login or my own proxy? No. Nothing needs a login, and the built-in datacenter proxy works. If carsales starts refusing those addresses, the run moves to Australian residential proxies by itself.
How many results can I get? As many as the search has. carsales only pages through roughly 300 results per search, so bigger searches are split into price bands automatically. A search for every car in Australia is possible but large; narrow it with filters when you can.
Why is a field empty? Fields only show up when the listing has them: many dealers hide the plate or VIN, private sellers often have no stock number, and specs depend on carsales matching the car to a Redbook entry. With details off, only the search-card fields are filled.
Why does "Used" include demo cars?
That is how carsales files them: demonstrators sit under used cars, and their condition field says Demo.
Can I schedule it or use the API? Yes. Save the input as a task, schedule it, and read results through the API or webhooks.
sellerId, location, phone and number of active listings.recordDate is the date carsales attaches to the record, which is not always the date the ad went live.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalSearch or listing URLs
carsales.com.au URLs: any search results page (for example https://www.carsales.com.au/cars/toyota/corolla/ or a URL with ?q=...) or a single listing page (https://www.carsales.com.au/cars/details/.../OAG-AD-12345678/). A bare listing ID such as OAG-AD-12345678 works too. When URLs are given, the filters below are ignored.
maxItemsintegerOptionaldefault 20Maximum listings
How many listings to save in total across all inputs. 0 means no limit (up to 100,000).
includeDetailsbooleanOptionaldefault trueFull listing details
Open every listing for the full record: seller comments, suburb and postcode, seller name and phone, colour, registration, build date, VIN or stock number when shown, all photos, specifications and features. Off: search-card data only (make, model, variant, year, price, odometer, body, engine, transmission, state, seller type, one photo), which is faster and cheaper.
Build a search without a URL. Leave everything empty to use the URLs above.
makestringOptionalMake
Brand as carsales writes it, for example Toyota, Mazda, Mercedes-Benz. Used only when no URLs are given.
modelstringOptionalModel
Model as carsales writes it, for example Corolla, CX-5, LandCruiser. Needs a make.
conditionenumOptionaldefault "all"New or used
Limit to new or used cars.
sellerTypeenumOptionaldefault "all"Seller type
Dealer or private sellers only.
stateenumOptionaldefault "all"State or territory
Limit to one Australian state or territory.
bodyTypeenumOptionaldefault "all"Body type
Limit to one body style.
fuelTypeenumOptionaldefault "all"Fuel type
Limit by fuel.
transmissionenumOptionaldefault "all"Transmission
Automatic or manual.
colourstringOptionalColour
Exterior colour, for example White, Black, Silver, Grey, Blue, Red.
priceMinintegerOptionalMinimum price (AUD)
Lowest asking price.
priceMaxintegerOptionalMaximum price (AUD)
Highest asking price.
yearMinintegerOptionalYear from
Oldest model year.
yearMaxintegerOptionalYear to
Newest model year.
odometerMinintegerOptionalKilometres from
Lowest odometer reading in km.
odometerMaxintegerOptionalKilometres to
Highest odometer reading in km.
sortByenumOptionaldefault "featured"Sort by
Result order for filter searches. URLs keep the sort they carry. Large searches are split by price, so the order holds within each price band.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Datacenter proxies work for carsales. If the site refuses them, the scraper moves to Australian residential proxies by itself.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| imageUrl | any | Photo |
| title | any | Listing |
| price | any | Price (AUD) |
| priceIndicator | any | Price guide |
| year | any | Year |
| odometerKm | any | Km |
| bodyType | any | Body |
| transmission | any | Transmission |
| engine | any | Engine |
| condition | any | Condition |
| sellerType | any | Seller type |
| state | any | State |
| suburb | any | Suburb |
| sellerPhone | any | Phone |
| recordDate | any | Record date |
| url | any | Link |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Car listing | One car from carsales search results saved to the dataset (make, model, variant, year, price, odometer, body, engine, transmission, state, seller type and photo). | $0.00075 |
| Full car record | One car saved with its full listing page: seller comments, suburb and postcode, seller phone, colour, registration, build date, all photos, specifications and features. Charged instead of a car listing. | $0.0012 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/carsales-scraper').call({
"startUrls": [
{
"url": "https://www.carsales.com.au/cars/toyota/corolla/"
}
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/carsales-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/carsales-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
No examples yet
The developer hasn't published example inputs for this actor.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.