Listing Search
/api/cargurus/v1/search
Search used-car listings with make/model paths, price, distance, sorting, and pagination
Scrappa's CarGurus API returns structured JSON from CarGurus, the US car marketplace with deal ratings. Search used-car listings with make and model paths, price range, distance, and sorting, and read each listing with the CarGurus deal rating, the price against the CarGurus Instant Market Value where published, mileage, engine, transmission, drivetrain, colours, images, equipment, and the seller record. Dealer reviews and the full make and model taxonomy are one call each. Scrappa is an independent service and is not affiliated with or endorsed by CarGurus.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/cargurus/v1/search?make_model_trim_paths=m26/d126&distance=50000&sort=best_match" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"success": true,
"data": {
"listings": [
{
"listing_id": 457265465,
"listing_title": "1993 GMC Suburban",
"listing_url": "https://www.cargurus.com/details/457265465",
"vin": "1GKGK26N8PJ702664",
"year": 1993,
"make": "GMC",
"model": "Suburban",
"trim": "K2500 4WD",
"body_type": "SUV / Crossover",
"price": { "amount": 14995, "currency": "USD", "localized": "$14,995", "rating": "NA" },
"mileage": { "value": 100474, "unit": "MILES", "localized": "100,474" },
"transmission": "Automatic",
"drivetrain": "Four-Wheel Drive",
"fuel_type": "Gasoline",
"seller_type": "DEALER",
"seller": { "name": "Salem Autosports", "city": "Trevor", "region": "WI" }
}
],
"pagination": { "page": 1, "page_size": 20, "page_count": 1, "total": 20, "has_more": false }
}
}
Structured data for real applications. Here are some ideas.
Read the CarGurus deal rating and the price against the Instant Market Value to surface cars priced below the market.
Analyse asking prices by make, model, distance, and mileage with numeric prices and the CarGurus market-value comparison.
Track a dealer's published reviews, ratings, and review authors over time with the dealer endpoint.
Page through the CarGurus result set with the page counter and build inventory feeds with VIN, stock number, and equipment data.
Power comparison and recommendation features in your own app with full listing specs, images, and seller location.
CarGurus scraper API
The CarGurus API is built for automotive analytics, deal-finding tools, and car search features. Each listing includes the listing id and URL, VIN, stock number, year, make, model, trim, body type, the CarGurus deal rating, the price against the CarGurus Instant Market Value where the listing publishes it, mileage with unit, engine, horsepower, transmission, drivetrain, fuel type, colours, doors, days on market, distance, images, the equipment list, and the seller record with location. The makes and models endpoints return the taxonomy that the search filters use.
Search by make and model path such as m26/d126, by price range, and by distance in miles.
Sort by best match, deal score, price, mileage, distance, or date.
Page through results with the page parameter and the CarGurus page counter.
Read the CarGurus deal rating on every listing and the market-value comparison where published.
Take the service provider id from a listing seller record and read that dealer's reviews.
Test the CarGurus API with 500 free monthly credits before scaling production traffic.
Combine make and model paths, a price range, and a distance to collect matching listings with numeric prices, the deal rating, mileage, and the seller location, then page through the result set until has_more is false.
Open CarGurus Search API docsCall the makes endpoint, then the models endpoint with a make id such as m4, and pass the returned make/model paths to search so your filters always match CarGurus identifiers.
Open CarGurus Makes API docsPass the service provider id from a search result seller record to the dealer endpoint to read the published review texts, ratings, and authors. A dealer without reviews returns an empty array.
Open CarGurus Dealer Reviews API docsEverything you need in one API.
/api/cargurus/v1/search
Search used-car listings with make/model paths, price, distance, sorting, and pagination
/api/cargurus/v1/makes
List every make CarGurus publishes, split into popular and other makes
/api/cargurus/v1/models
List the models of one make with their search filter paths
/api/cargurus/v1/dealer
Read the published reviews of one dealer with rating and author
See how Scrappa compares to the official API.
| Feature | Scrappa | ScrapingBee / ScraperAPI |
|---|---|---|
| CarGurus listing data as JSON | Build your own parser | |
| Deal rating and market-value fields | Parse it yourself | |
| Dealer reviews endpoint | ||
| Make and model taxonomy | ||
| Price per 1k requests | From $0.20 | Varies by credits per request |
| Unified API key | Yes (80+ APIs) | Scraping only |
| Free tier | 500 credits/month | Trial credits |
No. Scrappa is an independent service and is not affiliated with or endorsed by CarGurus. The CarGurus API returns structured JSON from public CarGurus listings, dealer reviews, and taxonomy data through a Scrappa API key.
Call the makes endpoint for the make list, then the models endpoint with a make id such as m4. Each entry carries make_model_trim_paths, for example ["m4", "m4/d3387"]. Pass one or more of those paths as make_model_trim_paths to search.
CarGurus labels a listing by how its price compares with the CarGurus Instant Market Value, for example GREAT_PRICE, GOOD_PRICE, or FAIR_PRICE. When a listing publishes the comparison, the price object also carries expected, differential, and deal_score. Not every listing publishes one, so those fields can be null.
Pass page starting at 1. The response carries page, page_count, total, and has_more. A page past the last result returns an empty listings array with has_more false, which is a valid result and is billed like any successful request.
Only dealer listings. The seller record carries the published business phone when seller_type is DEALER. Private seller contact details are never returned.
A block, a captcha, a timeout, or an unrecognized page shape returns a non-billable error. A valid empty result is billed, so a changed upstream shape can never become a charged empty result.
Every Scrappa account includes 500 free credits each month. After that, each request costs one credit, which works out to $0.20 to $0.30 per 1,000 requests depending on the credit pack or plan.