CarGurus Scraper — Car Listings, Prices, IMV & Dealer Leads avatar

CarGurus Scraper — Car Listings, Prices, IMV & Dealer Leads

Pricing

from $2.75 / 1,000 results

Go to Apify Store
CarGurus Scraper — Car Listings, Prices, IMV & Dealer Leads

CarGurus Scraper — Car Listings, Prices, IMV & Dealer Leads

Scrape CarGurus used & new car listings: price, Instant Market Value (IMV), deal rating, mileage, make/model/year/trim, VIN, color, price drops, and dealer name & phone for lead-gen. Paste a CarGurus search URL and get every listing across all pages.

Pricing

from $2.75 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

CarGurus Scraper — Car Listings, Prices, IMV, Deal Ratings & Dealer Leads

Extract CarGurus car listings at scale — with price, Instant Market Value (IMV), deal rating, mileage, make/model/year/trim, VIN, color, price drops, and the selling dealer's name & phone. Paste a CarGurus search URL and get clean, structured JSON/CSV/Excel in seconds. Built for dealers, car shoppers, price analysts and automotive lead-gen.


What This Actor Does

The CarGurus Scraper turns any CarGurus search into a structured dataset. Give it a search URL and it returns each vehicle as a clean row with:

  • Vehicle — year, make, model, trim, VIN, exterior color, mileage, transmission, drivetrain, engine, CPO/new flags
  • Pricing — listed price, total price with fees, Instant Market Value (IMV), expected price, and savings-vs-IMV
  • Deal intelligence — CarGurus deal rating (Great / Good / Fair Price), deal score, days on market, and recent price drops
  • Dealer (lead-gen) — dealer name, phone number, location (city/region/postal code), dealer ID
  • Media — main photo and a direct listing link

Paste a search from any CarGurus region and it paginates through the full result set.


Why Use This

  • CarGurus is protected and JavaScript-rendered — a plain fetch returns nothing usable. This Actor uses a browser-grade TLS fingerprint over a residential connection to read the real page data.
  • The listing data is deeply nested (price, IMV, dealer, mileage and vehicle attributes all live in separate objects) — this Actor flattens it to one tidy row per car.
  • It surfaces the values that actually matter for car decisions and lead-gen: IMV, deal rating, price drops, days on market, and dealer phone — not just a price and a title.
  • Handles pagination, retries and dedup so you get a complete, clean dataset.

Quick Start

Run it in the console (no code)

  1. On cargurus.com, search for a car (make/model, location, filters).
  2. Copy the URL from your browser's address bar.
  3. Open the Actor, paste it into CarGurus search URLs, set Max listings, and click Start.
  4. Export as JSON, CSV, Excel, or HTML, or push to Google Sheets, a webhook or a database.

The proxy is preconfigured (US residential) since CarGurus requires it — just paste and run.

Run it via API (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"startUrls": ["https://www.cargurus.com/Cars/l-Used-Toyota-Camry-c24099"],
"maxItems": 300,
}
run = client.actor("YOUR_USERNAME/cargurus-scraper").call(run_input=run_input)
for car in client.dataset(run["defaultDatasetId"]).iterate_items():
print(car["title"], car["price"], car["dealRating"], car["dealerName"], car["dealerPhone"])

Build a dealer lead list (Python)

run = client.actor("YOUR_USERNAME/cargurus-scraper").call(run_input={
"startUrls": ["https://www.cargurus.com/Cars/l-Used-Toyota-Camry-c24099"],
"maxItems": 500,
})
dealers = {}
for c in client.dataset(run["defaultDatasetId"]).iterate_items():
if c.get("dealerPhone"):
dealers[c["dealerName"]] = {"phone": c["dealerPhone"], "location": c["dealerLocation"]}
print(len(dealers), "unique dealers")

