Cars.com Scraper with Contacts avatar

Cars.com Scraper with Contacts

Pricing

from $0.69 / 1,000 vehicles

Go to Apify Store
Cars.com Scraper with Contacts

Cars.com Scraper with Contacts

Scrape Cars.com vehicle listings from any search or vehicle URL: price, mileage, VIN, trim, dealer, rating, location, photos, deal badges, and optional dealer phone numbers and vehicle history.

Pricing

from $0.69 / 1,000 vehicles

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

10 days ago

Last modified

Categories

Share

Cars.com Scraper with Contacts

Cars.com Scraper extracts vehicle listings from Cars.com, one of the largest new and used car marketplaces in the United States. Paste any Cars.com search URL or vehicle URL and get the price, mileage, VIN, year, make, model, trim, dealer, rating, location, photos, deal badges, and optionally the dealer's phone number and vehicle history, as clean JSON, CSV, or Excel.

Use any Cars.com search with all its filters (make, model, ZIP, radius, price, year, mileage, body style, color, seller type) and get 50+ fields per vehicle, plus dealer phone numbers and accident, owner, and title history on demand.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Apify Actor: parsebird/cars-com-scraper. Scrapes vehicle listings from Cars.com (US new and used car marketplace). Call via ApifyClient: client.actor("parsebird/cars-com-scraper").call(run_input={"startUrls": ["https://www.cars.com/shopping/results/?makes[]=toyota&models[]=toyota-rav4&maximum_distance=50&zip=60606&sort=best_match_desc"], "limit": 100, "get_contacts": true}). Inputs: startUrls (array of strings, Cars.com search result URLs /shopping/results/?... with any Cars.com filters, or vehicle URLs /vehicledetail/<id>/), limit (integer, vehicles per URL, default 100, 0 = no limit), get_contacts (boolean, adds the dealer phone number, default false), include_details (boolean, adds accident history, single owner, clean title, personal use, open recall, interior color, category and seller type, default false), proxyConfiguration (object, optional). Output: one record per vehicle with id, title, source_context {seed_id, seed_type, seed_value, page_index, position_on_page}, listing {id, url, location, distance_miles, delivery, attribution_type, sponsored_type}, vehicle {stock_type, year, make, model, trim, vin, mileage, mileage_numeric, body_style, fuel_type, drivetrain, exterior_color, certified_pre_owned, interior_color}, pricing {price, price_numeric, display_price, msrp, price_drop, monthly_payment_estimate}, seller {name, is_private_seller, zip, customer_id, rating, phone_number, phone_number_formatted, phone_type}, media {primary_image_url, image_count, images}, badges [{label, description, variant}], history {no_accidents, single_owner, clean_title, personal_use_only, open_recall}. Pricing: pay per vehicle, plus per dealer phone found. Full API spec: https://apify.com/parsebird/cars-com-scraper/api. Get your token: https://console.apify.com/settings/integrations.

What is Cars.com Scraper?

Cars.com Scraper turns Cars.com listings into a structured dataset. Set up your search on Cars.com the way you normally would, copy the URL, and paste it into the Actor. Every filter in the URL is applied: make, model, trim, ZIP code and radius, price, year, mileage, body style, fuel type, drivetrain, color, deal rating, seller type, keyword, and sort order.

It works as a Cars.com API alternative: you don't need a Cars.com account, an API key, or a browser. Turn on dealer contacts to add the dealer's phone number to each vehicle, which makes it a simple car dealer lead source.

What can Cars.com Scraper do?

  • 🔎 Any Cars.com search. Paste search result URLs with any filters and sort order. Several URLs can run in one go, each with its own limit.
  • 🚗 Single vehicles. Paste vehicle detail URLs to collect specific cars from a curated list.
  • 📞 Dealer phone numbers. Add the dealer phone number Cars.com shows for each listing.
  • 🧾 Vehicle history. Add accident history, single-owner, clean title, personal use, and open recall flags, plus interior color and seller type.
  • 💰 Pricing details. Price, MSRP for new cars, recent price drop, and Cars.com's estimated monthly payment with its term, APR, and sales tax assumptions.
  • 🏷️ Deal badges. Great Deal, Good Deal, Fair Deal, High Demand, award badges, and their explanations.
  • 🖼️ Photos. Main photo, total photo count, and the photo gallery shown in search results.
  • ♻️ No duplicates. Sponsored listings that repeat across pages or URLs are saved once.
  • 📅 Scheduling and monitoring. Run daily with Apify Schedules to track prices and new inventory.
  • 🔌 API and integrations. Use the Apify API, or send vehicles to Google Sheets, Zapier, Make, Slack, or webhooks with Apify integrations. Export as JSON, CSV, Excel, XML, or HTML.

