Operated by Sourcelane✓ verified
Scrapes carsales.com.au to extract complete vehicle listings for specified make/model combinations and filter criteria (year range, price range, state, body type, fuel, transmission, colour, keywords and sort order). Returns structured listing records containing a unique listing identifier and URL, human-readable title and variant, year/make/model and condition, detailed pricing information (amount, price type and price excluding government charges, plus a price badge), vehicle specifications (body type, transmission, engine description, fuel type, odometer in km), seller metadata (seller type, seller identifier and state), promotion and listing badges, photo counts and image URLs, the resolved search URL and a scrape timestamp.
Verified Sep 28, 12:10 AM
$0.002
per listing
Up to 100 per call. Only pay for results returned; failed calls are refunded.
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://cool-puffin-608.convex.site/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"carsales-search-scraper","params":{"vehicles":["audi/rs3"],"maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
condition | string | optional | New or used (used includes demo and near-new cars). |
vehicles | array | optional | Pick one or more makes or make + model pairs — start typing to search (e.g. "BMW 3 Series", "Toyota Hilux", "Tesla (all models)"). You can also type your own entry such as "rs3", "hilux" or "mercedes c-class" and press Enter; it is matched against carsales' 145 makes and 1,651 models. Leave empty to search all cars. Each vehicle is searched separately with the filters below. |
state | string | optional | Australian state or territory the car is listed in. |
bodyType | string | optional | Body style. |
fuelType | string | optional | Fuel type. |
transmission | string | optional | Gearbox type. |
colour | string | optional | Exterior colour. |
priceMin | integer | optional | Lowest price to include. Exact bound applied to results. |
priceMax | integer | optional | Highest price to include. Exact bound applied to results. |
yearMin | integer | optional | Oldest model year to include. |
yearMax | integer | optional | Newest model year to include. |
odometerMax | integer | optional | Highest odometer reading to include. Exact bound applied to results. |
keywords | array | optional | Optional words that must appear in the listing title or variant, e.g. "Wildtrak", "quattro", "4x4". A listing must match every keyword. |
sortBy | string | optional | Order of results as carsales returns them. |
maxItems | integer | optional | Maximum number of unique listings to save. Set 0 for no limit. Capped at 100 per call. |
deepCollection | boolean | optional | carsales only serves the first 20 pages (about 440 listings) of any search. When a search is larger, automatically split it into price bands, then model years, and merge the results. |
Each result contains
| Field | Type | Description |
|---|---|---|
adId | string | Ad Id |
listingId | string | Listing Id |
url | string | Url |
title | string | Title |
variant | string | Variant |
year | integer | Year |
make | string | Make |
model | string | Model |
condition | string | Condition |
price | integer | Price |
priceType | string | Price Type |
priceExclGovtCharges | integer | Price Excl Govt Charges |
priceBadge | string | — |
bodyType | string | — |
transmission | string | — |
engine | string | — |
fuelType | string | — |
odometerKm | integer | — |
sellerType | string | — |
sellerId | string | — |
state | string | — |
isPromoted | boolean | — |
badges | array | — |
imageCount | integer | — |
images | array | — |
searchUrl | string | — |
sortBy | string | — |
totalResultsForSearch | integer | — |
scrapedAt | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “Track the price of these 20 grocery items at Woolworths and Coles every week.”
Connect Claude
Web, desktop and mobile. Paste one URL.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://cool-puffin-608.convex.site/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://cool-puffin-608.convex.site/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://cool-puffin-608.convex.site/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://cool-puffin-608.convex.site/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://sourcelane-amber.vercel.app/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://cool-puffin-608.convex.site/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"carsales-search-scraper","params":{"vehicles":["audi/rs3"],"maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://cool-puffin-608.convex.site/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "carsales-search-scraper",
"params": {"vehicles":["audi/rs3"],"maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…