Find the best deals (Node.js)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('YOUR_USERNAME/cargurus-scraper').call({
startUrls: ['https://www.cargurus.com/Cars/l-Used-Toyota-Camry-c24099'],
maxItems: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const greatDeals = items.filter(c => c.dealRating === 'GREAT_PRICE').sort((a,b) => a.price - b.price);
console.log(greatDeals.slice(0, 10));

Input Parameters

FieldTypeDescription
startUrlsarrayCarGurus search result URLs (e.g. https://www.cargurus.com/Cars/l-Used-Toyota-Camry-c24099). Search on cargurus.com and copy the address-bar URL.
maxItemsintegerMaximum listings to return across all URLs. Default 200.
proxyConfigurationobjectPreconfigured to US residential (required by CarGurus).

Finding a search URL: search on cargurus.com, apply any filters (location, price, mileage, year…), and copy the URL. All your filters are preserved.


Output

Each listing is one record. Example:

{
"listingId": "458597712",
"title": "2014 Volkswagen Eos",
"year": "2014", "make": "Volkswagen", "model": "Eos", "trim": "Sport SULEV",
"vin": "WVWBW8AH7EV000372",
"price": 9500, "totalPrice": 10495, "imv": 12539,
"savingsVsImv": 3039, "savingsLabel": "$3,039",
"dealRating": "GREAT_PRICE", "dealScore": 92,
"mileage": 51049, "mileageUnit": "MILES",
"exteriorColor": "Brown (Tan)",
"transmission": "Automatic", "drivetrain": "FWD",
"isCpo": false, "isNew": false,
"daysOnMarket": 13,
"priceDropOriginal": 9900, "priceDropAmount": 400,
"dealerName": "Auto Gallery Hollywood",
"dealerPhone": "+1 754-799-4977",
"dealerLocation": "Hollywood, FL",
"imageUrl": "https://static.cargurus.com/....jpeg",
"listingUrl": "https://www.cargurus.com/Cars/link/458597712",
"scrapedAt": "2026-09-24T04:10:00.000Z"
}

Field reference

FieldMeaning
title, year, make, model, trim, vinVehicle identity
price, totalPrice, imv, expectedPrice, savingsVsImvPricing + Instant Market Value
dealRating, dealScore, daysOnMarketDeal intelligence
priceDropOriginal, priceDropAmountRecent price drop
mileage, exteriorColor, transmission, drivetrain, engine, isCpo, isNewVehicle attributes
dealerName, dealerPhone, dealerLocation, dealerCity, dealerRegion, dealerPostalCode, dealerIdDealer + lead-gen
imageUrl, listingUrlMedia and link

Use Cases

1. Dealer lead generation

Every listing carries the dealer's name, phone and location. Build targeted dealer lists by make, model or region for automotive B2B outreach, vendor sales, and marketing.

2. Pricing & IMV analysis

Compare listed price to CarGurus IMV and deal rating across a model or market. Find where cars are priced below market and track how deal ratings shift.

3. Deal hunting

Filter to GREAT_PRICE / GOOD_PRICE deals, sort by savings-vs-IMV, and surface the best-value listings for a model.

4. Inventory & competitor monitoring

Dealers can monitor competing inventory, prices, days-on-market and price drops in their area to price competitively.

5. Market research & analytics

Aggregate listings by make/model/region to analyze pricing, mileage, days-on-market and price-drop trends over time (schedule daily).

6. Price-drop alerts

priceDropAmount and daysOnMarket let you flag stale inventory and fresh price cuts.


Frequently Asked Questions

Do I need a CarGurus account? No. The Actor reads publicly visible listing data — no login required.

Why is a proxy required? CarGurus is protected by anti-bot; a US residential proxy is preconfigured so it works out of the box.

How do I get a search URL? Search on cargurus.com with any filters and copy the URL. Your filters (location, price, mileage, etc.) are kept.

Does it include dealer contact details? Yes — dealer name, phone and location are included where CarGurus shows them.

What's IMV? CarGurus' Instant Market Value — an estimated fair market price, useful for spotting deals.

What export formats are supported? JSON, CSV, Excel, HTML, or via API — plus Google Sheets, webhooks, Make, and Zapier.

Can I schedule it? Yes — use Apify Schedules for daily inventory and price-drop snapshots.


This Actor collects only publicly available listing information for research, pricing and business use. You are responsible for how you use the data. Please:

  • Respect CarGurus' Terms of Service and robots directives.
  • Comply with applicable data-protection laws when handling dealer contact details.
  • Do not use the data for spam, harassment, or any unlawful purpose.
  • Use reasonable request volumes and scheduling.

This project is an independent tool and is not affiliated with, endorsed by, or sponsored by CarGurus.