cars.com APIcars.com ↗
Search and retrieve vehicle listings from Cars.com. Filter by make, model, year, ZIP, and more. Get full specs, dealer info, features, and photos per listing.
curl -X GET 'https://api.parse.bot/scraper/70d60e90-0e27-4ec3-bfb4-e015ced9f755/search_listings?zip=60601&make=ford&page=1&model=f-150&distance=30&fuel_type=gasoline&drivetrain=front_wheel_drive&stock_type=used&transmission=automatic&exterior_color=black' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for vehicle listings with filters. Returns a paginated list of matching vehicles including pricing, mileage, dealer info, and deal ratings.
| Param | Type | Description |
|---|---|---|
| zip | string | 5-digit US ZIP code for search area, leading zeros preserved. |
| make | string | Vehicle make (e.g., 'ford', 'toyota', 'gmc'). |
| page | integer | Page number, 1-indexed. |
| sort | string | Sort order. Accepted values: 'best_match_desc', 'price_asc', 'price_desc', 'mileage_asc', 'year_desc'. |
| model | string | Vehicle model (e.g., 'f-150', 'camry'). Used in combination with make. |
| distance | integer | Search radius in miles from ZIP code. |
| year_max | integer | Maximum model year filter. |
| year_min | integer | Minimum model year filter. |
| price_max | integer | Maximum listing price in USD. |
| price_min | integer | Minimum listing price in USD. |
| stock_type | string | Stock type filter. Accepted values: 'new', 'used', 'cpo', 'all'. |
| mileage_max | integer | Maximum mileage filter. |
{
"type": "object",
"fields": {
"listings": "array of vehicle listing objects with listing_id, vin, title, year, make, model, trim, price, mileage, stock_type, deal_rating, location, photos, listing_url, and dealer info",
"pagination": "object with current_page, total_pages, total_listings, and page_size"
},
"sample": {
"data": {
"listings": [
{
"vin": "1FTBR1Y83RKA33638",
"make": "Ford",
"trim": "Base",
"year": "2024",
"model": "Transit-250",
"price": "33471",
"title": "Used 2024 Ford Transit-250 Base",
"dealer": {
"name": "Willowbrook Ford Kia",
"rating": "",
"customer_id": "f04d775d-d46f-52af-bfe2-a4b73ab54a7b"
},
"photos": [
"https://platform.cstatic-images.com/large/in/v2/f04d775d-d46f-52af-bfe2-a4b73ab54a7b/a94f9859-8d64-485e-8f08-58e2c18c690b/x1f5lTpXRLC73iUsJQYcCwo7AnA.jpg"
],
"mileage": "17654",
"location": "Willowbrook, IL (19 mi)",
"listing_id": "405d7553-7644-4eb4-ad5b-949c8eb79960",
"stock_type": "Used",
"deal_rating": "Great Deal",
"listing_url": "https://www.cars.com/vehicledetail/405d7553-7644-4eb4-ad5b-949c8eb79960/"
}
],
"pagination": {
"page_size": 24,
"total_pages": 135,
"current_page": 1,
"total_listings": 3236
}
},
"status": "success"
}
}About the cars.com API
The Cars.com API exposes 3 endpoints for searching vehicle listings, fetching full listing details, and pulling dealer inventory. The search_listings endpoint accepts filters including make, model, year range, ZIP code, distance, and sort order, returning paginated results with pricing, mileage, stock type, and deal ratings. Individual listing records include VIN, trim level, photos, and grouped feature lists.
Search and Filter Vehicle Listings
The search_listings endpoint accepts up to eight query parameters — make, model, zip, distance, year_min, year_max, sort, and page — and returns a listings array alongside a pagination object that includes total_listings, total_pages, and page_size. Each listing object carries a listing_id UUID, vin, title, year, make, model, trim, price, mileage, stock_type, and a deal_rating field that reflects how competitively priced that vehicle is relative to similar listings. Sort options include price_asc, price_desc, mileage_asc, year_desc, and best_match_desc.
Full Listing Details
Pass a listing_id from search results to get_listing_details to retrieve the complete record for that vehicle. The response includes structured features — a basics array plus grouped feature categories — along with a photos array of image URLs, the full dealer object (id, name, rating, review count), and core specs like vin, trim, price, and mileage. This endpoint is the right place to pull everything needed for a vehicle detail page or comparison tool.
Dealer Inventory
The get_dealer_inventory endpoint accepts a dealer_id UUID (available from search_listings results under dealer.customer_id) and returns that dealer's full paginated inventory. The response shape mirrors search_listings — same listings array structure and pagination object — making it straightforward to traverse a dealership's entire available stock across pages.
- Build a used-car price tracker that monitors listing prices for a specific make/model/year combination by ZIP code.
- Aggregate dealer inventory for a geographic region using
get_dealer_inventoryacross multiple dealer IDs. - Flag underpriced listings by filtering on
deal_ratingfromsearch_listingsresults. - Populate a vehicle comparison tool using specs, trim levels, and grouped features from
get_listing_details. - Track how long specific VINs remain listed by polling
search_listingsand checking listing presence over time. - Build a photo gallery viewer for a listing using the
photosarray returned byget_listing_details. - Generate dealer scorecards by collecting
dealer.ratinganddealer.review_countacross inventory results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Cars.com have an official developer API?+
What does the `deal_rating` field in search results represent?+
deal_rating field reflects how a listing's price compares to similar vehicles on the market. It appears in both search_listings and get_dealer_inventory results and is useful for filtering or sorting listings by pricing competitiveness.Does the API return seller reviews or individual reviewer text?+
dealer object in get_listing_details includes a dealer-level rating and review_count, but individual review text is not returned. You can fork this API on Parse and revise it to add an endpoint that retrieves individual dealer reviews.Is there a way to filter search results by price range?+
search_listings endpoint does not currently expose price_min or price_max filter parameters. You can filter the returned price field client-side, or fork this API on Parse and revise it to add price range inputs to the search endpoint.How does pagination work across the endpoints?+
search_listings and get_dealer_inventory return a pagination object containing current_page, total_pages, total_listings, and page_size. Pass the page parameter (1-indexed) to step through results. get_listing_details returns a single record and does not paginate.