What data can you extract from Cars.com?

FieldDescription
id / listing.urlCars.com listing ID and vehicle page
titleListing title, like "Used 2025 Toyota RAV4 XLE"
vehicle.year / make / model / trimYear, make, model, and trim
vehicle.vinVehicle identification number
vehicle.stock_type / certified_pre_ownedNew or used, and certified pre-owned status
vehicle.mileage_numericMileage
vehicle.body_style / fuel_type / drivetrain / exterior_colorBody style, fuel type, drivetrain, and exterior color
pricing.price_numeric / display_price / msrpPrice, price as shown, and MSRP (new cars)
pricing.price_dropRecent price drop, as shown on Cars.com
pricing.monthly_payment_estimateCars.com's estimated monthly payment, with down payment, term, APR, and sales tax
seller.name / rating / zip / customer_idDealer name, dealer review rating, ZIP code, and Cars.com dealer ID
seller.is_private_sellerWhether the car is sold by a private seller
seller.phone_number / phone_number_formatted / phone_typeDealer phone number (with Get dealer phone numbers on)
listing.location / distance_milesCity, state, and distance from the ZIP code in your search
listing.deliveryHome delivery offer, like "$399 delivery from Delaware, OH (263 mi)"
listing.sponsored_type / attribution_typeSponsored placement type, as Cars.com labels it
media.primary_image_url / image_count / imagesMain photo, number of photos, and photo URLs with alt text
badgesDeal and demand badges with descriptions
historyAccident, single owner, clean title, personal use, open recall, report source (with Add vehicle history and details on)
vehicle.interior_color / vehicle.category / seller.typeInterior color, vehicle category, and seller type (with details on)
source_contextWhich input URL, page, and position each vehicle came from

images holds the photos Cars.com shows in its search results (up to 6); image_count is the listing's total photo count. Fields are empty when the listing doesn't have them, for example price on "Not Priced" listings.

How to scrape Cars.com

  1. Go to Cars.com, search for cars, and set your filters (make, model, ZIP, distance, price, and so on).
  2. Copy the URL from your browser's address bar. It looks like https://www.cars.com/shopping/results/?makes[]=toyota&....
  3. Open Cars.com Scraper on Apify Store and click Try for free.
  4. Paste the URL into Cars.com URLs. Add more URLs or vehicle detail URLs if you like.
  5. Set Max vehicles per URL.
  6. Optionally turn on Get dealer phone numbers and Add vehicle history and details.
  7. Click Start. When the run finishes, download the vehicles as JSON, CSV, Excel, XML, or HTML from the Output tab, or read them with the API.

How much does it cost to scrape Cars.com?

Cars.com Scraper uses pay-per-event pricing. You pay for each vehicle saved, and for each dealer phone number found when Get dealer phone numbers is on. Compute and proxy costs are included in the event prices. Add vehicle history and details has no extra charge.

EventFreeBronzeSilverGold
vehicle-listing (per vehicle)$0.00099$0.00089$0.00079$0.00069
dealer-contact (per phone number)$0.00059$0.00049$0.00039$0.00039
Per 1,000 vehicles$0.99$0.89$0.79$0.69
Per 1,000 dealer phone numbers$0.59$0.49$0.39$0.39

For example, 1,000 vehicles cost $0.99 on the Free plan, or $1.58 with dealer phone numbers for all of them. Private-seller listings have no dealer line, so no contact charge applies to them. You can set a maximum cost per run in Apify Console, and the Actor stops when it's reached.

Input

See the Input tab for the full form.

ParameterTypeRequiredDefaultDescription
startUrlsarrayYes—Cars.com search result URLs (/shopping/results/?...) or vehicle URLs (/vehicledetail/...)
limitintegerNo100Vehicles to save per URL. 0 = no limit
get_contactsbooleanNofalseAdd the dealer phone number
include_detailsbooleanNofalseAdd vehicle history, interior color, category, and seller type
proxyConfigurationobjectNononeNot needed; see the FAQ

Toyota RAV4s within 50 miles of Chicago

