# CarGurus Listing Scraper (x402)

> CarGurus Listing Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured used-car listing data from CarGurus by location, make/model, or direct search URL, returning normalized vehicle records.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/cargurus?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/cargurus-listing-scraper-x402-b8e3f643
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-bXopeAR3zKJQgBnMkH0O

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability cargurus-listing-scraper-x402-b8e3f643 -d '<json body>'
```

Example prompt: Search CarGurus for used Honda Civics within 30 miles of 10001, sorted by price ascending, and return up to 50 listings.

## When to prefer this

Choose this endpoint when you need structured, normalized vehicle listing data from CarGurus specifically — including make, model, year, trim, and body type — and want pay-per-call pricing with no charge for failed or empty runs. Prefer it over generic web scrapers when you need CarGurus-specific fields and filtering (zip, radius, sort, make/model path) without building your own scraping infrastructure.

## Known failure modes

- Invalid or unsupported zip code format returns an error or empty result
- CarGurus site structure changes may break scraping and return empty results
- Overly restrictive make/model/trim paths may yield zero listings
- Network or rate-limiting issues from CarGurus may cause partial or failed runs
- Supplying an invalid or expired startUrl may return no results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of listings found and an array of vehicle records, each containing listing ID, make, model, year, trim, title, body type, and country. Only non-empty successful runs are charged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "zip": {
   "type": "string",
   "description": "Location for filter-based search, such as 10001, M4B 1B4, or SW1A 1AA."
  },
  "distance": {
   "type": "integer",
   "default": 50,
   "minimum": 1,
   "description": "Search radius in local distance units."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop after this many listings across all searches. Set 0 for no item cap."
  },
  "maxPages": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Stop after this many result pages per search. Set 0 for all available pages."
  },
  "sortType": {
   "enum": [
    "BEST_MATCH",
    "DEAL_SCORE",
    "PRICE",
    "MILEAGE",
    "YEAR",
    "DISTANCE",
    "LISTING_DATE"
   ],
   "type": "string",
   "default": "BEST_MATCH",
   "description": "Order search results by this criterion."
  },
  "startUrls": {
   "type": "array",
   "description": "Optional CarGurus search URLs on the US, Canada, or UK site. If supplied, these replace the location filters."
  },
  "searchCountry": {
   "enum": [
    "US",
    "CA",
    "UK"
   ],
   "type": "string",
   "default": "US",
   "description": "Marketplace used when no search URL is provided."
  },
  "sortDirection": {
   "enum": [
    "ASC",
    "DESC"
   ],
   "type": "string",
   "default": "ASC",
   "description": "Ascending or descending order for the selected sort criterion."
  },
  "makeModelTrimPaths": {
   "type": "string",
   "description": "Optional path copied from a filtered search URL, such as m4 or m124,m124/d1751."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "make": null,
    "trim": null,
    "year": null,
    "model": null,
    "title": null,
    "country": null,
    "bodyType": null,
    "listingId": null
   }
  ],
  "product": "cargurus"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/cargurus-listing-scraper-x402-b8e3f643/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
