Sourcelane

Carsales Natural Language Car Search

E-commerce & Marketplaces

Operated by Sourcelane✓ verified

A natural-language search connector for carsales.com.au that parses plain-English queries (e.g., year, price ranges, odometer, location, nicknames and abbreviations for makes/models, variants and badges, body type, fuel, transmission, colour, new/used and sort preferences) into structured searches and returns detailed car listing metadata. The connector maps user wording to carsales' make/model taxonomy, matches variants and badges against listing titles, supports complex expressions for year/price/odometer and location, and aggregates results across large searches by splitting queries (e.g., by price bands and model years) to collect complete result sets. For each matched listing it extracts listing identifiers and URLs, title and variant, vehicle attributes (year, make, model, condition, body type, engine, transmission, fuel, odometer), pricing details including price type and price-excluding-government-charges plus a price-badge classification, seller metadata (type, identifier, state), promotion/badge indicators, photo counts and image URLs, and the search URL and 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.

What people use it for

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

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-ai-search","params":{"query":"Audi RS3 newer than 2024 under 120k","maxItems":5},"maxResults":10}'

Request params

FieldTypeRequiredDescription
querystringrequiredDescribe the car in plain English. Make, model, variant, year, price, kms, state or city, body type, fuel, transmission, colour and sort preference are all understood. Examples: "RS3 newer than 2024", "cheapest diesel Hilux 4x4 in Queensland under 150,000 km", "white Tesla Model 3 in Melbourne between 40k and 55k".
maxItemsintegeroptionalMaximum number of unique listings to save. Set 0 for no limit. Capped at 100 per call.
deepCollectionbooleanoptionalcarsales 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.
modelstringoptionalModel used to interpret your request. Each run uses one or two short calls.

Each result contains

FieldTypeDescription
adIdstringAd Id
listingIdstringListing Id
urlstringUrl
titlestringTitle
variantstringVariant
yearintegerYear
makestringMake
modelstringModel
conditionstringCondition
priceintegerPrice
priceTypestringPrice Type
priceExclGovtChargesintegerPrice Excl Govt Charges
priceBadgestring—
bodyTypestring—
transmissionstring—
enginestring—
fuelTypestring—
odometerKminteger—
sellerTypestring—
sellerIdstring—
statestring—
isPromotedboolean—
badgesarray—
imageCountinteger—
imagesarray—
searchUrlstring—
sortBystring—
totalResultsForSearchinteger—
scrapedAtstring—

Use Carsales Natural Language Car Search from Claude, ChatGPT or Cursor

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.

  1. 1Copy your personal connector URL
  2. 2In Claude open Settings → Connectors → Add custom connector
  3. 3Paste the URL and click Add — done
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://cool-puffin-608.convex.site/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "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"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://cool-puffin-608.convex.site/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "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
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://sourcelane-amber.vercel.app/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
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-ai-search","params":{"query":"Audi RS3 newer than 2024 under 120k","maxItems":5},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://cool-puffin-608.convex.site/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "carsales-ai-search",
        "params": {"query":"Audi RS3 newer than 2024 under 120k","maxItems":5},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…