Cars Com Extractor
Pricing
from $1.99 / 1,000 results
Cars Com Extractor
Cars.com Extractor pulls vehicle listings from any Cars.com search, so you get price, MSRP, mileage, VIN, trim, dealer and photos in one clean table for pricing research and lead lists.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Cars.com Extractor
Turn any Cars.com search into clean, structured vehicle data. Give the actor a search (by ZIP and make, or a full Cars.com URL) and it returns one row per listing with price, MSRP, mileage, VIN, year, make, model, trim, dealer, and photos. Export to JSON, CSV, or Excel, or pipe it straight into a spreadsheet, a pricing model, or a CRM.
Cars.com lists millions of new and used vehicles across thousands of dealers. Reading that inventory by hand is slow and does not scale. This actor walks the search results for you, reads every listing card, and hands back a flat table you can actually work with.
Why use this actor
- Full listing detail per row. Price, MSRP, mileage, VIN, trim, drivetrain, fuel type, color, dealer, and photo URLs, all in one record.
- Two ways to search. Paste exact Cars.com search URLs, or just enter a ZIP and make and let the actor build the search.
- Filters that match the site. New, used, or certified pre-owned, distance radius, and sort order.
- Handles pagination for you. The actor pages through results until it hits your item cap, deduplicating by listing ID as it goes.
- Clean, predictable schema. Every field is typed and documented. Numbers come back as numbers, not strings.
- Ready for automation. Run on a schedule, connect to Google Sheets or a webhook, or call it through the Apify API.
Use cases
- Competitor and market pricing. Track how a make or model is priced across a region and how prices shift over time.
- Inventory monitoring. Watch how long specific trims sit on the lot and when new stock appears.
- Dealer lead generation. Build a list of dealers carrying the inventory you care about, with names and ZIP codes.
- Valuation and analytics. Feed real listing data into a pricing model, a dashboard, or a market report.
- Deal alerts. Schedule a search and get notified when a matching car is listed or a price drops.
Input
Run a search one of two ways. Provide one or more full Cars.com search URLs, or fill in a ZIP code (optionally with makes) and let the actor construct the search. If both are given, the URLs are used.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchUrls | array | No* | [] | Full Cars.com shopping result URLs. Use when you already have the exact search link. |
zipCode | string | No* | 60606 | ZIP the search is centered on. Required if no search URLs are given. |
makes | array | No | ["audi"] | Makes to filter by, for example toyota, ford. Leave empty for all makes. |
maximumDistance | integer | No | 50 | Search radius in miles from the ZIP (10 to 500). |
stockType | select | No | all | Condition filter: all, new, used, or cpo. |
sort | select | No | best_match_desc | Result order: best match, price, mileage, year, best deal, or distance. |
maxItems | integer | No | 20 | Cap on listings collected per run (1 to 1000). |
requestTimeoutSecs | integer | No | 30 | Per-request timeout in seconds (5 to 120). |
*Provide either searchUrls, or a zipCode. One of the two is required.
Example: search by ZIP and make
{"zipCode": "60606","makes": ["audi"],"maximumDistance": 50,"stockType": "all","sort": "best_match_desc","maxItems": 20}
Example: search by URL
{"searchUrls": ["https://www.cars.com/shopping/results/?makes[]=audi&zip=60606&maximum_distance=50&sort=best_match_desc"],"maxItems": 200}
Output
Each vehicle listing becomes one dataset record. Results are available as JSON, CSV, Excel, or through the Apify API.
| Field | Type | Description |
|---|---|---|
listingId | string | Cars.com listing identifier |
vin | string | Vehicle identification number |
stockType | string | New, Used, or certified |
year | integer | Model year |
make | string | Manufacturer |
model | string | Model name |
trim | string | Trim level |
bodyStyle | string | Body type, for example SUV or Sedan |
drivetrain | string | Drivetrain, for example All-wheel Drive |
fuelType | string | Fuel type |
exteriorColor | string | Exterior color |
price | integer | Listed price in USD |
msrp | integer | Manufacturer suggested price when shown |
mileage | integer | Odometer reading |
cpo | boolean | Certified pre-owned flag |
dealerName | string | Selling dealer |
dealerZip | string | Dealer ZIP code |
primaryImage | string | Main listing photo URL |
listingImages | array | All photo URLs on the card |
imageCount | integer | Number of photos captured |
detailUrl | string | Link to the full listing page |
searchUrl | string | The search this listing came from |
rankingPosition | integer | Position in the collected results |
scrapedAt | string | UTC timestamp of the run (ISO 8601) |
Example output record
{"listingId": "107ec708-5b14-41af-a1f7-bcff77627403","vin": "WA15AAGU7T2048258","stockType": "New","year": 2026,"make": "Audi","model": "Q5","trim": "Premium Plus","bodyStyle": "SUV","drivetrain": "All-wheel Drive","fuelType": "Gasoline","exteriorColor": "green","price": 57815,"msrp": 60425,"mileage": 10,"cpo": false,"dealerName": "The Audi Exchange Highland Park","dealerZip": "60035","primaryImage": "https://platform.cstatic-images.com/in/v2/.../6Ayd029p3xVD1S5YnPc7Y5HTzWU.jpg","listingImages": ["https://platform.cstatic-images.com/large/in/v2/.../6Ayd029p3xVD1S5YnPc7Y5HTzWU.jpg","https://platform.cstatic-images.com/large/in/v2/.../BB1wyloUtnPIeM_H3uYuJZLhRl4.jpg"],"imageCount": 6,"detailUrl": "https://www.cars.com/vehicledetail/107ec708-5b14-41af-a1f7-bcff77627403/","searchUrl": "https://www.cars.com/shopping/results/?makes[]=audi&zip=60606&maximum_distance=50&sort=best_match_desc","rankingPosition": 1,"scrapedAt": "2026-08-13T12:00:00+00:00"}
How to run
From Apify Console
- Open the actor in Apify Console.
- Enter a ZIP and make, or paste one or more Cars.com search URLs.
- Set
maxItemsto how many listings you want. - Click Start. When the run finishes, open the Dataset tab and export as JSON, CSV, or Excel.
On a schedule
Attach a schedule in Apify to run the search every hour, day, or week. Combine it with a webhook or a Google Sheets integration to keep a live inventory feed without touching the actor again.
How it works
The actor sends each search page through built-in bypass infrastructure, so you do not manage proxies or headers. It reads the structured listing data embedded in each result card, normalizes the fields, and pages through the results until it reaches your maxItems cap. Listings are deduplicated by their Cars.com listing ID, so the same car never lands in your dataset twice.
Tips
- Start small. Run with
maxItems: 20to check the output shape, then raise the cap for a full pull. - To compare several makes or regions in one run, add multiple entries to
searchUrls. - Sort by
list_price_ascto surface the cheapest inventory first, ormileage_ascfor the lowest-mileage cars. - Some fields depend on what Cars.com shows for a listing. MSRP, for example, is common on new cars and often absent on used ones.
FAQ
Do I need a Cars.com account or login? No. The actor reads only public search-result pages. It does not log in or submit any forms.
Can I scrape used and certified pre-owned cars?
Yes. Set stockType to used or cpo, or leave it on all to include everything.
How many listings can I collect per run?
Up to 1000, set with maxItems. The default is 20.
What format is the data? JSON, CSV, or Excel from the Dataset tab, or JSON through the API.
Why is a field empty on some records? Cars.com does not show every field on every listing. When a value is not present on the card, that field is left null rather than guessed.
Legal
Use this actor for public data collection in line with Cars.com terms and applicable law. You are responsible for how you use the data you collect. This actor reads publicly visible listing pages only.