Cars.com
Cars.com — the US new/used/certified car marketplace: for-sale inventory with dealer asking prices, one listing's full detail, a valuation for a car you…
Cars.com — the US new/used/certified car marketplace: for-sale inventory with dealer asking prices, one listing's full detail, a valuation for a car you already own, and per-model research (trims, specs, expert and owner reviews). Three functions are built: searching the inventory, reading one listing in full, and reading one year/make/model's research overview. A fourth — the cash-offer valuation — is built too: callers pass a VIN, a ZIP, and the caller-supplied identity the 2026-07-31 quote-flow ruling requires, and the function returns the trade-in offer and private-party value perseus published for the assigned local dealer.
Domain: cars.com
Also known as: Cars.com
Call it directly
bowmark.providers.cars.search(args: { zipCode?: string; radiusMiles?: number; stockType?: 'new' | 'used' | 'cpo'; make?: string; model?: string; maxPrice?: string; minPrice?: string; maxMileage?: string; page?: number; pageSize?: number; sort?: string }): Promise<carsSearch>
bowmark.providers.cars.getListing(listingId: string): Promise<carsListing>
bowmark.providers.cars.getModelResearch(args: { make: string; model: string; year: number }): Promise<carsModelResearch>
bowmark.providers.cars.getVehicleValue(args: { vin: string; identity: QuoteIdentity; postalCode: string; mileage?: number }): Promise<carsVehicleValue>Functions
| Function | What it does |
|---|---|
search | Searches Cars.com's live for-sale inventory the way its own shopping results page does — by ZIP and radius, new / used / certified-pre-owned, make, model, price, mileage — and returns the… |
getListing | Reads one cars.com listing in full by its id (the uuid in a /vehicledetail/<id>/ url): VIN, asking price, mileage, year/make/model, stock number, CPO status, EPA highway mpg, the listing's… |
getModelResearch | Reads Cars.com's research overview for one year/make/model: starting MSRP, body style, drivetrain, seating and combined mpg, the trim levels offered, the site's own aggregate consumer… |
getVehicleValue | Reads Cars.com's own cash-offer valuation for a car the caller already owns: the trade-in offer and the private-party value perseus computed for the dealer's assigned ZIP, with the dealer… |
Types
interface carsListing {
id: string;
vin: string | null;
listPrice: number | null;
mileage: number | null;
year: number | null;
make: string | null;
model: string | null;
stockNumber: string | null;
certifiedPreowned: boolean | null;
highwayMilesPerGallon: string | null;
zipCode: string | null;
listedAt: string | null;
priceBadge: string | null;
predictedPrice: string | null;
hotCar: boolean | null;
dealer: { name: string | null; status: string | null } | null;
}
interface carsSearch {
appliedFilters: { filter: string; value: string | null }[];
totalListings: number;
totalPages: number;
page: number;
pageSize: number;
sort: string | null;
listingIds: string[];
}
interface carsModelResearch {
year: number;
make: string;
model: string;
title: string | null;
startingPrice: number | null;
bodyType: string | null;
drivetrain: string | null;
seatingCapacity: number | null;
milesPerGallonCombined: number | null;
trims: string[];
consumerRating: { score: number; reviewCount: number } | null;
expertReview: { headline: string; pros: string[]; cons: string[] } | null;
whatsNew: string | null;
}
interface QuoteIdentity {
firstName: string;
lastName: string;
dob: string;
email: string;
phone: string;
}
interface carsVehicleValue {
offerCode: string;
dealer: { name: string | null; zipCode: string | null } | null;
tradeInOffer: number | null;
privatePartyValue: number | null;
marketLabel: string | null;
mileageUsed: number | null;
warnings: string[];
}