Cars.com Zipcode Scraper
Pricing
from $0.68 / 1,000 car details
Cars.com Zipcode Scraper
Scrape used-car listings from cars.com by ZIP code, radius, and make - get VIN, price, mileage, specs, dealer details, and photos as structured data
Pricing
from $0.68 / 1,000 car details
Rating
0.0
(0)
Developer
E Commerce
Maintained by ApifyActor stats
0
Bookmarked
4
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Cars.com Zipcode Search Scraper
Scrape used-car listings from cars.com by US ZIP code, search radius, and optional make. Each listing returns clean, structured data: VIN, make, model, year, trim, price, mileage, exterior and interior color, fuel type, body type, dealer name, rating, and location, plus photos and a link back to the listing. Part of the automotive portfolio alongside the CarGurus, AutoTrader, and CarMax scrapers.
Features
- Search any US market by ZIP code and radius, optionally filtered by make.
- Returns the full result set across all pages, not just the first page.
- Dealer name, rating, and location on every listing.
- Optional detail mode adds transmission, interior color, engine, stock number, dealer phone, and accident/owner history.
- Runs standalone - it clears cars.com's bot protection on its own, with no extra setup or external services.
Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
zips | array of strings | yes | ["90210", "73099", "77494", "37042"] | US ZIP codes to search from. |
carBrands | array of strings | no | all makes | Restrict to specific makes (e.g. Toyota, Ford, BMW). Omit to scrape every make. |
radius | string | no | 100 miles | One of 10 miles, 25 miles, 50 miles, 75 miles, 100 miles, 150 miles, 200 miles, 500 miles, or Nationwide. |
scrapeVehicleDetails | boolean | no | false | When on, the Actor opens each vehicle detail page to add transmission, interior color, engine, stock number, dealer phone, and accident and owner history. This is slower and costs more, since it renders one extra page per listing. |
maxRequestsPerCrawl | integer | no | unlimited | Optional cap on total pages. Useful for quick test runs. |
Example input
{"zips": ["90210"],"carBrands": ["Toyota"],"radius": "50 miles","scrapeVehicleDetails": false}
Output
Each listing is one dataset record. The Overview view shows VIN, make, model, year, price, mileage, and dealer; export the full dataset for every field.
Always populated (from search):
- Vehicle:
vin,makeName,modelName,carYear,trimName,bodyTypeName,localizedFuelType,exteriorColorName - Price and mileage:
price,priceString,mileage,mileageString - Dealer:
serviceProviderName(name),sellerRating,sellerCity,sellerRegion,sellerPostalCode - Media and links:
pictures,mainPictureUrl,pictureCount,detailUrl - Provenance:
searchZip,dateOfScrape
Added when scrapeVehicleDetails is on:
localizedTransmission,localizedInteriorColor,localizedEngineDisplayName,stockNumberaccidentCount,ownerCount,carsComIsPersonalUse- Dealer
phoneNumberandphoneNumberString
See .actor/output_schema.json for the complete field list and types.
How it works
cars.com sits behind Cloudflare, so the Actor runs its own stealth browser (camoufox) over Apify residential proxy to load the search pages, then reads the listing data from the page and enriches the dealer from cars.com's public API. There is nothing to configure - just provide ZIP codes and run it.
Residential proxy is recommended, since cars.com blocks datacenter IPs.
Local development
npm installnpm run buildnpm run start:dev