{
"startUrls": [
"https://www.cars.com/shopping/results/?makes%5B%5D=toyota&models%5B%5D=toyota-rav4&maximum_distance=50&zip=60606&sort=best_match_desc"
],
"limit": 25
}

One vehicle with the dealer's phone number and history

{
"startUrls": [
"https://www.cars.com/vehicledetail/fb188ced-a597-47f1-a45d-1289eb6451e9/"
],
"get_contacts": true,
"include_details": true
}

Two cities, 50 vehicles each

{
"startUrls": [
"https://www.cars.com/shopping/results/?maximum_distance=100&zip=10001&sort=best_match_desc",
"https://www.cars.com/shopping/results/?maximum_distance=100&zip=90001&sort=best_match_desc"
],
"limit": 50
}

Output example

Each vehicle is one row in the dataset. Only two photos are shown here.

{
"id": "bf95e377-bf7a-4702-9f59-84da051d7a8d",
"title": "Used 2025 Toyota RAV4 LE",
"source_context": {
"seed_id": "a74086b40592",
"seed_type": "search_url",
"seed_value": "https://www.cars.com/shopping/results/?makes%5B%5D=toyota&models%5B%5D=toyota-rav4&maximum_distance=50&zip=60606&sort=best_match_desc",
"domain": "cars.com",
"scrape_method": "graphql",
"page_index": 1,
"position_on_page": 1
},
"listing": {
"id": "bf95e377-bf7a-4702-9f59-84da051d7a8d",
"url": "https://www.cars.com/vehicledetail/bf95e377-bf7a-4702-9f59-84da051d7a8d/",
"location": "Calumet City, IL (20 mi)",
"distance_miles": 20,
"delivery": null,
"attribution_type": "PREMIER",
"sponsored_type": "PREMIER",
"is_saved": false,
"new_vdp_eligible": true
},
"vehicle": {
"title": "Used 2025 Toyota RAV4 LE",
"stock_type": "Used",
"year": 2025,
"make": "Toyota",
"model": "RAV4",
"trim": "LE",
"vin": "2T3H1RFV4SC309025",
"mileage": "51221",
"mileage_numeric": 51221,
"body_style": "SUV",
"fuel_type": "Gasoline",
"drivetrain": "Front-wheel Drive",
"exterior_color": "black",
"certified_pre_owned": false,
"interior_color": "Black",
"category": "crossover_compact"
},
"pricing": {
"price": "27699",
"price_numeric": 27699.0,
"currency": "USD",
"display_price": "$27,699",
"msrp": null,
"msrp_numeric": null,
"price_drop": 651.0,
"price_drop_display": "$651",
"monthly_payment_estimate": {
"amount": 522.0,
"display": "$522",
"currency": "USD",
"down_payment": 0.0,
"term_months": 72,
"apr_percent": 7.0,
"sales_tax_percent": 10.5
}
},
"seller": {
"name": "Advantage Toyota of River Oaks",
"is_private_seller": false,
"zip": "60409",
"customer_id": "8eeaf4e2-f1ce-5f40-8a55-8ae6bfec8a03",
"rating": 4.6,
"type": "dealership",
"phone_number": "18558914131",
"phone_number_formatted": "(855) 891-4131",
"phone_type": "DYNAMIC"
},
"media": {
"primary_image_url": "https://platform.cstatic-images.com/large/in/v2/8eeaf4e2-f1ce-5f40-8a55-8ae6bfec8a03/07c4d8a6-f225-42a5-b5d8-5b59f94d59ad/3Fj_uJoIUXXnae3oyjwCwj1l1d0.jpg",
"image_count": 29,
"images": [
{
"url": "https://platform.cstatic-images.com/large/in/v2/8eeaf4e2-f1ce-5f40-8a55-8ae6bfec8a03/07c4d8a6-f225-42a5-b5d8-5b59f94d59ad/3Fj_uJoIUXXnae3oyjwCwj1l1d0.jpg",
"alt_text": "Midnight Black Metallic 2025 Toyota RAV4 LE"
},
{
"url": "https://platform.cstatic-images.com/large/in/v2/8eeaf4e2-f1ce-5f40-8a55-8ae6bfec8a03/07c4d8a6-f225-42a5-b5d8-5b59f94d59ad/RHXMa1H_0I0HB_CXV2kDb6tK-LU.jpg",
"alt_text": "Midnight Black Metallic 2025 Toyota RAV4 LE"
}
]
},
"badges": [
{
"label": "Good Deal",
"description": "Based on the dealership's total vehicle list price, this vehicle may present a good buying opportunity in comparison to ...",
"variant": "good-deal"
}
],
"history": {
"no_accidents": true,
"single_owner": true,
"clean_title": true,
"personal_use_only": false,
"open_recall": false,
"report_source": "autocheck"
}
}

