Car Listing Scraper for Cars.com - Prices, Specs & Dealer Leads avatar

Car Listing Scraper for Cars.com - Prices, Specs & Dealer Leads

Pricing

from $1.00 / 1,000 car listings

Go to Apify Store
Car Listing Scraper for Cars.com - Prices, Specs & Dealer Leads

Car Listing Scraper for Cars.com - Prices, Specs & Dealer Leads

Scrape Cars.com new and used car listings: price, predicted price, deal rating, price history, mileage, VIN, specs, features, photos and history summary, plus dealer leads with address, phones, website and hours. Monitor new listings and price drops. Independent tool, not affiliated with Cars.com.

Pricing

from $1.00 / 1,000 car listings

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Cars.com Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "Cars.com" is referenced only to describe the publicly available website this Actor collects data from.

Turn Cars.com, one of the largest US car marketplaces, into clean, structured data. Paste a Cars.com search link (or pick makes, models and a ZIP code) and get every matching listing with year, make, model and trim, asking price, Cars.com's predicted price and deal rating, recent price drop, mileage, VIN, body style, drivetrain, fuel, colours, the vehicle history summary (clean title, accidents, owners, recalls), days on market, all photos and the selling dealer with its rating and review count.

Switch on full details to add every feature by group, the dealer's full equipment list, the seller's notes, engine, transmission, cylinders, doors, mileage per gallon, the full price history, the history report link and the dealer's street address, sales and service phones, website, opening hours and franchise makes. Switch on dealer leads for one deduplicated row per dealer with a 0-100 lead score. Monitor mode returns only newly listed cars and price changes between runs.

Fast and light: no browser, no login, no API key of your own. Results stream into your dataset within seconds.

Why this Cars.com scraper?

Every row is read from the same listing data Cars.com's own website is built from. Search rows already carry the price, deal and history fields below; full details add the rest.

DataSearch row (car)Full detail (carDetail)
Year, make, model, trim, VIN, mileage, body style, drivetrain, fuel, coloursyesyes
Asking price, recent price drop, MSRP where listedyesyes
Cars.com predicted price and deal rating (Great / Good / Fair Deal), on used dealer carsyesyes
Vehicle history summary: clean title, no accidents, one owner, open recall, personal useyesyes
Days on market and listing dateyesyes
All listing photosyesyes
Selling dealer with its rating and review countyesyes
Full price history with dates-yes
Features by group (Convenience, Entertainment, Exterior, Safety, Seating) and the dealer's full equipment list-yes
Seller's notes, engine, transmission, cylinders, doors, mileage per gallon-yes
Dealer street address, coordinates, sales and service phones, website, opening hours, franchise makes-yes
Certified pre-owned programme, warranty and inspection (certified cars)-yes

On top of the rows: dealer leads (one deduplicated row per dealer in your results, with its contacts, the number of its cars, their price range and a 0-100 lead score) and monitor mode (only newly listed cars and price changes since the last run).

Who uses Cars.com data?

  • Dealers and dealer groups: track competitor pricing, days on market and price drops on the exact models you stock.
  • Pricing, valuation and marketplace tools: feed live asking prices, predicted prices and mileage into your models.
  • Dealer-facing SaaS, agencies and vendors: build prospect lists of franchise and independent dealers by area, number of listings and rating.
  • Lenders, insurers and warranty providers: size markets and reach dealers.
  • Wholesalers, exporters and flippers: spot cars priced under Cars.com's predicted price and fresh price drops.
  • Researchers and analysts: used-car prices, inventory, depreciation and history-report trends by make, model and region.

How to use

  1. Sign up for Apify. The free plan is enough to try this actor.
  2. Open the Car Listing Scraper for Cars.com and either paste a Cars.com search URL (set your filters on cars.com, then copy the address of the results page) or enter makes, models and a ZIP code.
  3. Click Start and watch the results arrive in the dataset.
  4. Export as JSON, CSV, Excel, XML or RSS, or read the results through the Apify API.

Input

The most exact way to run a search is to set your filters on cars.com and paste the results-page address into Search URLs: every filter in the link is kept.

{
"searchUrls": [
"https://www.cars.com/shopping/results/?stock_type=used&makes[]=honda&models[]=honda-accord&maximum_distance=50&zip=10001"
],
"includeCarDetails": true,
"maxResults": 50
}

Or build a search from fields:

{
"makes": ["toyota"],
"models": ["rav4"],
"stockType": "used",
"zip": "60606",
"radius": 50,
"priceMax": 35000,
"mileageMax": 60000,
"yearMin": 2020,
"dealRatings": ["great", "good"],
"noAccidentsOnly": true,
"includeDealerLeads": true,
"maxResults": 100
}
FieldWhat it does
searchUrlsCars.com search-results links. Every filter in the link is kept; the actor pages through the results.
makes, modelsBuild a search by brand and optional model (models pair with the first make). Each make is its own search and gets a fair share of maxResults.
stockTypeall, used, new or cpo (certified pre-owned).
zip, radiusSearch location and distance in miles. Leave radius empty for a nationwide search.
keywordFree-text keyword such as hybrid or a trim name.
priceMin, priceMax, mileageMax, yearMin, yearMaxPrice, mileage and year limits.
sellerTypeany, dealer or private.
dealRatings, bodyStylesOnly these deal badges or body styles.
onlyWithPriceDrop, cleanTitleOnly, noAccidentsOnly, oneOwnerOnly, homeDeliveryOnlyOnly listings with a recent price drop, a clean title, no reported accidents, one owner, or home delivery.
sortByBest match, newest or oldest listed, price, mileage, year, nearest first or best deal first.
includeCarDetailsFull detail for every listing (features, equipment, seller's notes, price history, dealer contacts).
includeDealerLeadsOne row per dealer found, with contacts and a lead score.
listingUrlsSpecific /vehicledetail/<id>/ pages, each returned as a full detail row.
urlsFromFileA pasted list of Cars.com links, or one link to a .txt/.csv file, Google Sheet or Drive file.
monitorMode, monitorKeyReturn only cars listed since the monitor's first run, plus price changes on cars it already returned.
maxResults, maxResultsPerSearchResult caps. Cars.com shows at most 10,000 listings per search.

Filters are applied by Cars.com itself, and the make, condition, price, mileage, year, seller type, deal rating, body style, price drop and history filters are checked again on every row, so a row that does not match them is never billed.

Output

Each vehicle is one row. Example (trimmed):

{
"recordType": "car",
"listingId": "bb35c48e-6814-4313-bef7-87be86424424",
"title": "2023 Ford Expedition Limited",
"year": 2023,
"make": "Ford",
"model": "Expedition",
"trim": "Limited",
"vin": "1FMJU2A8XPEA06874",
"stockType": "Used",
"certified": false,
"price": 37506,
"priceDropAmount": 704,
"predictedPrice": 38422,
"priceVsPredicted": -916,
"mileage": 82248,
"bodyStyle": "SUV",
"drivetrain": "Four-wheel Drive",
"fuelType": "Gasoline",
"exteriorColor": "Agate Black Metall",
"interiorColor": "Black Onyx",
"dealRating": "Great Deal",
"cleanTitle": true,
"noAccidents": true,
"singleOwner": true,
"openRecall": true,
"seller": "BMW of Dallas",
"dealerName": "BMW of Dallas",
"dealerRating": 4.6,
"dealerReviewCount": 3973,
"sellerType": "dealer",
"city": "Dallas",
"state": "TX",
"distanceMiles": 4,
"listedAt": "2026-09-28T01:13:45.000Z",
"daysOnMarket": 22,
"photoCount": 26,
"primaryPhoto": "https://platform.cstatic-images.com/in/v2/2d47760c-.../r15AAW0GZgoaPdYkZ1xmfPaRRGQ.jpg",
"listingUrl": "https://www.cars.com/vehicledetail/bb35c48e-6814-4313-bef7-87be86424424/"
}

With includeCarDetails the row (recordType: "carDetail") adds features, featuresByCategory, featuresText, equipment, sellerNotes, engine, transmission, cylinders, doors, mpgCity, mpgHighway, evRangeMiles, stockNumber, priceHistory (date, price, change), priceHistoryText, priceChangeTotal, vehicleHistoryReportUrl, vehicleHistoryProvider, spin360Url, latitude / longitude (the dealer's location), dealerAddress, dealerWebsite, dealerListingUrl (the car on the dealer's own website), dealerPageUrl, dealerHours, phone, salesPhoneNew, salesPhoneUsed, servicePhone, franchiseDealer, dealerMakes, modelRating and modelReviewCount, plus, on certified pre-owned cars, cpoProgram, cpoWarranty, cpoEligibility, cpoInspection and cpoProgramUrl.

A dealer lead (recordType: "dealerLead") looks like:

{
"recordType": "dealerLead",
"dealerName": "Hollywood Kia",
"dealerType": "franchise",
"address": "6011 Pembroke Road, Hollywood, FL 33023",
"zip": "33023",
"inventoryCount": 23,
"avgPrice": 39513,
"salesPhone": "(888) 832-1173",
"servicePhone": "(855) 251-3416",
"website": "https://www.hollywoodkia.com",
"hours": "Mon 09:00-21:00; Tue 09:00-21:00; Wed 09:00-21:00; Thu 09:00-21:00; Fri 09:00-21:00; Sat 09:00-20:00; Sun 10:00-17:00",
"franchiseMakes": ["Kia"],
"rating": 4.4,
"reviewCount": 8008,
"leadScore": 91,
"leadSignals": ["dealer", "has-phone", "has-website", "high-inventory", "franchise"]
}

Lead rows also carry the dealer's own description (dealerDescription), street address, coordinates, Cars.com dealer page, new-car sales line and a DealerRater award flag.

The dataset has five views: Overview (every row), Cars, Specs & deal, Vehicle details and Dealer leads. Dealer-lead rows follow the listings, so in the Console's Dealer leads view they start after the listing rows (for example on page 3 of the table after 100 listings, at 50 rows a page). Through the API, read a view with clean=true, for example .../items?view=dealers&clean=true.

What to expect (field coverage)

  • Vehicle core (year, make, model, trim, VIN, price, mileage, body, drivetrain, fuel, colours, photos, listing date): on virtually every listing.
  • Colours are the names the seller lists ("Blizzard Pearl", "Ice Cap"), not a colour family.
  • Predicted price and deal rating: on used-car dealer listings. Cars.com gives neither to new cars or private-seller listings.
  • Price: on almost every listing; a few new cars are listed as "contact for price" and carry none.
  • MSRP: mostly on new cars; used listings rarely carry one.
  • Price drop: only on listings whose price actually dropped recently. That is a buying signal, not a gap.
  • Vehicle history summary (clean title, accidents, owners, recalls, personal use): on used cars with a history report; new cars have none.
  • Distance: when your search has a ZIP code, measured in a straight line from the ZIP's centre to the dealer.
  • Private sellers: the listing, city and state are included; no personal name or contact details are collected.
  • Dealer phones: the sales (new and used) and service numbers Cars.com lists for the dealer, the same numbers its dealer page shows.
  • Features, equipment, seller's notes, price history: on full-detail rows.
  • MPG and EV range: as Cars.com lists them. Many electric cars, plug-in hybrids and models not yet rated have no EPA figure, so those fields are empty rather than 0.

How much does it cost to scrape Cars.com?

This Actor uses Apify's pay-per-event pricing: you are charged for the results it delivers, with no monthly rental, and from 6 November 2026 a small fee each time a run starts (once per GB of run memory). The events it can charge are:

  • Car listing - One Cars.com listing from a search: year, make, model, trim, VIN, mileage, asking price, recent price drop, MSRP where listed, Cars.com's predicted price and deal rating, body style, drivetrain, fuel type, colours, the vehicle history summary, days on market, all listing photos and the selling dealer with its rating.
  • Car listing with full detail - One listing with everything above plus its features by group, the dealer's full equipment list, the seller's notes, engine, transmission, cylinders, doors, mileage per gallon, the full price history, the history report link where there is one, and the dealer's street address, coordinates, phones, website and opening hours. Every listing URL you give is returned this way.
  • Dealer lead - One deduplicated dealer from your results: name, franchise or independent, street address, coordinates, sales and service phones, website, opening hours, franchise makes, rating and review count, the number of its cars in your results with their average, lowest and highest price, and a 0-100 lead score. Private sellers are never returned as leads.
  • Actor start (from 6 November 2026) - Charged by Apify once when a run starts, per GB of run memory: one charge for a run at the default 512 MB. It also covers the first seconds of the run's compute.

The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/cars-com-scraper').call({
makes: ['toyota'],
models: ['rav4'],
stockType: 'used',
zip: '10001',
radius: 100,
onlyWithPriceDrop: true,
includeDealerLeads: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} cars and dealers`);

Integrate with any app

Connect the dataset to thousands of apps with no code:

  • Make: multi-step automation scenarios.
  • Zapier: push new listings and dealer leads into your CRM.
  • Slack: get pinged when a monitored search gets a new car or a price drop.
  • Google Drive / Sheets: export every run to a spreadsheet.
  • Airbyte: pipe results into your data warehouse.
  • GitHub: trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT or any agent framework through the Apify MCP server: ask your assistant to "find used Toyota RAV4s under $30k within 100 miles of 10001 that just dropped in price and are priced under Cars.com's predicted price, with the dealer's phone" and let it run the scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready: AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402: an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server, with no account and no API key.
  • Skyfire: agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

Data & lawful use

This Actor reads public listings and the seller information shown on them. Most sellers on Cars.com are dealerships, whose business name, address, phones, website and hours are business contact data; listings from private individuals are returned without any personal name or contact details. If you are in the EU or UK you are the data controller for what you do with the output: have a lawful basis (usually legitimate interest for market research, price monitoring or B2B prospecting), keep any outreach relevant to the dealer's business, honour opt-outs and deletion requests, and do not use the output for spam.

Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.

More scrapers from scrapesage

Build a complete automotive and marketplace data stack:

Tips

  • Pasted links win: pick your filters on cars.com, then paste the results-page address into searchUrls to reproduce the exact search.
  • Under-market cars: sort the dataset by priceVsPredicted (most negative first) to find cars priced below Cars.com's predicted price.
  • Price-drop feed: set onlyWithPriceDrop: true, then run on a Schedule with monitorMode for a continuous repricing or buying signal.
  • Dealer prospecting: turn on includeDealerLeads with a wide radius, then sort by leadScore to reach the biggest, best-rated dealers in a market first.
  • Full specs: turn on includeCarDetails when you need features, equipment, seller's notes or price history.
  • Big markets: Cars.com stops at 10,000 listings per search, so split a very large search by price range, year or ZIP code.

FAQ

Where does the data come from? From the same public listing data Cars.com shows on its search-results and vehicle pages.

Does it need an API key or login? No. There is no login and no key of your own to set up.

How fresh is it? Every run reads live listings. Run it on a Schedule with monitorMode to capture new listings and price changes as they appear.

Does it include dealer phone numbers? Yes, with full details or dealer leads on: the sales and service numbers Cars.com lists for each dealer, plus the dealer's website and address.

Will it return every car for a search? It pages through the results up to your maxResults / maxResultsPerSearch limits. Cars.com itself stops at 10,000 listings per search.

What happens if a search link cannot be read? The run names it on its status card and bills nothing for it. For short links such as /shopping/used-toyota-chicago-il/, which Cars.com cannot turn back into filters, open the search on cars.com and paste the results-page address instead.

Can I export to Google Sheets, CSV or Excel? Yes, in one click from the dataset, or automatically on every run with the Google Drive integration.

Is scraping this data legal? This actor collects publicly available listing data. You are responsible for using it in line with applicable laws and the site's terms; see Data & lawful use above.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Cars.com Inc. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

"Cars.com" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official Cars.com product, is not authorised or certified by Cars.com Inc., and does not distribute Cars.com software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome: this actor is actively maintained.