Use the Cars.com Scraper API

Call the Actor from your own code with the Apify API client. Find your token in Apify Console → Settings → Integrations.

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("parsebird/cars-com-scraper").call(run_input={
"startUrls": ["https://www.cars.com/shopping/results/?stock_type=used&makes[]=honda&models[]=honda-civic&zip=10001&maximum_distance=100"],
"limit": 200,
"get_contacts": True,
})
for car in client.dataset(run["defaultDatasetId"]).iterate_items():
print(car["title"], car["pricing"]["display_price"], car["seller"]["name"], car["seller"].get("phone_number_formatted"))

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('parsebird/cars-com-scraper').call({
startUrls: ['https://www.cars.com/shopping/results/?makes[]=ford&models[]=ford-f_150&zip=75201&maximum_distance=75'],
limit: 100,
include_details: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((car) => console.log(car.title, car.vehicle.vin, car.history?.no_accidents));

You can also start runs over plain HTTP from the API tab, or connect the Actor to AI agents through the Apify MCP server.

Use cases

  • Dealer lead generation. Build lists of dealers carrying a make or model in a region, with their phone numbers, ZIP codes, and ratings.
  • Price monitoring. Track prices, price drops, and deal ratings for the models you buy or sell.
  • Inventory analysis. See what competitors have in stock by trim, mileage, color, and price.
  • Market research. Compare used car prices by year, mileage, region, and history.
  • Car buying. Collect every clean-title, single-owner listing that matches your search into one spreadsheet.

How it works

  1. The Actor reads the filters and sort order from each search URL.
  2. It loads the matching vehicles from Cars.com, 100 per page, until it reaches your limit or the end of the results. Cars.com counts at most "10,000+" for a search, but the Actor keeps going past 10,000 when you set no limit.
  3. Vehicle URLs are looked up one by one. A vehicle that has been sold or removed is skipped with a warning and not charged.
  4. With dealer contacts on, the Actor asks Cars.com for the dealer's phone number for each vehicle. With details on, it reads the vehicle's history and extra details.

FAQ

Do I need a Cars.com account? No. The Actor only reads public listings that anyone can see on Cars.com.

Which Cars.com URLs work? Search result pages (cars.com/shopping/results/?...) with any filters, and vehicle pages (cars.com/vehicledetail/<id>/). Other pages, like research or dealer pages, are skipped with a warning.

What kind of phone number do I get? The number Cars.com shows for the dealer on the listing, returned with phone_type. Cars.com uses call-tracking numbers (DYNAMIC) that forward to the dealer, so the same dealer can get a different number on different runs. Private sellers don't have a dealer line, so they have no phone number and no contact charge.

Why do some vehicles have no price or photos? Some dealers list cars as "Not Priced" or without photos. The Actor saves what Cars.com shows.

Why are the first results different from what I see on Cars.com? Cars.com rotates sponsored listings, so the first few positions can change between visits. The other results follow the same sort order as the website.

Do I need a proxy? No. The Actor connects directly and switches to US Apify Proxy on its own if Cars.com starts refusing requests. Proxy costs are included in the event prices.

Can I schedule runs or export to Google Sheets? Yes. Use Apify Schedules for recurring runs and integrations for Google Sheets, Zapier, Make, Slack, and webhooks.

Something is missing or broken? Open an issue on the Issues tab. Feedback and feature requests are welcome there too.

The Actor collects only public vehicle listings that Cars.com shows to every visitor. It doesn't log in or access any account data. Listings can include private sellers' first names and dealers' business phone numbers, so follow data protection and telemarketing laws, like the CCPA and the TCPA, when you store or contact them. Read more in Apify's blog post Is web scraping legal?

Other vehicle scrapers

ActorWhat it does
AutoTrader.co.uk ScraperScrape UK car listings from AutoTrader.co.uk
AutoTrader Canada ScraperScrape Canadian car listings from AutoTrader.ca
IAAI Vehicles ScraperScrape salvage and insurance auction vehicles from IAAI